@fps-games/editor 0.1.1-beta.1 → 0.1.1-beta.11

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.
Files changed (162) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/local-editor-harness.d.ts +127 -6
  5. package/dist/local-editor-harness.d.ts.map +1 -1
  6. package/dist/local-editor-harness.js +1364 -66
  7. package/dist/local-editor-harness.js.map +1 -1
  8. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.d.ts +33 -0
  9. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.d.ts.map +1 -0
  10. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js +231 -0
  11. package/node_modules/@fps-games/editor-babylon/dist/editor-sky.js.map +1 -0
  12. package/node_modules/@fps-games/editor-babylon/dist/editor-world.d.ts +3 -0
  13. package/node_modules/@fps-games/editor-babylon/dist/editor-world.d.ts.map +1 -1
  14. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js +8 -0
  15. package/node_modules/@fps-games/editor-babylon/dist/editor-world.js.map +1 -1
  16. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +5 -0
  17. package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
  18. package/node_modules/@fps-games/editor-babylon/dist/index.js +5 -0
  19. package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
  20. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.d.ts +40 -0
  21. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.d.ts.map +1 -0
  22. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js +237 -0
  23. package/node_modules/@fps-games/editor-babylon/dist/infinite-grid.js.map +1 -0
  24. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.d.ts +1 -1
  25. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.d.ts.map +1 -1
  26. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js +15 -50
  27. package/node_modules/@fps-games/editor-babylon/dist/projection-selection-controller.js.map +1 -1
  28. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +27 -0
  29. package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
  30. package/node_modules/@fps-games/editor-babylon/dist/projection.js +368 -14
  31. package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
  32. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.d.ts +25 -0
  33. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.d.ts.map +1 -0
  34. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js +176 -0
  35. package/node_modules/@fps-games/editor-babylon/dist/scene-camera-preview.js.map +1 -0
  36. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts +18 -0
  37. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.d.ts.map +1 -1
  38. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js +142 -0
  39. package/node_modules/@fps-games/editor-babylon/dist/scene-view-camera-controller.js.map +1 -1
  40. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.d.ts +2 -0
  41. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.d.ts.map +1 -1
  42. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js +6 -0
  43. package/node_modules/@fps-games/editor-babylon/dist/scene-view-input-controller.js.map +1 -1
  44. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.d.ts +20 -0
  45. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.d.ts.map +1 -0
  46. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js +187 -0
  47. package/node_modules/@fps-games/editor-babylon/dist/scene-view-measurement-controller.js.map +1 -0
  48. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.d.ts +20 -0
  49. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.d.ts.map +1 -0
  50. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js +188 -0
  51. package/node_modules/@fps-games/editor-babylon/dist/scene-view-spatial-overlay-controller.js.map +1 -0
  52. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts +22 -2
  53. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.d.ts.map +1 -1
  54. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js +469 -90
  55. package/node_modules/@fps-games/editor-babylon/dist/transform-gizmo-controller.js.map +1 -1
  56. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts +20 -0
  57. package/node_modules/@fps-games/editor-babylon/dist/types.d.ts.map +1 -1
  58. package/node_modules/@fps-games/editor-babylon/package.json +4 -4
  59. package/node_modules/@fps-games/editor-browser/dist/index.d.ts +2 -0
  60. package/node_modules/@fps-games/editor-browser/dist/index.d.ts.map +1 -1
  61. package/node_modules/@fps-games/editor-browser/dist/index.js +1 -0
  62. package/node_modules/@fps-games/editor-browser/dist/index.js.map +1 -1
  63. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts +3 -1
  64. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.d.ts.map +1 -1
  65. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js +103 -48
  66. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-context-menu.js.map +1 -1
  67. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts +17 -1
  68. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.d.ts.map +1 -1
  69. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js +327 -33
  70. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-actions.js.map +1 -1
  71. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts +3 -1
  72. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.d.ts.map +1 -1
  73. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js +143 -17
  74. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-controller.js.map +1 -1
  75. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js +0 -2
  76. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-tree.js.map +1 -1
  77. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.d.ts.map +1 -1
  78. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js +27 -20
  79. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-hierarchy-view.js.map +1 -1
  80. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts +10 -0
  81. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.d.ts.map +1 -0
  82. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js +253 -0
  83. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-icons.js.map +1 -0
  84. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts +8 -1
  85. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
  86. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +414 -111
  87. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
  88. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts +13 -3
  89. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.d.ts.map +1 -1
  90. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js +107 -14
  91. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-primitives.js.map +1 -1
  92. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts +20 -3
  93. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.d.ts.map +1 -1
  94. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js +127 -16
  95. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shared.js.map +1 -1
  96. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.d.ts.map +1 -1
  97. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js +13 -4
  98. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-shortcuts.js.map +1 -1
  99. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts +4 -0
  100. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.d.ts.map +1 -1
  101. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js +114 -9
  102. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-theme.js.map +1 -1
  103. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts +11 -0
  104. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.d.ts.map +1 -0
  105. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js +148 -0
  106. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-tooltip.js.map +1 -0
  107. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +153 -3
  108. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
  109. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts +35 -0
  110. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.d.ts.map +1 -1
  111. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js +376 -2
  112. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-workbench.js.map +1 -1
  113. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts +11 -6
  114. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.d.ts.map +1 -1
  115. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js +1617 -110
  116. package/node_modules/@fps-games/editor-browser/dist/local-editor-ui.js.map +1 -1
  117. package/node_modules/@fps-games/editor-browser/package.json +4 -1
  118. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts +4 -1
  119. package/node_modules/@fps-games/editor-core/dist/editor-session.d.ts.map +1 -1
  120. package/node_modules/@fps-games/editor-core/dist/editor-session.js +13 -3
  121. package/node_modules/@fps-games/editor-core/dist/editor-session.js.map +1 -1
  122. package/node_modules/@fps-games/editor-core/dist/index.d.ts +3 -0
  123. package/node_modules/@fps-games/editor-core/dist/index.d.ts.map +1 -1
  124. package/node_modules/@fps-games/editor-core/dist/index.js +3 -0
  125. package/node_modules/@fps-games/editor-core/dist/index.js.map +1 -1
  126. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts +6 -1
  127. package/node_modules/@fps-games/editor-core/dist/inspector.d.ts.map +1 -1
  128. package/node_modules/@fps-games/editor-core/dist/inspector.js +6 -1
  129. package/node_modules/@fps-games/editor-core/dist/inspector.js.map +1 -1
  130. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts +7 -0
  131. package/node_modules/@fps-games/editor-core/dist/scene-graph.d.ts.map +1 -1
  132. package/node_modules/@fps-games/editor-core/dist/scene-graph.js.map +1 -1
  133. package/node_modules/@fps-games/editor-core/dist/scene-view-input.d.ts +1 -1
  134. package/node_modules/@fps-games/editor-core/dist/scene-view-input.d.ts.map +1 -1
  135. package/node_modules/@fps-games/editor-core/dist/selection-strategy.d.ts +12 -0
  136. package/node_modules/@fps-games/editor-core/dist/selection-strategy.d.ts.map +1 -0
  137. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js +52 -0
  138. package/node_modules/@fps-games/editor-core/dist/selection-strategy.js.map +1 -0
  139. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.d.ts +78 -2
  140. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.d.ts.map +1 -1
  141. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js +81 -1
  142. package/node_modules/@fps-games/editor-core/dist/transform-gizmo.js.map +1 -1
  143. package/node_modules/@fps-games/editor-core/dist/transform-operations.d.ts +32 -0
  144. package/node_modules/@fps-games/editor-core/dist/transform-operations.d.ts.map +1 -0
  145. package/node_modules/@fps-games/editor-core/dist/transform-operations.js +125 -0
  146. package/node_modules/@fps-games/editor-core/dist/transform-operations.js.map +1 -0
  147. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts +94 -0
  148. package/node_modules/@fps-games/editor-core/dist/viewport-tools.d.ts.map +1 -0
  149. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js +58 -0
  150. package/node_modules/@fps-games/editor-core/dist/viewport-tools.js.map +1 -0
  151. package/node_modules/@fps-games/editor-core/package.json +2 -2
  152. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts +1 -1
  153. package/node_modules/@fps-games/editor-forge-play/dist/index.d.ts.map +1 -1
  154. package/node_modules/@fps-games/editor-forge-play/dist/index.js +5 -1
  155. package/node_modules/@fps-games/editor-forge-play/dist/index.js.map +1 -1
  156. package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
  157. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts +4 -0
  158. package/node_modules/@fps-games/editor-protocol/dist/index.d.ts.map +1 -1
  159. package/node_modules/@fps-games/editor-protocol/dist/index.js +4 -0
  160. package/node_modules/@fps-games/editor-protocol/dist/index.js.map +1 -1
  161. package/node_modules/@fps-games/editor-protocol/package.json +1 -1
  162. package/package.json +6 -6
@@ -1,4 +1,28 @@
1
1
  import { LOCAL_EDITOR_THEME_CLASS } from './local-editor-ui-theme';
2
+ import { createLocalEditorIcon } from './local-editor-ui-icons';
3
+ const LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY = 'fps-game-editor:workbench-layout:v1';
4
+ const DEFAULT_WORKBENCH_LAYOUT = {
5
+ leftWidth: 300,
6
+ rightWidth: 340,
7
+ bottomHeight: 260,
8
+ leftCollapsed: false,
9
+ rightCollapsed: false,
10
+ bottomCollapsed: true,
11
+ };
12
+ const WORKBENCH_LAYOUT_LIMITS = {
13
+ leftMin: 220,
14
+ leftMax: 420,
15
+ rightMin: 300,
16
+ rightMax: 520,
17
+ bottomMin: 160,
18
+ bottomMax: 420,
19
+ sceneMinWidth: 420,
20
+ sceneMinHeight: 220,
21
+ };
22
+ const RESIZER_THICKNESS = 7;
23
+ const WORKBENCH_COMPACT_WIDTH = 760;
24
+ const WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH = 1120;
25
+ const WORKBENCH_BOTTOM_AUTO_COLLAPSE_HEIGHT = 520;
2
26
  export const LOCAL_EDITOR_WORKBENCH_REGIONS = [
3
27
  { id: 'top-app-bar', label: 'Top App Bar' },
4
28
  { id: 'left-dock', label: 'Left Dock' },
@@ -44,6 +68,12 @@ export function createLocalEditorWorkbench(doc) {
44
68
  const leftDock = createDock(doc, 'left');
45
69
  const rightDock = createDock(doc, 'right');
46
70
  const bottomDock = createDock(doc, 'bottom');
71
+ const leftResizer = createResizer(doc, 'left');
72
+ const rightResizer = createResizer(doc, 'right');
73
+ const bottomResizer = createResizer(doc, 'bottom');
74
+ const leftToggle = createDockToggle(doc, 'left', 'hierarchy');
75
+ const rightToggle = createDockToggle(doc, 'right', 'inspector');
76
+ const bottomToggle = createDockToggle(doc, 'bottom', 'asset');
47
77
  const sceneFrame = doc.createElement('div');
48
78
  sceneFrame.dataset.editorWorkbenchRegion = 'scene-view';
49
79
  sceneFrame.style.cssText = [
@@ -73,7 +103,7 @@ export function createLocalEditorWorkbench(doc) {
73
103
  'justify-content:flex-start',
74
104
  'border-bottom:1px solid var(--fps-editor-divider)',
75
105
  'background:var(--fps-editor-chrome)',
76
- 'box-shadow:0 1px 0 rgba(255,255,255,0.03) inset',
106
+ 'box-shadow:var(--fps-editor-shadow-inset-highlight)',
77
107
  'pointer-events:none',
78
108
  ].join(';');
79
109
  sceneFrame.appendChild(sceneHeader);
@@ -81,7 +111,26 @@ export function createLocalEditorWorkbench(doc) {
81
111
  root.appendChild(leftDock);
82
112
  root.appendChild(rightDock);
83
113
  root.appendChild(bottomDock);
84
- return { root, leftDock, sceneFrame, sceneHeader, rightDock, bottomDock };
114
+ root.appendChild(leftResizer);
115
+ root.appendChild(rightResizer);
116
+ root.appendChild(bottomResizer);
117
+ root.appendChild(leftToggle);
118
+ root.appendChild(rightToggle);
119
+ root.appendChild(bottomToggle);
120
+ return {
121
+ root,
122
+ leftDock,
123
+ sceneFrame,
124
+ sceneHeader,
125
+ rightDock,
126
+ bottomDock,
127
+ leftResizer,
128
+ rightResizer,
129
+ bottomResizer,
130
+ leftToggle,
131
+ rightToggle,
132
+ bottomToggle,
133
+ };
85
134
  }
86
135
  function createDock(doc, area) {
87
136
  const dock = doc.createElement('div');
@@ -105,6 +154,59 @@ function createDock(doc, area) {
105
154
  ].join(';');
106
155
  return dock;
107
156
  }
157
+ function createResizer(doc, area) {
158
+ const resizer = doc.createElement('div');
159
+ resizer.dataset.editorWorkbenchResizer = area;
160
+ resizer.title = area === 'bottom'
161
+ ? '拖拽调整底部面板高度,双击恢复默认'
162
+ : '拖拽调整面板宽度,双击恢复默认';
163
+ resizer.style.cssText = [
164
+ 'position:absolute',
165
+ 'z-index:4',
166
+ area === 'bottom' ? `height:${RESIZER_THICKNESS}px` : `width:${RESIZER_THICKNESS}px`,
167
+ area === 'bottom' ? 'cursor:row-resize' : 'cursor:col-resize',
168
+ 'background:transparent',
169
+ 'pointer-events:auto',
170
+ 'touch-action:none',
171
+ ].join(';');
172
+ resizer.addEventListener('mouseenter', () => {
173
+ resizer.style.background = 'var(--fps-editor-accent-soft)';
174
+ });
175
+ resizer.addEventListener('mouseleave', () => {
176
+ resizer.style.background = 'transparent';
177
+ });
178
+ return resizer;
179
+ }
180
+ function createDockToggle(doc, area, icon) {
181
+ const button = doc.createElement('button');
182
+ button.type = 'button';
183
+ button.dataset.editorWorkbenchToggle = area;
184
+ button.style.cssText = [
185
+ 'position:absolute',
186
+ 'z-index:5',
187
+ 'width:26px',
188
+ 'height:26px',
189
+ 'display:inline-flex',
190
+ 'align-items:center',
191
+ 'justify-content:center',
192
+ 'padding:0',
193
+ 'border:1px solid var(--fps-editor-border)',
194
+ 'border-radius:3px',
195
+ 'background:var(--fps-editor-button)',
196
+ 'color:var(--fps-editor-text)',
197
+ 'box-shadow:var(--fps-editor-shadow-panel)',
198
+ 'cursor:pointer',
199
+ 'pointer-events:auto',
200
+ ].join(';');
201
+ button.appendChild(createLocalEditorIcon(doc, icon, { size: 14 }));
202
+ button.addEventListener('mouseenter', () => {
203
+ button.style.background = 'var(--fps-editor-button-hover)';
204
+ });
205
+ button.addEventListener('mouseleave', () => {
206
+ button.style.background = 'var(--fps-editor-button)';
207
+ });
208
+ return button;
209
+ }
108
210
  export function createWorkbenchPanelContent(doc) {
109
211
  const content = doc.createElement('div');
110
212
  content.dataset.editorPanelContent = 'true';
@@ -133,4 +235,276 @@ export function createSceneHeaderToolbar(doc) {
133
235
  ].join(';');
134
236
  return toolbar;
135
237
  }
238
+ export function normalizeLocalEditorWorkbenchLayout(input, viewport) {
239
+ const userLayout = normalizeLocalEditorWorkbenchUserLayout(input);
240
+ const compactWidth = viewport.width < WORKBENCH_COMPACT_WIDTH;
241
+ const rightAutoCollapsed = viewport.width < WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH;
242
+ const leftVisible = !userLayout.leftCollapsed && !compactWidth;
243
+ const rightVisible = !userLayout.rightCollapsed && !rightAutoCollapsed;
244
+ const rightEdge = rightVisible
245
+ ? clampNumber(userLayout.rightWidth, WORKBENCH_LAYOUT_LIMITS.rightMin, resolveRightMax(viewport, leftVisible))
246
+ : 0;
247
+ const leftEdge = leftVisible
248
+ ? clampNumber(userLayout.leftWidth, WORKBENCH_LAYOUT_LIMITS.leftMin, resolveLeftMax(viewport, rightEdge))
249
+ : 0;
250
+ const bottomMax = Math.max(WORKBENCH_LAYOUT_LIMITS.bottomMin, Math.min(WORKBENCH_LAYOUT_LIMITS.bottomMax, Math.floor(viewport.height * 0.45), viewport.height - WORKBENCH_LAYOUT_LIMITS.sceneMinHeight));
251
+ return {
252
+ leftWidth: leftVisible ? leftEdge : userLayout.leftWidth,
253
+ rightWidth: rightVisible ? rightEdge : userLayout.rightWidth,
254
+ bottomHeight: clampNumber(userLayout.bottomHeight, WORKBENCH_LAYOUT_LIMITS.bottomMin, bottomMax),
255
+ leftCollapsed: userLayout.leftCollapsed,
256
+ rightCollapsed: userLayout.rightCollapsed,
257
+ bottomCollapsed: userLayout.bottomCollapsed,
258
+ };
259
+ }
260
+ export function normalizeLocalEditorWorkbenchUserLayout(input) {
261
+ const next = {
262
+ ...DEFAULT_WORKBENCH_LAYOUT,
263
+ ...(input ?? {}),
264
+ };
265
+ return {
266
+ leftWidth: clampNumber(next.leftWidth, WORKBENCH_LAYOUT_LIMITS.leftMin, WORKBENCH_LAYOUT_LIMITS.leftMax),
267
+ rightWidth: clampNumber(next.rightWidth, WORKBENCH_LAYOUT_LIMITS.rightMin, WORKBENCH_LAYOUT_LIMITS.rightMax),
268
+ bottomHeight: clampNumber(next.bottomHeight, WORKBENCH_LAYOUT_LIMITS.bottomMin, WORKBENCH_LAYOUT_LIMITS.bottomMax),
269
+ leftCollapsed: next.leftCollapsed === true,
270
+ rightCollapsed: next.rightCollapsed === true,
271
+ bottomCollapsed: next.bottomCollapsed === true,
272
+ };
273
+ }
274
+ export function resolveLocalEditorWorkbenchVisibility(layout, viewport) {
275
+ const leftAutoHidden = viewport.width < WORKBENCH_COMPACT_WIDTH;
276
+ const rightAutoHidden = viewport.width < WORKBENCH_RIGHT_AUTO_COLLAPSE_WIDTH;
277
+ const bottomAutoHidden = viewport.height < WORKBENCH_BOTTOM_AUTO_COLLAPSE_HEIGHT;
278
+ return {
279
+ leftVisible: !layout.leftCollapsed && !leftAutoHidden,
280
+ rightVisible: !layout.rightCollapsed && !rightAutoHidden,
281
+ bottomVisible: !layout.bottomCollapsed && !bottomAutoHidden,
282
+ leftAutoHidden,
283
+ rightAutoHidden,
284
+ bottomAutoHidden,
285
+ };
286
+ }
287
+ export function createLocalEditorWorkbenchLayoutController(doc, elements) {
288
+ const win = doc.defaultView;
289
+ let layout = normalizeLocalEditorWorkbenchUserLayout(readStoredWorkbenchLayout(doc));
290
+ let projectedVisibility = resolveLocalEditorWorkbenchVisibility(layout, readViewport(doc));
291
+ let drag = null;
292
+ const persist = () => writeStoredWorkbenchLayout(doc, layout);
293
+ const apply = (save = false) => {
294
+ const viewport = readViewport(doc);
295
+ const projectedLayout = normalizeLocalEditorWorkbenchLayout(layout, viewport);
296
+ projectedVisibility = resolveLocalEditorWorkbenchVisibility(projectedLayout, viewport);
297
+ const leftEdge = projectedVisibility.leftVisible ? projectedLayout.leftWidth : 0;
298
+ const rightEdge = projectedVisibility.rightVisible ? projectedLayout.rightWidth : 0;
299
+ const bottomEdge = projectedVisibility.bottomVisible ? projectedLayout.bottomHeight : 0;
300
+ elements.root.dataset.editorLayoutLeftCollapsed = String(!projectedVisibility.leftVisible);
301
+ elements.root.dataset.editorLayoutRightCollapsed = String(!projectedVisibility.rightVisible);
302
+ elements.root.dataset.editorLayoutBottomCollapsed = String(!projectedVisibility.bottomVisible);
303
+ elements.sceneFrame.style.left = `${leftEdge}px`;
304
+ elements.sceneFrame.style.right = `${rightEdge}px`;
305
+ elements.sceneFrame.style.bottom = `${bottomEdge}px`;
306
+ elements.leftDock.style.display = projectedVisibility.leftVisible ? 'flex' : 'none';
307
+ elements.leftDock.style.width = `${projectedLayout.leftWidth}px`;
308
+ elements.leftDock.style.bottom = `${bottomEdge}px`;
309
+ elements.rightDock.style.display = projectedVisibility.rightVisible ? 'flex' : 'none';
310
+ elements.rightDock.style.width = `${projectedLayout.rightWidth}px`;
311
+ elements.bottomDock.style.display = projectedVisibility.bottomVisible ? 'flex' : 'none';
312
+ elements.bottomDock.style.right = `${rightEdge}px`;
313
+ elements.bottomDock.style.height = `${projectedLayout.bottomHeight}px`;
314
+ elements.leftResizer.style.display = projectedVisibility.leftVisible ? '' : 'none';
315
+ elements.leftResizer.style.left = `${projectedLayout.leftWidth - Math.ceil(RESIZER_THICKNESS / 2)}px`;
316
+ elements.leftResizer.style.top = '0';
317
+ elements.leftResizer.style.bottom = `${bottomEdge}px`;
318
+ elements.rightResizer.style.display = projectedVisibility.rightVisible ? '' : 'none';
319
+ elements.rightResizer.style.right = `${projectedLayout.rightWidth - Math.ceil(RESIZER_THICKNESS / 2)}px`;
320
+ elements.rightResizer.style.top = '0';
321
+ elements.rightResizer.style.bottom = '0';
322
+ elements.bottomResizer.style.display = projectedVisibility.bottomVisible ? '' : 'none';
323
+ elements.bottomResizer.style.left = '0';
324
+ elements.bottomResizer.style.right = `${rightEdge}px`;
325
+ elements.bottomResizer.style.bottom = `${projectedLayout.bottomHeight - Math.ceil(RESIZER_THICKNESS / 2)}px`;
326
+ elements.leftToggle.style.left = projectedVisibility.leftVisible ? `${Math.max(6, projectedLayout.leftWidth - 13)}px` : '6px';
327
+ elements.leftToggle.style.top = '43px';
328
+ elements.leftToggle.disabled = projectedVisibility.leftAutoHidden;
329
+ elements.leftToggle.style.opacity = projectedVisibility.leftAutoHidden ? '0.45' : '';
330
+ elements.leftToggle.style.cursor = projectedVisibility.leftAutoHidden ? 'not-allowed' : 'pointer';
331
+ elements.leftToggle.title = projectedVisibility.leftAutoHidden
332
+ ? '窗口过窄,层级面板已自动隐藏'
333
+ : projectedVisibility.leftVisible ? '隐藏层级面板' : '显示层级面板';
334
+ elements.leftToggle.setAttribute('aria-label', elements.leftToggle.title);
335
+ elements.rightToggle.style.right = projectedVisibility.rightVisible ? `${Math.max(6, projectedLayout.rightWidth - 13)}px` : '6px';
336
+ elements.rightToggle.style.top = '43px';
337
+ elements.rightToggle.disabled = projectedVisibility.rightAutoHidden;
338
+ elements.rightToggle.style.opacity = projectedVisibility.rightAutoHidden ? '0.45' : '';
339
+ elements.rightToggle.style.cursor = projectedVisibility.rightAutoHidden ? 'not-allowed' : 'pointer';
340
+ elements.rightToggle.title = projectedVisibility.rightAutoHidden
341
+ ? '窗口过窄,检查器面板已自动隐藏'
342
+ : projectedVisibility.rightVisible ? '隐藏检查器面板' : '显示检查器面板';
343
+ elements.rightToggle.setAttribute('aria-label', elements.rightToggle.title);
344
+ elements.bottomToggle.style.left = '50%';
345
+ elements.bottomToggle.style.transform = 'translateX(-50%)';
346
+ elements.bottomToggle.style.bottom = projectedVisibility.bottomVisible ? `${Math.max(6, projectedLayout.bottomHeight - 13)}px` : '6px';
347
+ elements.bottomToggle.disabled = projectedVisibility.bottomAutoHidden;
348
+ elements.bottomToggle.style.opacity = projectedVisibility.bottomAutoHidden ? '0.45' : '';
349
+ elements.bottomToggle.style.cursor = projectedVisibility.bottomAutoHidden ? 'not-allowed' : 'pointer';
350
+ elements.bottomToggle.title = projectedVisibility.bottomAutoHidden
351
+ ? '窗口高度过低,资产/历史面板已自动隐藏'
352
+ : projectedVisibility.bottomVisible ? '隐藏资产/历史面板' : '显示资产/历史面板';
353
+ elements.bottomToggle.setAttribute('aria-label', elements.bottomToggle.title);
354
+ if (save)
355
+ persist();
356
+ };
357
+ const onPointerMove = (event) => {
358
+ if (!drag)
359
+ return;
360
+ const viewport = readViewport(doc);
361
+ if (drag.area === 'left') {
362
+ layout = {
363
+ ...layout,
364
+ leftWidth: clampNumber(event.clientX, WORKBENCH_LAYOUT_LIMITS.leftMin, resolveLeftMax(viewport, projectedVisibility.rightVisible ? layout.rightWidth : 0)),
365
+ };
366
+ }
367
+ else if (drag.area === 'right') {
368
+ layout = {
369
+ ...layout,
370
+ rightWidth: clampNumber(viewport.width - event.clientX, WORKBENCH_LAYOUT_LIMITS.rightMin, resolveRightMax(viewport, projectedVisibility.leftVisible)),
371
+ };
372
+ }
373
+ else {
374
+ const bottomMax = Math.max(WORKBENCH_LAYOUT_LIMITS.bottomMin, Math.min(WORKBENCH_LAYOUT_LIMITS.bottomMax, Math.floor(viewport.height * 0.45), viewport.height - WORKBENCH_LAYOUT_LIMITS.sceneMinHeight));
375
+ layout = {
376
+ ...layout,
377
+ bottomHeight: clampNumber(viewport.height - event.clientY, WORKBENCH_LAYOUT_LIMITS.bottomMin, bottomMax),
378
+ };
379
+ }
380
+ apply();
381
+ };
382
+ const onPointerUp = () => {
383
+ if (!drag)
384
+ return;
385
+ drag = null;
386
+ doc.body.style.cursor = '';
387
+ doc.body.style.userSelect = '';
388
+ win?.removeEventListener('pointermove', onPointerMove);
389
+ win?.removeEventListener('pointerup', onPointerUp);
390
+ persist();
391
+ };
392
+ const beginDrag = (area, event) => {
393
+ if (event.button !== 0)
394
+ return;
395
+ event.preventDefault();
396
+ drag = { area };
397
+ doc.body.style.cursor = area === 'bottom' ? 'row-resize' : 'col-resize';
398
+ doc.body.style.userSelect = 'none';
399
+ win?.addEventListener('pointermove', onPointerMove);
400
+ win?.addEventListener('pointerup', onPointerUp);
401
+ };
402
+ const onLeftPointerDown = (event) => beginDrag('left', event);
403
+ const onRightPointerDown = (event) => beginDrag('right', event);
404
+ const onBottomPointerDown = (event) => beginDrag('bottom', event);
405
+ const onLeftDoubleClick = () => {
406
+ layout = { ...layout, leftWidth: DEFAULT_WORKBENCH_LAYOUT.leftWidth };
407
+ apply(true);
408
+ };
409
+ const onRightDoubleClick = () => {
410
+ layout = { ...layout, rightWidth: DEFAULT_WORKBENCH_LAYOUT.rightWidth };
411
+ apply(true);
412
+ };
413
+ const onBottomDoubleClick = () => {
414
+ layout = { ...layout, bottomHeight: DEFAULT_WORKBENCH_LAYOUT.bottomHeight };
415
+ apply(true);
416
+ };
417
+ const onLeftToggle = () => {
418
+ if (projectedVisibility.leftAutoHidden)
419
+ return;
420
+ layout = { ...layout, leftCollapsed: !layout.leftCollapsed };
421
+ apply(true);
422
+ };
423
+ const onRightToggle = () => {
424
+ if (projectedVisibility.rightAutoHidden)
425
+ return;
426
+ layout = { ...layout, rightCollapsed: !layout.rightCollapsed };
427
+ apply(true);
428
+ };
429
+ const onBottomToggle = () => {
430
+ if (projectedVisibility.bottomAutoHidden)
431
+ return;
432
+ layout = { ...layout, bottomCollapsed: !layout.bottomCollapsed };
433
+ apply(true);
434
+ };
435
+ const onResize = () => apply();
436
+ elements.leftResizer.addEventListener('pointerdown', onLeftPointerDown);
437
+ elements.rightResizer.addEventListener('pointerdown', onRightPointerDown);
438
+ elements.bottomResizer.addEventListener('pointerdown', onBottomPointerDown);
439
+ elements.leftResizer.addEventListener('dblclick', onLeftDoubleClick);
440
+ elements.rightResizer.addEventListener('dblclick', onRightDoubleClick);
441
+ elements.bottomResizer.addEventListener('dblclick', onBottomDoubleClick);
442
+ elements.leftToggle.addEventListener('click', onLeftToggle);
443
+ elements.rightToggle.addEventListener('click', onRightToggle);
444
+ elements.bottomToggle.addEventListener('click', onBottomToggle);
445
+ win?.addEventListener('resize', onResize);
446
+ apply();
447
+ return {
448
+ getLayout() {
449
+ return { ...layout };
450
+ },
451
+ reset() {
452
+ layout = { ...DEFAULT_WORKBENCH_LAYOUT };
453
+ apply(true);
454
+ },
455
+ dispose() {
456
+ onPointerUp();
457
+ elements.leftResizer.removeEventListener('pointerdown', onLeftPointerDown);
458
+ elements.rightResizer.removeEventListener('pointerdown', onRightPointerDown);
459
+ elements.bottomResizer.removeEventListener('pointerdown', onBottomPointerDown);
460
+ elements.leftResizer.removeEventListener('dblclick', onLeftDoubleClick);
461
+ elements.rightResizer.removeEventListener('dblclick', onRightDoubleClick);
462
+ elements.bottomResizer.removeEventListener('dblclick', onBottomDoubleClick);
463
+ elements.leftToggle.removeEventListener('click', onLeftToggle);
464
+ elements.rightToggle.removeEventListener('click', onRightToggle);
465
+ elements.bottomToggle.removeEventListener('click', onBottomToggle);
466
+ win?.removeEventListener('resize', onResize);
467
+ },
468
+ };
469
+ }
470
+ function readViewport(doc) {
471
+ const win = doc.defaultView;
472
+ return {
473
+ width: Math.max(320, win?.innerWidth ?? doc.documentElement.clientWidth ?? 1280),
474
+ height: Math.max(320, win?.innerHeight ?? doc.documentElement.clientHeight ?? 720),
475
+ };
476
+ }
477
+ function resolveLeftMax(viewport, rightWidth) {
478
+ return Math.max(WORKBENCH_LAYOUT_LIMITS.leftMin, Math.min(WORKBENCH_LAYOUT_LIMITS.leftMax, viewport.width - rightWidth - WORKBENCH_LAYOUT_LIMITS.sceneMinWidth));
479
+ }
480
+ function resolveRightMax(viewport, leftVisible) {
481
+ const leftWidth = leftVisible ? WORKBENCH_LAYOUT_LIMITS.leftMin : 0;
482
+ return Math.max(WORKBENCH_LAYOUT_LIMITS.rightMin, Math.min(WORKBENCH_LAYOUT_LIMITS.rightMax, viewport.width - leftWidth - WORKBENCH_LAYOUT_LIMITS.sceneMinWidth));
483
+ }
484
+ function clampNumber(value, min, max) {
485
+ const numeric = typeof value === 'number' && Number.isFinite(value) ? value : min;
486
+ return Math.min(Math.max(numeric, min), max);
487
+ }
488
+ function readStoredWorkbenchLayout(doc) {
489
+ try {
490
+ const raw = doc.defaultView?.localStorage?.getItem(LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY);
491
+ if (!raw)
492
+ return null;
493
+ const parsed = JSON.parse(raw);
494
+ if (!parsed || typeof parsed !== 'object')
495
+ return null;
496
+ return parsed;
497
+ }
498
+ catch {
499
+ return null;
500
+ }
501
+ }
502
+ function writeStoredWorkbenchLayout(doc, layout) {
503
+ try {
504
+ doc.defaultView?.localStorage?.setItem(LOCAL_EDITOR_WORKBENCH_LAYOUT_STORAGE_KEY, JSON.stringify(layout));
505
+ }
506
+ catch {
507
+ // Browsers can disable localStorage; the editor should still stay usable.
508
+ }
509
+ }
136
510
  //# sourceMappingURL=local-editor-ui-workbench.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui-workbench.js","sourceRoot":"","sources":["../src/local-editor-ui-workbench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-editor-ui-workbench.js","sourceRoot":"","sources":["../src/local-editor-ui-workbench.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
- export { createLocalEditorHierarchyBlankMenu, createLocalEditorHierarchyDeleteShortcutAction, createLocalEditorHierarchyNodeMenu, } from './local-editor-ui-hierarchy-actions';
1
+ export { createLocalEditorHierarchyBlankMenu, createLocalEditorHierarchyCopyShortcutAction, createLocalEditorHierarchyDeleteShortcutAction, createLocalEditorHierarchyDuplicateShortcutAction, createLocalEditorHierarchyNodeMenu, createLocalEditorHierarchyPasteShortcutAction, createLocalEditorHierarchySelectAllShortcutAction, } from './local-editor-ui-hierarchy-actions';
2
2
  export { createLocalEditorHierarchyController, } from './local-editor-ui-hierarchy-controller';
3
3
  export { canLocalEditorHierarchyNodeHaveChildren, createLocalEditorHierarchyTreeModel, isLocalEditorHierarchyNodeMovable, } from './local-editor-ui-hierarchy-tree';
4
4
  export { createLocalEditorContextMenuController, type LocalEditorContextMenuController, type LocalEditorContextMenuOpenInput, } from './local-editor-ui-context-menu';
5
+ export { createLocalEditorTooltipController, type LocalEditorTooltipController, } from './local-editor-ui-tooltip';
5
6
  export type { LocalEditorHierarchyAction, LocalEditorHierarchyActionInput, LocalEditorHierarchyMenuDefinition, } from './local-editor-ui-hierarchy-actions';
6
7
  export type { LocalEditorHierarchyController, LocalEditorHierarchyControllerOptions, } from './local-editor-ui-hierarchy-controller';
7
8
  export type { LocalEditorHierarchyDropPlacement, LocalEditorHierarchyDropResolution, LocalEditorHierarchyTreeModel, LocalEditorHierarchyTreeNode, LocalEditorHierarchyTreeOptions, } from './local-editor-ui-hierarchy-tree';
8
- import type { LocalEditorBrowserUi, LocalEditorBrowserUiOptions } from './local-editor-ui-types';
9
- export { applyLocalEditorBrowserInspectorControlBinding, createLocalEditorBrowserInspectorControlRegistry, formatLocalEditorBrowserInspectorValue, resolveLocalEditorBrowserInspectorControlRegistration, } from './local-editor-ui-panels';
10
- export type { LocalEditorBrowserInspectorRenderOptions } from './local-editor-ui-panels';
11
- export type { LocalEditorBottomDockTab, LocalEditorBrowserAuthoringSource, LocalEditorBrowserHierarchySelectionInput, LocalEditorBrowserHistoryEntry, LocalEditorBrowserHistoryView, LocalEditorBrowserInspectorCommitMode, LocalEditorBrowserInspectorConflictStrategy, LocalEditorBrowserInspectorControlBindingOptions, LocalEditorBrowserInspectorControlKind, LocalEditorBrowserInspectorControlRegistration, LocalEditorBrowserInspectorControlRenderContext, LocalEditorBrowserInspectorControlRenderer, LocalEditorBrowserInspectorEditSource, LocalEditorBrowserInspectorObject, LocalEditorBrowserInspectorOptions, LocalEditorBrowserInspectorPersistenceMode, LocalEditorBrowserInspectorProperty, LocalEditorBrowserInspectorSection, LocalEditorBrowserSceneGraphCreateGroupIntent, LocalEditorBrowserSceneGraphDeleteIntent, LocalEditorBrowserSceneGraphDropIntent, LocalEditorBrowserSceneGraphDropPlacement, LocalEditorBrowserSceneGraphGroupSelectionIntent, LocalEditorBrowserSceneGraphMoveIntent, LocalEditorBrowserSceneGraphMovePlacement, LocalEditorBrowserSceneGraphRenameIntent, LocalEditorBrowserSerializedMultiObject, LocalEditorBrowserSerializedObject, LocalEditorBrowserSerializedProperty, LocalEditorBrowserSerializedValueType, LocalEditorBrowserTransformConstraint, LocalEditorBrowserTransformSpace, LocalEditorBrowserTransformTool, LocalEditorBrowserTransformToolState, LocalEditorBrowserUi, LocalEditorBrowserUiAssetItem, LocalEditorBrowserUiCallbacks, LocalEditorBrowserUiHierarchyItem, LocalEditorBrowserUiOptions, LocalEditorBrowserUiPropertyInput, LocalEditorBrowserUiState, LocalEditorContextAction, LocalEditorContextMenuItem, } from './local-editor-ui-types';
12
- export declare function createLocalEditorBrowserUi<TDocument = unknown>(options?: LocalEditorBrowserUiOptions<TDocument>): LocalEditorBrowserUi<TDocument>;
9
+ import type { LocalEditorBrowserUi, LocalEditorBrowserUiOptions, LocalEditorThemeController } from './local-editor-ui-types';
10
+ export { applyLocalEditorBrowserInspectorControlBinding, createLocalEditorBrowserInspectorControlRegistry, formatLocalEditorBrowserInspectorValue, resolveLocalEditorBrowserInspectorSectionStatus, resolveLocalEditorBrowserInspectorControlRegistration, } from './local-editor-ui-panels';
11
+ export type { LocalEditorBrowserInspectorAccessMode, LocalEditorBrowserInspectorRenderOptions, LocalEditorBrowserInspectorSectionStatus, } from './local-editor-ui-panels';
12
+ export type { LocalEditorThemeName, } from './local-editor-ui-theme';
13
+ export { DEFAULT_LOCAL_EDITOR_THEME, LOCAL_EDITOR_THEME_CLASS, applyLocalEditorTheme, normalizeLocalEditorThemeName, } from './local-editor-ui-theme';
14
+ export { LOCAL_EDITOR_ICON_NAMES, createLocalEditorIcon, isLocalEditorIconName, resolveLocalEditorIconName, } from './local-editor-ui-icons';
15
+ export type { LocalEditorIconName, LocalEditorIconOptions, } from './local-editor-ui-icons';
16
+ export type { LocalEditorBottomDockTab, LocalEditorBrowserAuthoringSource, LocalEditorBrowserCoordinateAxis, LocalEditorBrowserCoordinateAxesState, LocalEditorBrowserCoordinateAxisId, LocalEditorBrowserHierarchySelectionInput, LocalEditorBrowserHistoryEntry, LocalEditorBrowserHistoryView, LocalEditorBrowserHierarchyContextActionContext, LocalEditorBrowserHierarchyContextActionPlacement, LocalEditorBrowserHierarchyContextActionRegistration, LocalEditorBrowserInspectorCommitMode, LocalEditorBrowserInspectorConflictStrategy, LocalEditorBrowserInspectorControlBindingOptions, LocalEditorBrowserInspectorControlKind, LocalEditorBrowserInspectorControlRegistration, LocalEditorBrowserInspectorControlRenderContext, LocalEditorBrowserInspectorControlRenderer, LocalEditorBrowserInspectorEffectMode, LocalEditorBrowserInspectorEditSource, LocalEditorBrowserInspectorObject, LocalEditorBrowserInspectorOptions, LocalEditorBrowserInspectorPersistenceMode, LocalEditorBrowserInspectorProperty, LocalEditorBrowserInspectorSection, LocalEditorBrowserPlacementMode, LocalEditorBrowserPrimitiveShape, LocalEditorBrowserSceneGraphCreateGroupIntent, LocalEditorBrowserSceneGraphCreatePrimitiveIntent, LocalEditorBrowserSceneGraphDeleteIntent, LocalEditorBrowserSceneGraphDuplicateIntent, LocalEditorBrowserSceneGraphDropIntent, LocalEditorBrowserSceneGraphDropPlacement, LocalEditorBrowserSceneGraphGroupSelectionIntent, LocalEditorBrowserSceneGraphMoveIntent, LocalEditorBrowserSceneGraphMovePlacement, LocalEditorBrowserSceneGraphRenameIntent, LocalEditorBrowserSerializedMultiObject, LocalEditorBrowserSerializedObject, LocalEditorBrowserSerializedProperty, LocalEditorBrowserSerializedValueType, LocalEditorBrowserTransformConstraint, LocalEditorBrowserTransformAction, LocalEditorBrowserTransformOperationSettings, LocalEditorBrowserTransformOperationState, LocalEditorBrowserTransformSnapStepKind, LocalEditorBrowserTransformSpace, LocalEditorBrowserTransformTool, LocalEditorBrowserTransformToolState, LocalEditorBrowserViewportSpatialOverlayState, LocalEditorBrowserUi, LocalEditorBrowserUiAssetItem, LocalEditorBrowserUiCallbacks, LocalEditorBrowserUiHierarchyItem, LocalEditorBrowserUiOptions, LocalEditorBrowserUiPropertyInput, LocalEditorBrowserUiState, LocalEditorThemeController, LocalEditorContextAction, LocalEditorContextMenuItem, } from './local-editor-ui-types';
17
+ export declare function createLocalEditorBrowserUi<TDocument = unknown>(options?: LocalEditorBrowserUiOptions<TDocument>): LocalEditorBrowserUi<TDocument> & LocalEditorThemeController;
13
18
  //# sourceMappingURL=local-editor-ui.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-editor-ui.d.ts","sourceRoot":"","sources":["../src/local-editor-ui.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mCAAmC,EACnC,8CAA8C,EAC9C,kCAAkC,GACnC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,oCAAoC,GACrC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,uCAAuC,EACvC,mCAAmC,EACnC,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sCAAsC,EACtC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,GACrC,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,0BAA0B,EAC1B,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,iCAAiC,EACjC,kCAAkC,EAClC,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,kCAAkC,CAAC;AAY1C,OAAO,KAAK,EAUV,oBAAoB,EACpB,2BAA2B,EAG5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,8CAA8C,EAC9C,gDAAgD,EAChD,sCAAsC,EACtC,qDAAqD,GACtD,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,wCAAwC,EAAE,MAAM,0BAA0B,CAAC;AAEzF,YAAY,EACV,wBAAwB,EACxB,iCAAiC,EACjC,yCAAyC,EACzC,8BAA8B,EAC9B,6BAA6B,EAC7B,qCAAqC,EACrC,2CAA2C,EAC3C,gDAAgD,EAChD,sCAAsC,EACtC,8CAA8C,EAC9C,+CAA+C,EAC/C,0CAA0C,EAC1C,qCAAqC,EACrC,iCAAiC,EACjC,kCAAkC,EAClC,0CAA0C,EAC1C,mCAAmC,EACnC,kCAAkC,EAClC,6CAA6C,EAC7C,wCAAwC,EACxC,sCAAsC,EACtC,yCAAyC,EACzC,gDAAgD,EAChD,sCAAsC,EACtC,yCAAyC,EACzC,wCAAwC,EACxC,uCAAuC,EACvC,kCAAkC,EAClC,oCAAoC,EACpC,qCAAqC,EACrC,qCAAqC,EACrC,gCAAgC,EAChC,+BAA+B,EAC/B,oCAAoC,EACpC,oBAAoB,EACpB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,2BAA2B,EAC3B,iCAAiC,EACjC,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAkFjC,wBAAgB,0BAA0B,CAAC,SAAS,GAAG,OAAO,EAC5D,OAAO,GAAE,2BAA2B,CAAC,SAAS,CAAM,GACnD,oBAAoB,CAAC,SAAS,CAAC,CAogBjC"}
1
+ {"version":3,"file":"local-editor-ui.d.ts","sourceRoot":"","sources":["../src/local-editor-ui.ts"],"names":[],"mappings":"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"}