Maps tab with sharing, walls/doors and strict line of sight
Maps page (list, upload, edit, share, copy), wall/room/door tools in the map editor, server-side visibility polygon: the image is cut per player and other tokens are filtered, DM can view as a player, open doors and switch sight on/off. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HJhXuLD2Z6hv3Wqeq9UL9K
This commit is contained in:
@@ -441,3 +441,22 @@ label.chk { display: flex; align-items: center; gap: .45rem; }
|
||||
label.chk input[type=checkbox] { width: auto; margin: 0; }
|
||||
.mapeditor label.small:not(.chk) { display: grid; gap: .2rem; }
|
||||
.editactions { position: sticky; bottom: 0; background: var(--panel); padding: .5rem 0; }
|
||||
.mapbox.drawing { cursor: crosshair; }
|
||||
.mapworld { background: #000; }
|
||||
.wl { stroke: #ff4d4d; stroke-width: 3; stroke-linecap: round; }
|
||||
.wl.door { stroke: #ff9f1a; stroke-width: 5; }
|
||||
.wl.door.open { stroke: #4cd964; stroke-dasharray: 6 6; stroke-width: 4; }
|
||||
.wl.draft { stroke: #fff; stroke-dasharray: 5 5; stroke-width: 2; }
|
||||
.wldot { fill: #fff; }
|
||||
.toolrow { display: flex; flex-wrap: wrap; gap: .3rem; }
|
||||
.mapeditor input[type=number] { width: 100%; }
|
||||
.mapempty { position: absolute; inset: 0; display: grid; place-items: center; color: #ddd; z-index: 2; pointer-events: none; text-align: center; padding: 1rem; }
|
||||
.mapcards { list-style: none; padding: 0; margin: 1rem 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(22rem, 1fr)); gap: 1rem; }
|
||||
.mapcard { display: grid; grid-template-columns: 8rem 1fr; gap: .8rem; padding: .8rem; align-items: start; }
|
||||
.mapcard img { width: 8rem; height: 6rem; object-fit: cover; border-radius: 6px; background: #111; }
|
||||
.mapcardbody { display: grid; gap: .4rem; min-width: 0; }
|
||||
.mapcardbody .row { flex-wrap: wrap; }
|
||||
.maptools { flex-wrap: wrap; justify-content: flex-end; max-width: 60%; }
|
||||
.maptools button, .maptools select { padding: .2rem .55rem; font-size: .8rem; min-height: 0; white-space: nowrap; width: auto; }
|
||||
.maptray { max-width: 38%; }
|
||||
.traytoken { font-size: .85rem; }
|
||||
|
||||
Reference in New Issue
Block a user