@volter/sdk 0.0.0-stage → 0.5.204
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/LICENSE +202 -0
- package/NOTICE +20 -0
- package/README.md +38 -3
- package/package.json +510 -4
- package/src/account.ts +210 -0
- package/src/chrome.ts +88 -0
- package/src/client.ts +1646 -0
- package/src/commands.ts +66 -0
- package/src/contributions.ts +619 -0
- package/src/css-numeric-style.ts +97 -0
- package/src/document-probe.ts +282 -0
- package/src/editor-view.ts +225 -0
- package/src/extension.ts +40 -0
- package/src/generations.ts +178 -0
- package/src/host.ts +1157 -0
- package/src/http-transport.browser.ts +14 -0
- package/src/http-transport.node.ts +19 -0
- package/src/index.ts +131 -0
- package/src/kit/CapabilityCoverageSection.tsx +185 -0
- package/src/kit/account-client.ts +333 -0
- package/src/kit/action-registry.ts +317 -0
- package/src/kit/active-product.ts +76 -0
- package/src/kit/active-project.ts +155 -0
- package/src/kit/adapter-editor-config.ts +25 -0
- package/src/kit/adapter-module.ts +7 -0
- package/src/kit/adapter-observation.ts +49 -0
- package/src/kit/animation/animation-clock.ts +479 -0
- package/src/kit/animation/stage-transport.ts +385 -0
- package/src/kit/api/assets.ts +365 -0
- package/src/kit/api/project-open.ts +355 -0
- package/src/kit/api/project-source.ts +180 -0
- package/src/kit/api/project-state.ts +110 -0
- package/src/kit/api/relay.ts +270 -0
- package/src/kit/api/themes.ts +45 -0
- package/src/kit/api-asset-library-wire.ts +45 -0
- package/src/kit/api-base.ts +10 -0
- package/src/kit/api-build.ts +99 -0
- package/src/kit/api-git-wire.ts +56 -0
- package/src/kit/api-logs.ts +92 -0
- package/src/kit/api-project-identity.ts +74 -0
- package/src/kit/api-settings.ts +36 -0
- package/src/kit/api-worktrees.ts +205 -0
- package/src/kit/asset-capabilities.ts +344 -0
- package/src/kit/asset-compare-core.ts +171 -0
- package/src/kit/asset-editor-context.tsx +101 -0
- package/src/kit/asset-events.ts +96 -0
- package/src/kit/asset-inspector-actions.ts +87 -0
- package/src/kit/asset-selection-viewer-registry.ts +113 -0
- package/src/kit/asset-selection.ts +146 -0
- package/src/kit/asset-thumbnails.ts +25 -0
- package/src/kit/asset-viewers.ts +115 -0
- package/src/kit/asset-workflow/asset-import-jobs.ts +106 -0
- package/src/kit/asset-workflow/asset-ledger-backend.ts +126 -0
- package/src/kit/asset-workflow/asset-ledger.ts +156 -0
- package/src/kit/asset-workflow/asset-materialization-report.ts +140 -0
- package/src/kit/asset-workflow/asset-pack-manifest.ts +320 -0
- package/src/kit/asset-workflow/asset-types.ts +142 -0
- package/src/kit/asset-workflow/audio-preview-player.ts +193 -0
- package/src/kit/asset-workflow/audio-waveform.ts +22 -0
- package/src/kit/asset-workflow/cloud-asset-client.ts +263 -0
- package/src/kit/asset-workflow/hosted-asset-materialization.ts +236 -0
- package/src/kit/asset-workflow/image-view-scale.ts +31 -0
- package/src/kit/asset-workflow/import-contract.ts +124 -0
- package/src/kit/asset-workflow/ledger-write-lock.ts +244 -0
- package/src/kit/asset-workflow/pixi-spritesheet.ts +197 -0
- package/src/kit/asset-workflow/preview-resource-lifetime.ts +44 -0
- package/src/kit/asset-workflow/project-asset-commands.ts +20 -0
- package/src/kit/asset-workflow/project-content.ts +288 -0
- package/src/kit/asset-workflow/project-source-index.ts +545 -0
- package/src/kit/asset-workflow/thumbnail-system.ts +256 -0
- package/src/kit/authoring/active-adapter.ts +200 -0
- package/src/kit/authoring/active-systems.ts +422 -0
- package/src/kit/authoring/adapter-key.ts +18 -0
- package/src/kit/authoring/authoring-asset-url.ts +27 -0
- package/src/kit/authoring/bootstrap-state.ts +49 -0
- package/src/kit/authoring/boundary-authoring-adapter.ts +189 -0
- package/src/kit/authoring/canvas-scene-guides.ts +84 -0
- package/src/kit/authoring/composite-authoring-adapter.ts +2109 -0
- package/src/kit/authoring/consumer-actions.ts +531 -0
- package/src/kit/authoring/design-time-layers.ts +852 -0
- package/src/kit/authoring/design-time-mount-registry.ts +244 -0
- package/src/kit/authoring/edit-mode-authoring.ts +637 -0
- package/src/kit/authoring/empty-project-authoring.ts +22 -0
- package/src/kit/authoring/instance-source-menu.ts +135 -0
- package/src/kit/authoring/layered-pick.ts +185 -0
- package/src/kit/authoring/mounted-root-subjects.ts +146 -0
- package/src/kit/authoring/no-authoring-adapter.ts +59 -0
- package/src/kit/authoring/object3d-document-persistence.ts +122 -0
- package/src/kit/authoring/panel-authoring.ts +121 -0
- package/src/kit/authoring/project-authoring-session.ts +105 -0
- package/src/kit/authoring/provenance.ts +99 -0
- package/src/kit/authoring/react-canvas-navigation.ts +259 -0
- package/src/kit/authoring/react-design-canvas-style.ts +20 -0
- package/src/kit/authoring/react-story-board.ts +917 -0
- package/src/kit/authoring/selection-scope.ts +195 -0
- package/src/kit/authoring/shell-document-ops.ts +169 -0
- package/src/kit/authoring/story-board-chrome-fit.ts +107 -0
- package/src/kit/authoring/story-board-presentation.ts +111 -0
- package/src/kit/authoring/three-root.ts +67 -0
- package/src/kit/authoring/viewport-tool-context.ts +73 -0
- package/src/kit/authoring/viewport-tool-owner.ts +38 -0
- package/src/kit/authoring/world-session-state.ts +101 -0
- package/src/kit/authoring-seam-evidence.ts +300 -0
- package/src/kit/availability-tick.ts +66 -0
- package/src/kit/bitmap-label.ts +120 -0
- package/src/kit/boot-routing.ts +392 -0
- package/src/kit/breakpoint-state.ts +43 -0
- package/src/kit/build-identity.ts +16 -0
- package/src/kit/bytes-codec.ts +62 -0
- package/src/kit/cancellation-reason.ts +58 -0
- package/src/kit/canvas-frames.ts +88 -0
- package/src/kit/capture-camera-pose.ts +77 -0
- package/src/kit/capture-size.ts +88 -0
- package/src/kit/chrome-registry.ts +159 -0
- package/src/kit/chrome-slot-registry.ts +91 -0
- package/src/kit/collaboration-client.ts +264 -0
- package/src/kit/collaboration-presence.ts +41 -0
- package/src/kit/command-dispatch.ts +19 -0
- package/src/kit/command-listener.ts +2182 -0
- package/src/kit/command-registry.ts +71 -0
- package/src/kit/component-board-registry.ts +205 -0
- package/src/kit/component-states-registry.ts +199 -0
- package/src/kit/components/AlignToolbar.tsx +204 -0
- package/src/kit/components/ApplicationMenus.tsx +372 -0
- package/src/kit/components/AssetEditorShell.tsx +216 -0
- package/src/kit/components/AssetInspectorToolSection.tsx +124 -0
- package/src/kit/components/BoardRulers.tsx +354 -0
- package/src/kit/components/CanvasAddNodeDialogs.tsx +529 -0
- package/src/kit/components/CanvasSceneViewport.tsx +1195 -0
- package/src/kit/components/ChromeSlot.tsx +20 -0
- package/src/kit/components/CodeView.tsx +470 -0
- package/src/kit/components/CompactInspectorShell.tsx +39 -0
- package/src/kit/components/ConsolePanel.tsx +273 -0
- package/src/kit/components/GameplaySessionTimeline.tsx +295 -0
- package/src/kit/components/InspectionProjection.tsx +932 -0
- package/src/kit/components/Inspector.tsx +270 -0
- package/src/kit/components/InspectorCanvasPreview.tsx +35 -0
- package/src/kit/components/InspectorFieldsSection.tsx +290 -0
- package/src/kit/components/InspectorStoriesSection.tsx +92 -0
- package/src/kit/components/InspectorToolSection.tsx +96 -0
- package/src/kit/components/InspectorTransformSection.tsx +245 -0
- package/src/kit/components/LightExplorerPanel.tsx +433 -0
- package/src/kit/components/MediaProperties.tsx +145 -0
- package/src/kit/components/ProjectHeader.tsx +328 -0
- package/src/kit/components/ReactCanvasControls.tsx +358 -0
- package/src/kit/components/RootSelectionOverlay.tsx +3688 -0
- package/src/kit/components/RootTextEditor.tsx +79 -0
- package/src/kit/components/SaveStatus.tsx +70 -0
- package/src/kit/components/SurfaceCrashBoundary.tsx +105 -0
- package/src/kit/components/SurfaceStateOverlay.tsx +24 -0
- package/src/kit/components/ToolContributionSurfaces.tsx +49 -0
- package/src/kit/components/ToolHost.tsx +380 -0
- package/src/kit/components/Toolbar.tsx +811 -0
- package/src/kit/components/TransientHint.tsx +44 -0
- package/src/kit/components/VersionControlSection.tsx +470 -0
- package/src/kit/components/ViewportOverlaysMenu.tsx +177 -0
- package/src/kit/components/VolterLogo.tsx +18 -0
- package/src/kit/components/WorktreeSwitcher.tsx +712 -0
- package/src/kit/components/account-documents.tsx +1162 -0
- package/src/kit/components/asset-documents.tsx +794 -0
- package/src/kit/components/asset-editor-persistence.ts +216 -0
- package/src/kit/components/asset-selection-section.tsx +545 -0
- package/src/kit/components/asset-thumbnails.tsx +307 -0
- package/src/kit/components/asset-viewers/AudioViewer.tsx +201 -0
- package/src/kit/components/asset-viewers/GenericJsonViewer.tsx +102 -0
- package/src/kit/components/asset-viewers/ImageViewer.tsx +300 -0
- package/src/kit/components/asset-viewers/JsonAssetDocument.tsx +98 -0
- package/src/kit/components/asset-viewers/OnlineAssetDetail.tsx +426 -0
- package/src/kit/components/asset-viewers/SourceAssetViewer.tsx +356 -0
- package/src/kit/components/asset-viewers/SpritesheetSpriteView.tsx +102 -0
- package/src/kit/components/asset-viewers/VideoViewer.tsx +101 -0
- package/src/kit/components/asset-viewers/shader-source.ts +144 -0
- package/src/kit/components/board-guides.ts +150 -0
- package/src/kit/components/canvas-scene-hotkeys.ts +37 -0
- package/src/kit/components/canvas-temporary-pivot.ts +34 -0
- package/src/kit/components/core-utilities.tsx +94 -0
- package/src/kit/components/inspector-preview-section.tsx +223 -0
- package/src/kit/components/inspector-revert-label.ts +20 -0
- package/src/kit/components/inspector-selection.ts +42 -0
- package/src/kit/components/inspector-stories-gating.ts +171 -0
- package/src/kit/components/inspector-transform-subject.ts +11 -0
- package/src/kit/components/inspector-transform.ts +88 -0
- package/src/kit/components/kind-documents.tsx +544 -0
- package/src/kit/components/primitives/DraftColorInput.tsx +74 -0
- package/src/kit/components/project-tool-documents.tsx +402 -0
- package/src/kit/components/scene-documents.tsx +221 -0
- package/src/kit/components/status-contributions.tsx +407 -0
- package/src/kit/components/tool-documents.tsx +302 -0
- package/src/kit/components/tool-schema-form.tsx +262 -0
- package/src/kit/components/use-after-paint.ts +41 -0
- package/src/kit/components/use-project-image-assets.ts +86 -0
- package/src/kit/components/workspace-history.ts +32 -0
- package/src/kit/components/world-documents.tsx +570 -0
- package/src/kit/components/world-overlay-gestures.ts +1939 -0
- package/src/kit/composite-screenshot.ts +2238 -0
- package/src/kit/content-entry-source-registry.ts +184 -0
- package/src/kit/contribution-surfaces.ts +48 -0
- package/src/kit/coverage/canvas-reveal.ts +192 -0
- package/src/kit/coverage/design-time-surfaces.ts +101 -0
- package/src/kit/coverage/ontology-invariants.ts +466 -0
- package/src/kit/coverage/session-vitals.ts +503 -0
- package/src/kit/crash-null-boundary.ts +36 -0
- package/src/kit/creation-site-edit.ts +1491 -0
- package/src/kit/creation-site-registry.ts +160 -0
- package/src/kit/delegate-harness-registry.ts +134 -0
- package/src/kit/document-areas.ts +70 -0
- package/src/kit/document-context-registry.ts +193 -0
- package/src/kit/document-open-registry.ts +200 -0
- package/src/kit/document-play-extension.ts +221 -0
- package/src/kit/document-preview-source.ts +20 -0
- package/src/kit/document-renderer-session.ts +138 -0
- package/src/kit/document-stage-sessions.ts +26 -0
- package/src/kit/document-viewports.ts +120 -0
- package/src/kit/editor-api.ts +46 -0
- package/src/kit/editor-chrome-capture.ts +136 -0
- package/src/kit/editor-commands.ts +176 -0
- package/src/kit/editor-console.ts +580 -0
- package/src/kit/editor-current-view.ts +56 -0
- package/src/kit/editor-document-probe.ts +1168 -0
- package/src/kit/editor-git-client.ts +115 -0
- package/src/kit/editor-hotkeys.ts +728 -0
- package/src/kit/editor-lease-view.ts +39 -0
- package/src/kit/editor-lease.ts +415 -0
- package/src/kit/editor-mode.ts +19 -0
- package/src/kit/editor-notifications.ts +140 -0
- package/src/kit/editor-presence.ts +563 -0
- package/src/kit/editor-presentation-activity.ts +58 -0
- package/src/kit/editor-presentation-notice.ts +42 -0
- package/src/kit/editor-runtime.tsx +147 -0
- package/src/kit/editor-server-response.ts +86 -0
- package/src/kit/editor-session-attribution.ts +85 -0
- package/src/kit/editor-session-mode.ts +54 -0
- package/src/kit/editor-state-facets.ts +74 -0
- package/src/kit/editor-view-presentation.ts +777 -0
- package/src/kit/environment-images.ts +58 -0
- package/src/kit/eyedropper-session.ts +60 -0
- package/src/kit/files/file-provider.ts +62 -0
- package/src/kit/files/project-files.ts +270 -0
- package/src/kit/finders/index.ts +137 -0
- package/src/kit/finders/scenes-from-entrypoint-selection.ts +387 -0
- package/src/kit/frame/frame-parts.ts +30 -0
- package/src/kit/framed-document-capture.ts +34 -0
- package/src/kit/game-globals-prelude.ts +143 -0
- package/src/kit/game-surface-defaults.ts +33 -0
- package/src/kit/gameplay-dom-recording.ts +318 -0
- package/src/kit/gameplay-export-state.ts +14 -0
- package/src/kit/gameplay-replay.ts +417 -0
- package/src/kit/gameplay-session-time.ts +9 -0
- package/src/kit/gameplay-sessions.ts +204 -0
- package/src/kit/hierarchy-component-marks.ts +298 -0
- package/src/kit/hierarchy-internals.ts +197 -0
- package/src/kit/hierarchy-kind-icon.ts +217 -0
- package/src/kit/hierarchy-menu-registry.ts +67 -0
- package/src/kit/hierarchy-node-rows.ts +307 -0
- package/src/kit/hierarchy-panel-view.ts +280 -0
- package/src/kit/hierarchy-projection.ts +76 -0
- package/src/kit/hierarchy-row-media.ts +45 -0
- package/src/kit/hierarchy-row-model.ts +308 -0
- package/src/kit/hierarchy-rows.ts +11 -0
- package/src/kit/hierarchy-walk.ts +86 -0
- package/src/kit/history/editor-session.ts +25 -0
- package/src/kit/history/history-commands.ts +147 -0
- package/src/kit/history/history-delegate.ts +187 -0
- package/src/kit/history/history-limit-notices.ts +43 -0
- package/src/kit/history/history-service.ts +1189 -0
- package/src/kit/history/persistence-coordinator.ts +35 -0
- package/src/kit/history/project-file-history.ts +386 -0
- package/src/kit/history/project-root-history-backends.ts +139 -0
- package/src/kit/history/resource-registry.ts +209 -0
- package/src/kit/history/snapshot-store.ts +103 -0
- package/src/kit/history/source-history-backend.ts +546 -0
- package/src/kit/history-types.ts +124 -0
- package/src/kit/hmr-registration-group.ts +67 -0
- package/src/kit/hmr-stable-react-context.ts +23 -0
- package/src/kit/hotkeys.ts +190 -0
- package/src/kit/inference-diagnostics.ts +69 -0
- package/src/kit/initial-project.ts +80 -0
- package/src/kit/inspection/active-subject.ts +571 -0
- package/src/kit/inspection/active-surface.ts +142 -0
- package/src/kit/inspection/compose-subject.ts +1055 -0
- package/src/kit/inspection/compose.ts +7 -0
- package/src/kit/inspection/display.ts +171 -0
- package/src/kit/inspection/document-subject.ts +109 -0
- package/src/kit/inspection/game-subject.ts +85 -0
- package/src/kit/inspection/null-subject.ts +119 -0
- package/src/kit/inspection/serialize.ts +357 -0
- package/src/kit/inspection/use-active-inspection.ts +180 -0
- package/src/kit/inspection-model.ts +542 -0
- package/src/kit/inspection-node-media.ts +58 -0
- package/src/kit/inspector-presentation.ts +203 -0
- package/src/kit/inspector-property-grouping.ts +64 -0
- package/src/kit/inspector-section-registry.ts +221 -0
- package/src/kit/instance-source-actions.ts +163 -0
- package/src/kit/js-heap.ts +71 -0
- package/src/kit/key-actions.ts +91 -0
- package/src/kit/keymap-presets.ts +428 -0
- package/src/kit/layout-policy.ts +31 -0
- package/src/kit/light-explorer-model.ts +134 -0
- package/src/kit/live-canvas-frame.ts +55 -0
- package/src/kit/live-document.ts +296 -0
- package/src/kit/live-gesture-lock.ts +50 -0
- package/src/kit/live-seam-evidence.ts +11 -0
- package/src/kit/live-session-registry.ts +220 -0
- package/src/kit/live-transition.ts +391 -0
- package/src/kit/manifest-project.ts +107 -0
- package/src/kit/module-fetch-diagnosis.ts +192 -0
- package/src/kit/mount-failure-report.ts +154 -0
- package/src/kit/native-selection-style.ts +497 -0
- package/src/kit/object3d-document-write-policy.ts +137 -0
- package/src/kit/packaged-runtime.ts +108 -0
- package/src/kit/palettes/maya.palette.json +57 -0
- package/src/kit/palettes/substance.palette.json +57 -0
- package/src/kit/performance-profiler.ts +367 -0
- package/src/kit/performance-sources.ts +69 -0
- package/src/kit/photograph-notice.ts +141 -0
- package/src/kit/play-boot-phase.ts +166 -0
- package/src/kit/play-camera-flight.ts +35 -0
- package/src/kit/png-encode.worker.ts +26 -0
- package/src/kit/presentation-surface.ts +248 -0
- package/src/kit/product-command.ts +90 -0
- package/src/kit/project-adapter.ts +1140 -0
- package/src/kit/project-asset-refresh.ts +23 -0
- package/src/kit/project-asset-roots.ts +68 -0
- package/src/kit/project-local-state.ts +151 -0
- package/src/kit/project-manager.ts +243 -0
- package/src/kit/project-module-changes.ts +201 -0
- package/src/kit/project-module-split.ts +270 -0
- package/src/kit/project-play-layers.ts +25 -0
- package/src/kit/project-provenance.ts +115 -0
- package/src/kit/project-ready.ts +42 -0
- package/src/kit/project-shape.ts +68 -0
- package/src/kit/project-tools.ts +107 -0
- package/src/kit/projection-types.ts +44 -0
- package/src/kit/readiness.ts +113 -0
- package/src/kit/renderer-resource-counts.ts +27 -0
- package/src/kit/reported-play-state.ts +90 -0
- package/src/kit/resolve-contributed-command.ts +14 -0
- package/src/kit/resolve-relative-specifier.ts +33 -0
- package/src/kit/retained-document-states.ts +91 -0
- package/src/kit/scene-document-plan.ts +320 -0
- package/src/kit/scene-live-open.ts +210 -0
- package/src/kit/scoped-game-css.ts +152 -0
- package/src/kit/served-url.ts +5 -0
- package/src/kit/session-close.ts +17 -0
- package/src/kit/session-tombstone.ts +127 -0
- package/src/kit/settings/settings-provider.ts +82 -0
- package/src/kit/settings-store.ts +348 -0
- package/src/kit/shell-document-state.ts +27 -0
- package/src/kit/shell-store-door.ts +45 -0
- package/src/kit/shell-store.ts +722 -0
- package/src/kit/source-conflict.ts +122 -0
- package/src/kit/stage-context.ts +377 -0
- package/src/kit/stage-invalidation.ts +25 -0
- package/src/kit/stage-store-registry.ts +69 -0
- package/src/kit/startup-failure.ts +80 -0
- package/src/kit/state-report-deferral.ts +73 -0
- package/src/kit/storage/host-files-storage.ts +97 -0
- package/src/kit/storage/http-storage.ts +174 -0
- package/src/kit/storage/index.ts +75 -0
- package/src/kit/storage/mem-storage.ts +158 -0
- package/src/kit/storage/path-lock.ts +44 -0
- package/src/kit/storage/paths.ts +26 -0
- package/src/kit/storage-types.ts +127 -0
- package/src/kit/stories/StoryPreviewMount.tsx +306 -0
- package/src/kit/stories/compose-project-stories.ts +255 -0
- package/src/kit/stories/prefabs-finder.ts +54 -0
- package/src/kit/stories/prefabs-from-stories.ts +182 -0
- package/src/kit/stories/project-story-regions.ts +24 -0
- package/src/kit/stories/story-capture.ts +579 -0
- package/src/kit/stories/story-declared-medium.ts +126 -0
- package/src/kit/stories/story-discovery.ts +176 -0
- package/src/kit/stories/story-dom-runtime.ts +78 -0
- package/src/kit/stories/story-grouping.ts +111 -0
- package/src/kit/stories/story-mount-turn.ts +27 -0
- package/src/kit/stories/story-presentation.ts +215 -0
- package/src/kit/stories/story-preview-component.ts +7 -0
- package/src/kit/stories/story-registry.ts +530 -0
- package/src/kit/stories-scope.ts +35 -0
- package/src/kit/story-document-openers.ts +36 -0
- package/src/kit/story-thumbnails.ts +47 -0
- package/src/kit/surface-keyboard.ts +101 -0
- package/src/kit/surface-state.ts +135 -0
- package/src/kit/system-seam-evidence.ts +72 -0
- package/src/kit/tab-census.ts +202 -0
- package/src/kit/tab-lifecycle-client.ts +227 -0
- package/src/kit/theme-library.ts +897 -0
- package/src/kit/theme-preference.ts +429 -0
- package/src/kit/three-viewport-presentation.ts +23 -0
- package/src/kit/tool-contribution-play.ts +74 -0
- package/src/kit/tool-loader.ts +1918 -0
- package/src/kit/transform-mode-request.ts +66 -0
- package/src/kit/transient-hint.ts +78 -0
- package/src/kit/transport-strip.tsx +174 -0
- package/src/kit/ui-source/adapter-region-includes.ts +238 -0
- package/src/kit/ui-source/file-region-resolver.ts +302 -0
- package/src/kit/ui-source/inspect.ts +775 -0
- package/src/kit/ui-source/source-write-backend.ts +605 -0
- package/src/kit/ui-source/tier-source-write-backend.ts +279 -0
- package/src/kit/user-local-state.ts +105 -0
- package/src/kit/viewport-activation-timings.ts +840 -0
- package/src/kit/viewport-editor-controls.ts +22 -0
- package/src/kit/viewport-presentation.ts +668 -0
- package/src/kit/viewport-surface-status.tsx +55 -0
- package/src/kit/wait-until.ts +37 -0
- package/src/kit/worker-call-metrics.ts +166 -0
- package/src/kit/workspace-areas.ts +191 -0
- package/src/kit/workspace-aux-commands.ts +11 -0
- package/src/kit/workspace-available-documents.ts +142 -0
- package/src/kit/workspace-core-utilities.ts +31 -0
- package/src/kit/workspace-document-ids.ts +59 -0
- package/src/kit/workspace-document-registry.ts +624 -0
- package/src/kit/workspace-document-restore.ts +146 -0
- package/src/kit/workspace-host-commands.ts +141 -0
- package/src/kit/workspace-persistence-gate.ts +40 -0
- package/src/kit/workspace-play-utilities.ts +44 -0
- package/src/kit/workspace-presets.ts +446 -0
- package/src/kit/workspace-regions.ts +276 -0
- package/src/kit/workspace-static-panels.ts +73 -0
- package/src/kit/workspace-status-registry.ts +121 -0
- package/src/kit/workspace-storage.ts +35 -0
- package/src/kit/workspace-style.ts +226 -0
- package/src/kit/workspace-utility-commands.ts +74 -0
- package/src/kit/workspace-utility-registry.ts +263 -0
- package/src/kit/world-adoption-event.ts +23 -0
- package/src/kit/world-adoption.ts +115 -0
- package/src/kit/world-canvas-viewport-state.ts +35 -0
- package/src/kit/world-document-routing.ts +104 -0
- package/src/kit/world-pan-state.ts +198 -0
- package/src/kit/write-pipe.ts +173 -0
- package/src/layout-arrangements.ts +5 -0
- package/src/layouts.tsx +108 -0
- package/src/looks.ts +16 -0
- package/src/project/output-roots.ts +73 -0
- package/src/project/tab-census.ts +155 -0
- package/src/project-tool-catalog.ts +104 -0
- package/src/selection.tsx +107 -0
- package/src/services.ts +18 -0
- package/src/session/build-report.ts +22 -0
- package/src/session/collaboration-types.ts +262 -0
- package/src/session/command-table.ts +327 -0
- package/src/session/discovery.ts +100 -0
- package/src/session/editor-brand.ts +48 -0
- package/src/session/editor-compatibility.ts +329 -0
- package/src/session/editor-control-lifecycle.ts +68 -0
- package/src/session/editor-control-protocol.ts +5 -0
- package/src/session/entrypoint-selection-readers.ts +66 -0
- package/src/session/entrypoint-selection-source.ts +120 -0
- package/src/session/game-css-scope.ts +30 -0
- package/src/session/hosted-attachment.ts +225 -0
- package/src/session/limited-view.ts +82 -0
- package/src/session/product-create.ts +24 -0
- package/src/session/product-locator.ts +478 -0
- package/src/session/project-module-url.ts +242 -0
- package/src/session/project-serving.ts +164 -0
- package/src/session/project-upgrade.ts +669 -0
- package/src/session/registry-format.ts +210 -0
- package/src/session/relative-path-guard.ts +56 -0
- package/src/session/scoped-game-css.ts +461 -0
- package/src/session/source-glob.ts +15 -0
- package/src/session/tool-contribution-convention.ts +123 -0
- package/src/session/workbench-locator.ts +712 -0
- package/src/session.ts +41 -0
- package/src/share.ts +160 -0
- package/src/source-analysis.ts +28 -0
- package/src/source-authoring.ts +439 -0
- package/src/tools/errors.ts +91 -0
- package/src/tools/provider-execution.ts +70 -0
- package/src/tools/registry.ts +341 -0
- package/src/tools/types.ts +159 -0
- package/src/transport.ts +100 -0
- package/src/types.ts +1693 -0
- package/src/views.ts +164 -0
- package/src/widgets/design-system.ts +93 -0
- package/src/widgets/editor-appearance.ts +151 -0
- package/src/widgets/editor-material.ts +83 -0
- package/src/widgets/icon-set-registry.ts +105 -0
- package/src/widgets/index.ts +71 -0
- package/src/widgets/inspector-widgets/AlignmentGrid.tsx +182 -0
- package/src/widgets/inspector-widgets/AssetSlotPicker.tsx +123 -0
- package/src/widgets/inspector-widgets/BorderEditor.tsx +309 -0
- package/src/widgets/inspector-widgets/ColorPicker.tsx +549 -0
- package/src/widgets/inspector-widgets/CurveEditor.tsx +359 -0
- package/src/widgets/inspector-widgets/FilterEditor.tsx +108 -0
- package/src/widgets/inspector-widgets/FontPicker.tsx +191 -0
- package/src/widgets/inspector-widgets/GradientEditor.tsx +623 -0
- package/src/widgets/inspector-widgets/ScrubbableInput.tsx +180 -0
- package/src/widgets/inspector-widgets/ShadowEditor.tsx +319 -0
- package/src/widgets/inspector-widgets/color-utils.ts +201 -0
- package/src/widgets/inspector-widgets/curve-utils.ts +212 -0
- package/src/widgets/inspector-widgets/index.ts +25 -0
- package/src/widgets/inspector-widgets/shared.tsx +140 -0
- package/src/widgets/interactive-edit-scope.ts +33 -0
- package/src/widgets/patterns/Dialog.tsx +140 -0
- package/src/widgets/patterns/Fields.tsx +44 -0
- package/src/widgets/patterns/List.tsx +25 -0
- package/src/widgets/patterns/StateSurface.tsx +40 -0
- package/src/widgets/patterns/Surfaces.tsx +122 -0
- package/src/widgets/patterns/Tabs.tsx +80 -0
- package/src/widgets/patterns/Toolbar.tsx +72 -0
- package/src/widgets/patterns/Tree.tsx +72 -0
- package/src/widgets/primitives/AnchoredMenu.tsx +260 -0
- package/src/widgets/primitives/Button.tsx +62 -0
- package/src/widgets/primitives/ColorInput.tsx +78 -0
- package/src/widgets/primitives/DraftTextInput.tsx +63 -0
- package/src/widgets/primitives/EditorIcon.tsx +157 -0
- package/src/widgets/primitives/FormControls.tsx +88 -0
- package/src/widgets/primitives/HoverPreview.tsx +96 -0
- package/src/widgets/primitives/JsonInput.tsx +113 -0
- package/src/widgets/primitives/Layout.tsx +100 -0
- package/src/widgets/primitives/Menu.tsx +161 -0
- package/src/widgets/primitives/NumberInput.tsx +169 -0
- package/src/widgets/primitives/Panel.tsx +80 -0
- package/src/widgets/primitives/SectionHeader.tsx +77 -0
- package/src/widgets/primitives/Text.tsx +54 -0
- package/src/widgets/primitives/ThemeRootPortal.tsx +52 -0
- package/src/widgets/primitives/Tooltip.tsx +204 -0
- package/src/widgets/primitives/Vec3Input.tsx +70 -0
- package/src/widgets/primitives/banner-tones.ts +32 -0
- package/src/widgets/primitives/clamp-to-viewport.ts +44 -0
- package/src/widgets/primitives/editor-icons.ts +254 -0
- package/src/widgets/primitives/panel-header-styles.ts +42 -0
- package/src/widgets/theme.ts +2841 -0
- package/src/widgets/z-index.ts +25 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A DESIGN-TIME MOUNT IS REGISTERED, NOT DISPATCHED — the fifth registry in
|
|
3
|
+
* the family of `workspace-document-restore.ts` (a kind owns its persisted
|
|
4
|
+
* state), `document-open-registry.ts` (a kind owns how it opens),
|
|
5
|
+
* `chrome-slot-registry.ts` (the host owns the place, a package owns what
|
|
6
|
+
* sits there) and `content-entry-source-registry.ts` (the host owns the
|
|
7
|
+
* Content scope, a package owns why a component is content). Here: the host
|
|
8
|
+
* owns the design-time layer STACK and a package owns how a medium MOUNTS
|
|
9
|
+
* into it.
|
|
10
|
+
*
|
|
11
|
+
* WHY IT EXISTS. `design-time-layers.ts` dispatched the two media in ONE
|
|
12
|
+
* expression — `candidate.kind === 'canvas' ? mountCanvasLayer(…) :
|
|
13
|
+
* mountReactLayer(…)` — against a single `LayerMountResult` contract whose
|
|
14
|
+
* own docblock said the failure/teardown/play lifecycle is "the SAME for both
|
|
15
|
+
* media". A contract two implementations already share, chosen by a literal
|
|
16
|
+
* the host spells, is a registry that has not been written yet. Past the
|
|
17
|
+
* dispatch it hard-coded two more per-medium facts: canvas REMOUNTS when a
|
|
18
|
+
* write lands with no HMR channel, dom RE-PROJECTS when the story registry
|
|
19
|
+
* publishes, and canvas layers are always interactive because the 2D scene IS
|
|
20
|
+
* the document's subject. Each is a statement about a MEDIUM, made in the
|
|
21
|
+
* host (WORK.md §The open-source launch item 12, §Stories leave the host edge
|
|
22
|
+
* 9).
|
|
23
|
+
*
|
|
24
|
+
* THE SHAPE is transcribed from `content-entry-source-registry.ts:96-134`:
|
|
25
|
+
* register / list / subscribe, with the same owner-replaces-owner rule so an
|
|
26
|
+
* HMR re-evaluation leaves one mount and not two. Two deliberate differences,
|
|
27
|
+
* each with its reason:
|
|
28
|
+
*
|
|
29
|
+
* - NO VERSION COUNTER. That registry publishes one because a React panel
|
|
30
|
+
* reads it through `useSyncExternalStore`; this one's only reader is the
|
|
31
|
+
* layer stack, which subscribes and re-reads. A counter with no caller is
|
|
32
|
+
* a name that gets built because it was named.
|
|
33
|
+
* - THE INVALIDATION HOOKS ARE NOT RE-FANNED into `subscribeDesignTimeMounts`
|
|
34
|
+
* (the content registry re-fans its sources' `subscribe` into one signal).
|
|
35
|
+
* A staleness signal is not a registration change: it must reach the ONE
|
|
36
|
+
* layer stack that mounted that medium, carrying which action to take
|
|
37
|
+
* (remount, which tears down first, or re-project, which keeps the old
|
|
38
|
+
* layer up until the new one settles). The stack binds them itself, per
|
|
39
|
+
* mount, and unbinds on teardown.
|
|
40
|
+
*
|
|
41
|
+
* WHAT THE HOST STILL OWNS, and why it is not a leak: the layer ELEMENT and
|
|
42
|
+
* everything about its place in the stack — the mount epoch that supersedes
|
|
43
|
+
* an in-flight mount, the z-order, the pan transform, the eye, the play
|
|
44
|
+
* handoff and Stop's rebuild, and the `BoundaryAuthoringAdapter` disclosure a
|
|
45
|
+
* failed or unregistered mount degrades to. A mount is handed a layer and
|
|
46
|
+
* asked to fill it; it never decides when it exists.
|
|
47
|
+
*
|
|
48
|
+
* NOTHING REGISTERED IS A REAL ANSWER. A build whose package list carries no
|
|
49
|
+
* mount for a medium leaves that world's Boundary node standing with a reason
|
|
50
|
+
* that names the kind and says no package registered a mount for it — the
|
|
51
|
+
* same honest emptiness a document kind with no registered opener gives, and
|
|
52
|
+
* the reason the stack waits rather than fails: contributions load
|
|
53
|
+
* asynchronously (`project-tool-discovery.ts` defers the pass behind the
|
|
54
|
+
* first viewport frame), so "not registered yet" and "not registered at all"
|
|
55
|
+
* are different answers and only the second is worth showing.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
import type { AuthoringAdapter, PickProvider } from '@volter/project/adapter';
|
|
59
|
+
import type { ShellStore } from '@volter/sdk/kit/shell-store';
|
|
60
|
+
import type { RootViewController } from '@volter/sdk/kit/world-pan-state';
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Everything a mount reads from the HOST, and deliberately nothing more — the
|
|
64
|
+
* stack does not hand over itself. Measured against the two mount functions
|
|
65
|
+
* as they stood: `mountReactLayer` read the project root, the shell store and
|
|
66
|
+
* the activation document id; `mountCanvasLayer` read those three plus the
|
|
67
|
+
* presentation's view controller.
|
|
68
|
+
*/
|
|
69
|
+
/** One declared `dom`/`canvas` root the design-time stack may mount into a layer. */
|
|
70
|
+
export interface DesignTimeRootDescriptor {
|
|
71
|
+
readonly worldId: string;
|
|
72
|
+
readonly kind: 'dom' | 'canvas';
|
|
73
|
+
readonly path: string | undefined;
|
|
74
|
+
readonly zOrder: number;
|
|
75
|
+
readonly pausable: boolean;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** What a layer mount hands back to the stack. */
|
|
79
|
+
export interface LayerMountResult {
|
|
80
|
+
readonly adapter?: AuthoringAdapter;
|
|
81
|
+
/**
|
|
82
|
+
* D12 (B4) — a stage hit-test over opaque mounted content, in client pixels.
|
|
83
|
+
* Source-backed React/Pixi mounts carry picking on their full adapter;
|
|
84
|
+
* foreign Pixi mounts can return this narrower capability instead.
|
|
85
|
+
*/
|
|
86
|
+
readonly pick?: PickProvider['pick'];
|
|
87
|
+
dispose(): void;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface DesignTimeMountContext {
|
|
91
|
+
/** The open project's absolute root path — resolved once by the stack, and
|
|
92
|
+
* the reason it refuses to mount anything when there is no project. */
|
|
93
|
+
readonly projectRootPath: string;
|
|
94
|
+
/** The ONE format-neutral shell store (selection, history handle, play
|
|
95
|
+
* state) every authoring adapter is constructed against. */
|
|
96
|
+
readonly store: ShellStore;
|
|
97
|
+
/** Present only when the document this layer belongs to presents its own
|
|
98
|
+
* independent editor camera and viewport renderer rather than the shared
|
|
99
|
+
* artboard (`mountDesignTimeLayers`' `presentation`). A mount that has no
|
|
100
|
+
* camera of its own ignores it. */
|
|
101
|
+
readonly view?: RootViewController;
|
|
102
|
+
/** When set, first-mount work writes named segments onto this document's
|
|
103
|
+
* activation clock (`viewport-activation-timings`). */
|
|
104
|
+
readonly activationDocumentId?: string;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* A medium that mounts into a LAYER of the design-time stack, over the shared
|
|
109
|
+
* artboard: `dom` and `canvas`.
|
|
110
|
+
*/
|
|
111
|
+
export type DesignTimeLayerKind = DesignTimeRootDescriptor['kind'];
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* A medium that mounts onto the WORLD ROOT's 3D stage instead of into a layer
|
|
115
|
+
* over it: `three`. Its design session adopts the stage's own renderer and
|
|
116
|
+
* scene rather than being handed an element to fill — the same question ("how
|
|
117
|
+
* does this medium mount at design time?"), answered on a different surface,
|
|
118
|
+
* which is why it is this registry's second shape and not a second registry.
|
|
119
|
+
*/
|
|
120
|
+
export type DesignTimeStageKind = 'three';
|
|
121
|
+
|
|
122
|
+
export type DesignTimeMountKind = DesignTimeLayerKind | DesignTimeStageKind;
|
|
123
|
+
|
|
124
|
+
/** What every registration carries, whichever surface it mounts on. */
|
|
125
|
+
interface DesignTimeMountBase {
|
|
126
|
+
/** The medium this mounts, in the descriptor's own vocabulary. */
|
|
127
|
+
readonly kind: DesignTimeMountKind;
|
|
128
|
+
/** Which module registered it. Re-registering the same owner+kind REPLACES,
|
|
129
|
+
* so an HMR re-evaluation leaves one mount, not two. */
|
|
130
|
+
readonly owner: string;
|
|
131
|
+
/**
|
|
132
|
+
* This medium's mounted worlds are STALE and must be torn down and mounted
|
|
133
|
+
* again from current source. The mount owns the condition (which tier, which
|
|
134
|
+
* watch, which debounce); the stack owns whether it may act right now (not
|
|
135
|
+
* while play is running, not after teardown). Returns its teardown.
|
|
136
|
+
*/
|
|
137
|
+
readonly remountWhen?: (invalidate: () => void) => () => void;
|
|
138
|
+
/**
|
|
139
|
+
* The same staleness, for a medium that can mount the NEW world before
|
|
140
|
+
* taking the old one down — no visible reload flash. Returns its teardown.
|
|
141
|
+
*/
|
|
142
|
+
readonly reprojectWhen?: (invalidate: () => void) => () => void;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface DesignTimeLayerMount extends DesignTimeMountBase {
|
|
146
|
+
readonly kind: DesignTimeLayerKind;
|
|
147
|
+
/** The resolved adapter identity a mount failure is reported under
|
|
148
|
+
* (`MountFailureReport['identity']`, e.g. `default-react`/`default-pixi`).
|
|
149
|
+
* It lives here because it is a fact about the mount; the host used to
|
|
150
|
+
* spell both literals in its own catch block. */
|
|
151
|
+
readonly identity: string;
|
|
152
|
+
/** This medium's layer always forwards pointer events: its content IS the
|
|
153
|
+
* document's subject (a click on it is how you select in it), so the
|
|
154
|
+
* `interactive` toggle — which exists for a medium whose design-time
|
|
155
|
+
* hover/press testing competes with authoring gestures — does not apply. */
|
|
156
|
+
readonly alwaysInteractive?: boolean;
|
|
157
|
+
/**
|
|
158
|
+
* Fill `layer` with this medium's design-time world and report what the
|
|
159
|
+
* stack should publish for it. Throwing is the sanctioned failure: the
|
|
160
|
+
* stack degrades that world to its Boundary disclosure node with the
|
|
161
|
+
* thrown message, exactly as it always did.
|
|
162
|
+
*/
|
|
163
|
+
readonly mount: (
|
|
164
|
+
candidate: DesignTimeRootDescriptor,
|
|
165
|
+
layer: HTMLElement,
|
|
166
|
+
context: DesignTimeMountContext,
|
|
167
|
+
) => Promise<LayerMountResult>;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface DesignTimeStageMount extends DesignTimeMountBase {
|
|
171
|
+
readonly kind: DesignTimeStageKind;
|
|
172
|
+
/**
|
|
173
|
+
* Mount this medium's design session onto the world root's stage. Returns
|
|
174
|
+
* its teardown. Throwing is the sanctioned failure, the same as a layer
|
|
175
|
+
* mount's. The context is the stage's own handles (its store, composite and
|
|
176
|
+
* renderer), agreed between the stage that calls and the medium that
|
|
177
|
+
* registered; the kit is not a party to its shape, so it types it `unknown`
|
|
178
|
+
* here the way `documents.context` does.
|
|
179
|
+
*/
|
|
180
|
+
mountWorldRootSession(context: unknown): Promise<() => void>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export type DesignTimeMount = DesignTimeLayerMount | DesignTimeStageMount;
|
|
184
|
+
|
|
185
|
+
const _mounts: DesignTimeMount[] = [];
|
|
186
|
+
const listeners = new Set<() => void>();
|
|
187
|
+
|
|
188
|
+
function publish(): void {
|
|
189
|
+
for (const listener of listeners) listener();
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/** Install a mount for one medium. Returns the teardown. */
|
|
193
|
+
export function registerDesignTimeMount(mount: DesignTimeMount): () => void {
|
|
194
|
+
const stale = _mounts.findIndex((item) => item.owner === mount.owner && item.kind === mount.kind);
|
|
195
|
+
if (stale >= 0) _mounts.splice(stale, 1);
|
|
196
|
+
_mounts.push(mount);
|
|
197
|
+
publish();
|
|
198
|
+
return () => {
|
|
199
|
+
const at = _mounts.indexOf(mount);
|
|
200
|
+
if (at < 0) return;
|
|
201
|
+
_mounts.splice(at, 1);
|
|
202
|
+
publish();
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
const EMPTY: readonly DesignTimeMount[] = [];
|
|
207
|
+
|
|
208
|
+
/** Everything registered, in registration order. A stable array while nothing
|
|
209
|
+
* changes, so a reader can compare identities across a notification. */
|
|
210
|
+
export function designTimeMounts(): readonly DesignTimeMount[] {
|
|
211
|
+
return _mounts.length === 0 ? EMPTY : _mounts;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/** The mount for one medium, or `null` — "no package registered one", which
|
|
215
|
+
* is a real answer and never an error. The LAST registration wins, the same
|
|
216
|
+
* way a later chrome-slot filler of the same order does. The overloads are
|
|
217
|
+
* how a caller that knows its surface gets the shape that surface mounts
|
|
218
|
+
* with, without narrowing at the call site. */
|
|
219
|
+
export function designTimeMountFor(kind: DesignTimeLayerKind): DesignTimeLayerMount | null;
|
|
220
|
+
export function designTimeMountFor(kind: DesignTimeStageKind): DesignTimeStageMount | null;
|
|
221
|
+
export function designTimeMountFor(kind: DesignTimeMountKind): DesignTimeMount | null;
|
|
222
|
+
export function designTimeMountFor(kind: DesignTimeMountKind): DesignTimeMount | null {
|
|
223
|
+
for (let i = _mounts.length - 1; i >= 0; i--) {
|
|
224
|
+
const mount = _mounts[i];
|
|
225
|
+
if (mount && mount.kind === kind) return mount;
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/** Registration changes only. A mounted layer's own staleness travels through
|
|
231
|
+
* that mount's `remountWhen`/`reprojectWhen` instead — see the module note. */
|
|
232
|
+
export function subscribeDesignTimeMounts(listener: () => void): () => void {
|
|
233
|
+
listeners.add(listener);
|
|
234
|
+
return () => {
|
|
235
|
+
listeners.delete(listener);
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/** Test-only reset (mirrors the restore, open, chrome-slot and content-source
|
|
240
|
+
* registries'). */
|
|
241
|
+
export function __resetDesignTimeMountsForTest(): void {
|
|
242
|
+
_mounts.length = 0;
|
|
243
|
+
publish();
|
|
244
|
+
}
|