Merge branch 'users' into main

Players library, circular NPC tokens, disposition types; keep main overlay/release fixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-08-04 08:03:22 +08:00
69 changed files with 5943 additions and 327 deletions
@@ -287,6 +287,34 @@
cursor: grabbing;
}
.npcTile {
display: grid;
justify-content: center;
overflow: hidden;
padding: 7px 4px;
border: 1px solid var(--stroke, #2a2f3a);
border-radius: 8px;
background: rgb(0 0 0 / 22%);
cursor: grab;
}
.sceneNpcToken {
position: absolute;
z-index: 2;
overflow: visible;
transform: translate(-50%, -50%);
cursor: move;
touch-action: none;
}
.sceneNpcToken > * {
pointer-events: none;
}
.sceneNpcToken .handle {
pointer-events: auto;
}
.tokenThumb {
aspect-ratio: 1;
border-radius: 6px;
@@ -452,3 +480,49 @@
.toolbar button {
font-size: 12px;
}
.ctxMenuBackdrop {
position: fixed;
inset: 0;
z-index: 40;
border: none;
padding: 0;
margin: 0;
background: transparent;
cursor: default;
}
.ctxMenu {
position: fixed;
z-index: 41;
min-width: 200px;
padding: 6px;
border-radius: 8px;
border: 1px solid var(--stroke, #2a2f3a);
background: var(--color-surface-menu, #1a1e28);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
display: grid;
gap: 2px;
}
.ctxItem,
.ctxItemDanger {
text-align: left;
padding: 8px 10px;
border-radius: 6px;
border: none;
background: transparent;
color: var(--text1, #e8eaef);
font-size: 13px;
cursor: pointer;
width: 100%;
}
.ctxItemDanger {
color: var(--color-danger, #e57373);
}
.ctxItem:hover,
.ctxItemDanger:hover {
background: rgba(255, 255, 255, 0.06);
}