@volter/sdk 0.0.0-stage → 0.5.203
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 +1166 -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 +317 -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 +403 -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,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BoundaryAuthoringAdapter — A1's read-only {@link AuthoringAdapter} for a
|
|
3
|
+
* manifest-declared world that is NOT currently mounted (edit mode only runs
|
|
4
|
+
* the manifest's sole Three world live — every other declared world is disclosed,
|
|
5
|
+
* not simulated; see `edit-mode-authoring.ts`'s doc comment for the seam this
|
|
6
|
+
* plugs into, and B1 for the "mount it live" upgrade path).
|
|
7
|
+
*
|
|
8
|
+
* A single node, one per world: label = the declared entry/scene document (or
|
|
9
|
+
* the world id when it has none), with error/read-only state carried as
|
|
10
|
+
* metadata rather than punctuation embedded in the name. `kind` = the
|
|
11
|
+
* manifest world kind, inspector exposes kind/adapter/entry-or-scene
|
|
12
|
+
* path/zOrder/pausable (+ `reason` when unresolvable) as READ-ONLY
|
|
13
|
+
* properties. No children, no live object, no structural/transform ops — this
|
|
14
|
+
* adapter's entire job is "say the world exists and why it isn't live yet".
|
|
15
|
+
*
|
|
16
|
+
* Resolvability is a CALLER decision (`edit-mode-authoring.ts` computes the
|
|
17
|
+
* reason from the manifest world entry) — this adapter just renders whatever
|
|
18
|
+
* reason string it's given; it never itself decides a world is broken.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
import type {
|
|
22
|
+
AuthoringAdapter,
|
|
23
|
+
AuthoringCapabilities,
|
|
24
|
+
AuthoringProvenance,
|
|
25
|
+
EditorNode,
|
|
26
|
+
HierarchyProvider,
|
|
27
|
+
InspectorProvider,
|
|
28
|
+
PickProvider,
|
|
29
|
+
PropertyDescriptor,
|
|
30
|
+
SelectionProvider,
|
|
31
|
+
} from '@volter/project/adapter';
|
|
32
|
+
import type { ShellStore } from '@volter/sdk/kit/shell-store';
|
|
33
|
+
|
|
34
|
+
/** The display-relevant slice of a manifest world entry — deliberately loose
|
|
35
|
+
* (plain strings, not the engine's validated `AdapterRoot['kind']` union) so
|
|
36
|
+
* an UNRESOLVABLE world (unknown kind, e.g.) can still be described. */
|
|
37
|
+
export interface BoundaryRootInfo {
|
|
38
|
+
readonly id: string;
|
|
39
|
+
readonly kind: string;
|
|
40
|
+
/** Display string for the manifest's `adapter` field (e.g. `'default'`,
|
|
41
|
+
* `'module:<path>'`) — omitted when not meaningfully derivable. */
|
|
42
|
+
readonly adapter?: string | undefined;
|
|
43
|
+
/** Whichever of `scene`/`entry` the world declares (display-only — this
|
|
44
|
+
* adapter never reads the file). */
|
|
45
|
+
readonly entryOrScenePath?: string | undefined;
|
|
46
|
+
readonly zOrder: number;
|
|
47
|
+
readonly pausable: boolean;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const NO_CAPABILITIES: AuthoringCapabilities = {
|
|
51
|
+
transform: false,
|
|
52
|
+
inspectorFields: false,
|
|
53
|
+
persist: false,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export class BoundaryAuthoringAdapter implements AuthoringAdapter {
|
|
57
|
+
readonly capabilities: AuthoringCapabilities = NO_CAPABILITIES;
|
|
58
|
+
|
|
59
|
+
readonly provenance: AuthoringProvenance = {
|
|
60
|
+
source: 'boundary',
|
|
61
|
+
label: 'read-only',
|
|
62
|
+
detail:
|
|
63
|
+
'Declared world without a live editing surface in this viewport — disclosed, not simulated; rows are read-only.',
|
|
64
|
+
};
|
|
65
|
+
private readonly world: BoundaryRootInfo;
|
|
66
|
+
/** Non-null ⇒ error-node mode (#18) — set by the caller, never computed here. */
|
|
67
|
+
private readonly reason: string | null;
|
|
68
|
+
private readonly store: ShellStore;
|
|
69
|
+
/**
|
|
70
|
+
* D12 (B4) — a design-time layer's own stage hit-test, wired in by
|
|
71
|
+
* `design-time-layers.ts`'s layer-mount success handler: when a mount
|
|
72
|
+
* returns a `pick` but NO authoring adapter (an opaque/foreign root that can
|
|
73
|
+
* report where a click landed without offering a source-authoring surface),
|
|
74
|
+
* that handler re-wraps the world's Boundary through this constructor
|
|
75
|
+
* parameter, so the pick rides on THIS adapter rather than a second
|
|
76
|
+
* substrate-specific one. Absent for every other Boundary (an unresolved or
|
|
77
|
+
* error world, and every world whose mount reported no `pick`) ⇒ this
|
|
78
|
+
* adapter reports no `pickable` at all. A plain
|
|
79
|
+
* conditionally-assigned field (not a getter always returning `{ pick:
|
|
80
|
+
* undefined }`) — this repo's `exactOptionalPropertyTypes` requires the key
|
|
81
|
+
* to be genuinely ABSENT, not present with an `undefined` value, to satisfy
|
|
82
|
+
* `AuthoringAdapter.pickable?: PickProvider`.
|
|
83
|
+
*/
|
|
84
|
+
readonly pickable?: PickProvider;
|
|
85
|
+
|
|
86
|
+
constructor(
|
|
87
|
+
store: ShellStore,
|
|
88
|
+
world: BoundaryRootInfo,
|
|
89
|
+
reason?: string,
|
|
90
|
+
pick?: PickProvider['pick'],
|
|
91
|
+
) {
|
|
92
|
+
this.store = store;
|
|
93
|
+
this.world = world;
|
|
94
|
+
this.reason = reason ?? null;
|
|
95
|
+
if (pick) this.pickable = { pick };
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Why this world has no live editing surface, when the caller said so. */
|
|
99
|
+
get disclosure(): string | null {
|
|
100
|
+
return this.reason;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private get label(): string {
|
|
104
|
+
return this.world.entryOrScenePath?.split('/').pop() ?? this.world.id;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
private get node(): EditorNode {
|
|
108
|
+
return {
|
|
109
|
+
id: this.world.id,
|
|
110
|
+
label: this.label,
|
|
111
|
+
secondaryLabel: this.reason ? 'Unavailable' : 'Read-only',
|
|
112
|
+
role: 'boundary',
|
|
113
|
+
kind: this.world.kind,
|
|
114
|
+
parentId: null,
|
|
115
|
+
childIds: [],
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
readonly hierarchy: HierarchyProvider = {
|
|
120
|
+
roots: (): EditorNode[] => [this.node],
|
|
121
|
+
node: (id) => (id === this.world.id ? this.node : null),
|
|
122
|
+
// No `object3D`/`idForObject3D`: a boundary node has no live object at all.
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Selection delegates to the editor-global {@link ShellStore} selection set
|
|
127
|
+
* — the SAME seam `ThreeAuthoringAdapter`/`ReactRootAuthoringAdapter` use
|
|
128
|
+
* (selection is editor UI state, not a per-adapter document concern). Without
|
|
129
|
+
* this, clicking a Boundary/error node in `IngestHierarchy` (the panel the
|
|
130
|
+
* composite drives) would be a silent no-op, so the node — and its `reason`
|
|
131
|
+
* (#18) — could never be selected or inspected (defect 3). It also makes the
|
|
132
|
+
* composite's empty-clear (`selection.set([])` routed to `children[0]`) work
|
|
133
|
+
* when a Boundary sorts first (defect 4).
|
|
134
|
+
*/
|
|
135
|
+
readonly selection: SelectionProvider = {
|
|
136
|
+
get: () => [...this.store.selectedEntityIds],
|
|
137
|
+
set: (ids) => this.store.selectMultiple(ids),
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
readonly inspector: InspectorProvider = {
|
|
141
|
+
properties: (id): PropertyDescriptor[] => {
|
|
142
|
+
if (id !== this.world.id) return [];
|
|
143
|
+
const props: PropertyDescriptor[] = [
|
|
144
|
+
{ path: 'kind', label: 'Kind', type: 'string', readonly: true },
|
|
145
|
+
];
|
|
146
|
+
if (this.world.adapter !== undefined) {
|
|
147
|
+
props.push({ path: 'adapter', label: 'Adapter', type: 'string', readonly: true });
|
|
148
|
+
}
|
|
149
|
+
if (this.world.entryOrScenePath !== undefined) {
|
|
150
|
+
props.push({ path: 'path', label: 'Entry / Scene', type: 'string', readonly: true });
|
|
151
|
+
}
|
|
152
|
+
props.push(
|
|
153
|
+
{ path: 'zOrder', label: 'Z Order', type: 'number', readonly: true },
|
|
154
|
+
{ path: 'pausable', label: 'Pausable', type: 'boolean', readonly: true },
|
|
155
|
+
);
|
|
156
|
+
if (this.reason) {
|
|
157
|
+
props.push({ path: 'reason', label: 'Reason', type: 'string', readonly: true });
|
|
158
|
+
}
|
|
159
|
+
return props;
|
|
160
|
+
},
|
|
161
|
+
get: (id, path) => {
|
|
162
|
+
if (id !== this.world.id) return undefined;
|
|
163
|
+
switch (path) {
|
|
164
|
+
case 'kind':
|
|
165
|
+
return this.world.kind;
|
|
166
|
+
case 'adapter':
|
|
167
|
+
return this.world.adapter;
|
|
168
|
+
case 'path':
|
|
169
|
+
return this.world.entryOrScenePath;
|
|
170
|
+
case 'zOrder':
|
|
171
|
+
return this.world.zOrder;
|
|
172
|
+
case 'pausable':
|
|
173
|
+
return this.world.pausable;
|
|
174
|
+
case 'reason':
|
|
175
|
+
return this.reason ?? undefined;
|
|
176
|
+
default:
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
// Read-only — every property above is display-derived from the manifest;
|
|
181
|
+
// there is nowhere to persist a write to (matches how a not-yet-mounted
|
|
182
|
+
// world has no live document). No-op rather than throw, matching the
|
|
183
|
+
// reserved-paths convention's "adapters that don't support a path simply
|
|
184
|
+
// don't offer it" floor.
|
|
185
|
+
set: (_id, _path, _value) => {
|
|
186
|
+
// Intentionally inert.
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import type { RootViewController } from '@volter/sdk/kit/world-pan-state';
|
|
2
|
+
|
|
3
|
+
export interface CanvasSceneGuide {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly axis: 'x' | 'y';
|
|
6
|
+
readonly value: number;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
interface GuideState {
|
|
10
|
+
guides: CanvasSceneGuide[];
|
|
11
|
+
listeners: Set<() => void>;
|
|
12
|
+
revision: number;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const states = new WeakMap<RootViewController, GuideState>();
|
|
16
|
+
let nextGuideId = 0;
|
|
17
|
+
|
|
18
|
+
function stateFor(view: RootViewController): GuideState {
|
|
19
|
+
let state = states.get(view);
|
|
20
|
+
if (!state) {
|
|
21
|
+
state = { guides: [], listeners: new Set(), revision: 0 };
|
|
22
|
+
states.set(view, state);
|
|
23
|
+
}
|
|
24
|
+
return state;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function publish(state: GuideState): void {
|
|
28
|
+
state.revision += 1;
|
|
29
|
+
for (const listener of state.listeners) listener();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function canvasSceneGuides(view: RootViewController): readonly CanvasSceneGuide[] {
|
|
33
|
+
return stateFor(view).guides;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function canvasSceneGuideRevision(view: RootViewController): number {
|
|
37
|
+
return stateFor(view).revision;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function subscribeCanvasSceneGuides(
|
|
41
|
+
view: RootViewController,
|
|
42
|
+
listener: () => void,
|
|
43
|
+
): () => void {
|
|
44
|
+
const state = stateFor(view);
|
|
45
|
+
state.listeners.add(listener);
|
|
46
|
+
return () => state.listeners.delete(listener);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function addCanvasSceneGuide(
|
|
50
|
+
view: RootViewController,
|
|
51
|
+
axis: CanvasSceneGuide['axis'],
|
|
52
|
+
value: number,
|
|
53
|
+
): string {
|
|
54
|
+
nextGuideId += 1;
|
|
55
|
+
const state = stateFor(view);
|
|
56
|
+
const id = `canvas-guide-${nextGuideId}`;
|
|
57
|
+
state.guides = [...state.guides, { id, axis, value }];
|
|
58
|
+
publish(state);
|
|
59
|
+
return id;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export function moveCanvasSceneGuide(view: RootViewController, id: string, value: number): void {
|
|
63
|
+
const state = stateFor(view);
|
|
64
|
+
const next = state.guides.map((guide) => (guide.id === id ? { ...guide, value } : guide));
|
|
65
|
+
if (next.every((guide, index) => guide === state.guides[index])) return;
|
|
66
|
+
state.guides = next;
|
|
67
|
+
publish(state);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export function removeCanvasSceneGuide(view: RootViewController, id: string): void {
|
|
71
|
+
const state = stateFor(view);
|
|
72
|
+
const next = state.guides.filter((guide) => guide.id !== id);
|
|
73
|
+
if (next.length === state.guides.length) return;
|
|
74
|
+
state.guides = next;
|
|
75
|
+
publish(state);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Remove every guide of this view (Godot's View › Clear Guides). */
|
|
79
|
+
export function clearCanvasSceneGuides(view: RootViewController): void {
|
|
80
|
+
const state = stateFor(view);
|
|
81
|
+
if (state.guides.length === 0) return;
|
|
82
|
+
state.guides = [];
|
|
83
|
+
publish(state);
|
|
84
|
+
}
|