anentrypoint-design 0.0.183 → 0.0.185
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/247420.css +148 -0
- package/dist/247420.js +8 -8
- package/package.json +1 -1
package/dist/247420.css
CHANGED
|
@@ -4925,6 +4925,21 @@
|
|
|
4925
4925
|
display: flex; gap: 4px; width: 100%; min-width: 0;
|
|
4926
4926
|
}
|
|
4927
4927
|
.ds-247420 .ds-ep-vec3 > * { flex: 1 1 0; min-width: 0; }
|
|
4928
|
+
/* Each axis cell (axis letter + scrub input) must show its full 3-decimal value
|
|
4929
|
+
without clipping. The axis letter is a fixed micro-glyph; the input flexes to
|
|
4930
|
+
fill the rest with tight padding and centered text so 0.000 / -0.0 / 1.000 are
|
|
4931
|
+
always legible even in the narrow 3-up layout. */
|
|
4932
|
+
.ds-247420 .ds-ep-vec3 > * {
|
|
4933
|
+
display: flex; align-items: center; gap: 2px;
|
|
4934
|
+
}
|
|
4935
|
+
.ds-247420 .ds-ep-vec3 .ds-ep-propfield-hint {
|
|
4936
|
+
flex: 0 0 auto; width: 9px; text-align: center;
|
|
4937
|
+
grid-column: auto; font-size: 0.8em; opacity: 0.7;
|
|
4938
|
+
}
|
|
4939
|
+
.ds-247420 .ds-ep-vec3 .ds-input-bare {
|
|
4940
|
+
flex: 1 1 auto; min-width: 0; width: auto;
|
|
4941
|
+
padding: 2px 4px; text-align: center; text-overflow: clip;
|
|
4942
|
+
}
|
|
4928
4943
|
/* Dense numeric inputs in the inspector — compact, tight radius, mono. */
|
|
4929
4944
|
.ds-247420 .ds-ep-propfield-value input,
|
|
4930
4945
|
.ds-247420 .ds-ep-propfield-value .ds-input-bare {
|
|
@@ -5755,6 +5770,139 @@
|
|
|
5755
5770
|
.ds-247420 .ov-lightbox-video { max-width: 92vw; max-height: 82vh; border-radius: var(--r-1); background: #000; /* true black media letterbox, intentional */ }
|
|
5756
5771
|
.ds-247420 .ov-lightbox-label { color: var(--on-color); font-size: var(--fs-0, 12px); opacity: .85; }
|
|
5757
5772
|
|
|
5773
|
+
/* ---------------------------------------------------------------
|
|
5774
|
+
Editor-primitive scrollbars — thin, dark, themed so docked panels
|
|
5775
|
+
don't show a fat light OS scrollbar over the dark engine chrome.
|
|
5776
|
+
--------------------------------------------------------------- */
|
|
5777
|
+
.ds-247420 .ds-ep-panel,
|
|
5778
|
+
.ds-247420 .ds-ep-panel-body,
|
|
5779
|
+
.ds-247420 .ds-ep-tree,
|
|
5780
|
+
.ds-247420 .ds-ep-eventlog,
|
|
5781
|
+
.ds-247420 .ds-ep-drawer { scrollbar-width: thin; scrollbar-color: var(--rule) transparent; }
|
|
5782
|
+
.ds-247420 .ds-ep-panel ::-webkit-scrollbar,
|
|
5783
|
+
.ds-247420 .ds-ep-panel-body::-webkit-scrollbar,
|
|
5784
|
+
.ds-247420 .ds-ep-tree::-webkit-scrollbar,
|
|
5785
|
+
.ds-247420 .ds-ep-eventlog::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
5786
|
+
.ds-247420 .ds-ep-panel ::-webkit-scrollbar-track,
|
|
5787
|
+
.ds-247420 .ds-ep-panel-body::-webkit-scrollbar-track,
|
|
5788
|
+
.ds-247420 .ds-ep-tree::-webkit-scrollbar-track,
|
|
5789
|
+
.ds-247420 .ds-ep-eventlog::-webkit-scrollbar-track { background: transparent; }
|
|
5790
|
+
.ds-247420 .ds-ep-panel ::-webkit-scrollbar-thumb,
|
|
5791
|
+
.ds-247420 .ds-ep-panel-body::-webkit-scrollbar-thumb,
|
|
5792
|
+
.ds-247420 .ds-ep-tree::-webkit-scrollbar-thumb,
|
|
5793
|
+
.ds-247420 .ds-ep-eventlog::-webkit-scrollbar-thumb {
|
|
5794
|
+
background: var(--rule); border-radius: var(--r-pill, 999px);
|
|
5795
|
+
border: 2px solid transparent; background-clip: padding-box;
|
|
5796
|
+
}
|
|
5797
|
+
.ds-247420 .ds-ep-panel ::-webkit-scrollbar-thumb:hover,
|
|
5798
|
+
.ds-247420 .ds-ep-panel-body::-webkit-scrollbar-thumb:hover {
|
|
5799
|
+
background: var(--panel-text-3, var(--rule)); background-clip: padding-box;
|
|
5800
|
+
}
|
|
5801
|
+
|
|
5802
|
+
/* ---------------------------------------------------------------
|
|
5803
|
+
Dense app-prop inputs — color swatch + checkbox sized to match the
|
|
5804
|
+
engine-editor density (raw browser controls otherwise read as jank).
|
|
5805
|
+
--------------------------------------------------------------- */
|
|
5806
|
+
/* Specificity bump (.ds-ep-propfield-value prefix) so the sized swatch/check win
|
|
5807
|
+
over the generic `.ds-ep-propfield-value input { width:100% }` rule — otherwise
|
|
5808
|
+
a color/checkbox app-prop stretches to the full field width and reads as jank. */
|
|
5809
|
+
.ds-247420 .ds-ep-propfield-value input.ds-input-color { width: 28px; flex: 0 0 auto; }
|
|
5810
|
+
.ds-247420 .ds-ep-propfield-value input.ds-input-check { width: 16px; flex: 0 0 auto; }
|
|
5811
|
+
.ds-247420 .ds-input-color {
|
|
5812
|
+
appearance: none; -webkit-appearance: none;
|
|
5813
|
+
width: 28px; height: 22px; padding: 0;
|
|
5814
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 4px);
|
|
5815
|
+
background: var(--panel-2); cursor: pointer; flex-shrink: 0;
|
|
5816
|
+
}
|
|
5817
|
+
.ds-247420 .ds-input-color::-webkit-color-swatch-wrapper { padding: 2px; }
|
|
5818
|
+
.ds-247420 .ds-input-color::-webkit-color-swatch { border: none; border-radius: 2px; }
|
|
5819
|
+
.ds-247420 .ds-input-color:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
5820
|
+
.ds-247420 .ds-input-check {
|
|
5821
|
+
appearance: none; -webkit-appearance: none;
|
|
5822
|
+
width: 16px; height: 16px; flex-shrink: 0;
|
|
5823
|
+
border: 1px solid var(--rule); border-radius: var(--r-1, 4px);
|
|
5824
|
+
background: var(--panel-2); cursor: pointer; position: relative;
|
|
5825
|
+
}
|
|
5826
|
+
.ds-247420 .ds-input-check:checked { background: var(--accent); border-color: var(--accent); }
|
|
5827
|
+
.ds-247420 .ds-input-check:checked::after {
|
|
5828
|
+
content: ''; position: absolute; left: 4px; top: 1px;
|
|
5829
|
+
width: 4px; height: 8px; border: solid var(--accent-fg, #fff);
|
|
5830
|
+
border-width: 0 2px 2px 0; transform: rotate(45deg);
|
|
5831
|
+
}
|
|
5832
|
+
.ds-247420 .ds-input-check:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
5833
|
+
|
|
5834
|
+
/* ---------------------------------------------------------------
|
|
5835
|
+
Tree drag-reparent affordance — clear drop target + dragging row.
|
|
5836
|
+
useDropTarget marks the active row with [data-drop-target-active]; the
|
|
5837
|
+
dragged source carries [data-dragging]. Both surfaced as visible state so a
|
|
5838
|
+
reparent drag shows exactly where it will land.
|
|
5839
|
+
--------------------------------------------------------------- */
|
|
5840
|
+
.ds-247420 .ds-ep-tree-item[data-drop-target-active] > .ds-ep-tree-row,
|
|
5841
|
+
.ds-247420 .ds-ep-tree-row[data-drop-target-active],
|
|
5842
|
+
.ds-247420 .ds-ep-tree-row.drag-over {
|
|
5843
|
+
background: color-mix(in oklab, var(--accent) 22%, transparent);
|
|
5844
|
+
box-shadow: inset 0 0 0 1px var(--accent);
|
|
5845
|
+
}
|
|
5846
|
+
.ds-247420 .ds-ep-panel-body[data-drop-target-active] {
|
|
5847
|
+
box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--accent) 50%, transparent);
|
|
5848
|
+
}
|
|
5849
|
+
.ds-247420 .ds-ep-tree-item[data-dragging] > .ds-ep-tree-row,
|
|
5850
|
+
.ds-247420 .ds-ep-tree-item.dragging > .ds-ep-tree-row { opacity: 0.5; }
|
|
5851
|
+
|
|
5852
|
+
/* ---------------------------------------------------------------
|
|
5853
|
+
Floating editor docks — the non-occluding idiom. The game/3D
|
|
5854
|
+
viewport fills the whole editor stage; the hierarchy + inspector
|
|
5855
|
+
ride over it as translucent, backdrop-blurred, collapsible cards
|
|
5856
|
+
so the play area stays visible (and clickable) behind them. The
|
|
5857
|
+
dock layer is pointer-events:none; only the dock cards capture
|
|
5858
|
+
input, so the exposed viewport gutter clicks through to the canvas.
|
|
5859
|
+
--------------------------------------------------------------- */
|
|
5860
|
+
.ds-247420 .ds-ep-stage { position: relative; flex: 1; min-height: 0; overflow: hidden; }
|
|
5861
|
+
.ds-247420 .ds-ep-dock-layer { display: block; }
|
|
5862
|
+
.ds-247420 .ds-ep-dock {
|
|
5863
|
+
position: absolute; top: 8px; bottom: 8px;
|
|
5864
|
+
display: flex; flex-direction: column;
|
|
5865
|
+
width: 280px; max-width: calc(50% - 12px);
|
|
5866
|
+
pointer-events: all;
|
|
5867
|
+
background: color-mix(in oklab, var(--panel-1) 82%, transparent);
|
|
5868
|
+
-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
|
|
5869
|
+
border: 1px solid var(--rule);
|
|
5870
|
+
border-radius: var(--r-2, 8px);
|
|
5871
|
+
box-shadow: 0 6px 24px color-mix(in oklab, #000 28%, transparent);
|
|
5872
|
+
color: var(--panel-text);
|
|
5873
|
+
overflow: hidden;
|
|
5874
|
+
}
|
|
5875
|
+
.ds-247420 .ds-ep-dock-left { left: 8px; }
|
|
5876
|
+
.ds-247420 .ds-ep-dock-right { right: 8px; }
|
|
5877
|
+
/* Collapsed: shrink to just the header strip, freeing the viewport. */
|
|
5878
|
+
.ds-247420 .ds-ep-dock.collapsed { bottom: auto; height: auto; }
|
|
5879
|
+
.ds-247420 .ds-ep-dock-head {
|
|
5880
|
+
display: flex; align-items: center; gap: 6px;
|
|
5881
|
+
flex: 0 0 auto; padding: 4px 6px 4px 10px;
|
|
5882
|
+
border-bottom: 1px solid var(--rule);
|
|
5883
|
+
background: color-mix(in oklab, var(--panel-1) 60%, transparent);
|
|
5884
|
+
}
|
|
5885
|
+
.ds-247420 .ds-ep-dock.collapsed .ds-ep-dock-head { border-bottom: 0; }
|
|
5886
|
+
.ds-247420 .ds-ep-dock-title {
|
|
5887
|
+
flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
5888
|
+
font: 8px/1 var(--ff-mono, monospace); text-transform: uppercase; letter-spacing: 0.12em;
|
|
5889
|
+
color: var(--panel-text-3);
|
|
5890
|
+
}
|
|
5891
|
+
.ds-247420 .ds-ep-dock-body { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; background: transparent; }
|
|
5892
|
+
.ds-247420 .ds-ep-dock-body.hidden { display: none; }
|
|
5893
|
+
/* The right dock's body reuses .ds-ep-panel but must stay transparent so the
|
|
5894
|
+
dock's own translucency/blur shows the game view through. */
|
|
5895
|
+
.ds-247420 .ds-ep-dock-body.ds-ep-panel { background: transparent; }
|
|
5896
|
+
|
|
5897
|
+
/* Mobile: docks become full-width bottom-anchored sheets so they don't crowd
|
|
5898
|
+
the narrow viewport side-by-side; the viewport still fills the stage behind. */
|
|
5899
|
+
@media (max-width: 760px) {
|
|
5900
|
+
.ds-247420 .ds-ep-dock { width: auto; max-width: none; left: 6px; right: 6px; top: auto; bottom: 6px; max-height: 46vh; }
|
|
5901
|
+
.ds-247420 .ds-ep-dock-left { bottom: calc(46vh + 12px); max-height: 40vh; }
|
|
5902
|
+
.ds-247420 .ds-ep-dock.collapsed { bottom: auto; }
|
|
5903
|
+
.ds-247420 .ds-ep-dock-left.collapsed { top: 6px; bottom: auto; }
|
|
5904
|
+
}
|
|
5905
|
+
|
|
5758
5906
|
/* community-app.css */
|
|
5759
5907
|
/* community-app.css — layout glue for mountCommunityApp (the full chat/community
|
|
5760
5908
|
app GUI). Reuses the canonical app/body/main classes from app-shell.css and
|