@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
package/src/account.ts
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// Account identity and billing preference are host configuration, never generation-call inputs.
|
|
4
|
+
export const AccountBackendSchema = z.enum(['mock', 'live']);
|
|
5
|
+
export const AccountPlanSchema = z.object({
|
|
6
|
+
id: z.string().min(1),
|
|
7
|
+
name: z.string().min(1),
|
|
8
|
+
status: z.enum(['free', 'trialing', 'active', 'past_due', 'cancelling']),
|
|
9
|
+
interval: z.enum(['month', 'year']).optional(),
|
|
10
|
+
renewsAt: z.string().datetime().optional(),
|
|
11
|
+
endsAt: z.string().datetime().optional(),
|
|
12
|
+
});
|
|
13
|
+
export const AccountCreditsSchema = z.object({
|
|
14
|
+
included: z.number().nonnegative(),
|
|
15
|
+
purchased: z.number().nonnegative(),
|
|
16
|
+
used: z.number().nonnegative(),
|
|
17
|
+
reserved: z.number().nonnegative(),
|
|
18
|
+
remaining: z.number().nonnegative(),
|
|
19
|
+
resetsAt: z.string().datetime().optional(),
|
|
20
|
+
purchasedExpiresAt: z.string().datetime().optional(),
|
|
21
|
+
});
|
|
22
|
+
export const AccountSpendPolicySchema = z.object({
|
|
23
|
+
overageEnabled: z.boolean(),
|
|
24
|
+
monthlyLimitCredits: z.number().nonnegative(),
|
|
25
|
+
alertThresholds: z.array(z.number().min(1).max(100)).max(8),
|
|
26
|
+
autoReload: z
|
|
27
|
+
.object({
|
|
28
|
+
enabled: z.boolean(),
|
|
29
|
+
whenRemainingBelow: z.number().nonnegative(),
|
|
30
|
+
reloadTo: z.number().positive(),
|
|
31
|
+
monthlyLimitCredits: z.number().nonnegative(),
|
|
32
|
+
})
|
|
33
|
+
.optional(),
|
|
34
|
+
});
|
|
35
|
+
export const AccountAlertSchema = z.object({
|
|
36
|
+
id: z.string().min(1),
|
|
37
|
+
kind: z.enum(['threshold', 'auto_reload_succeeded', 'auto_reload_failed']),
|
|
38
|
+
message: z.string().min(1),
|
|
39
|
+
createdAt: z.string().datetime(),
|
|
40
|
+
readAt: z.string().datetime().optional(),
|
|
41
|
+
});
|
|
42
|
+
export const AccountUserSchema = z.object({
|
|
43
|
+
id: z.string().min(1),
|
|
44
|
+
email: z.string().email(),
|
|
45
|
+
name: z.string().min(1).optional(),
|
|
46
|
+
});
|
|
47
|
+
export const AccountOrganizationDomainSchema = z.object({
|
|
48
|
+
name: z.string().min(1),
|
|
49
|
+
verified: z.boolean(),
|
|
50
|
+
enrollmentMode: z.enum([
|
|
51
|
+
'manual_invitation',
|
|
52
|
+
'automatic_invitation',
|
|
53
|
+
'automatic_suggestion',
|
|
54
|
+
'enterprise_sso',
|
|
55
|
+
]),
|
|
56
|
+
});
|
|
57
|
+
export const AccountOrganizationSchema = z.object({
|
|
58
|
+
id: z.string().min(1),
|
|
59
|
+
name: z.string().min(1),
|
|
60
|
+
slug: z.string().min(1).optional(),
|
|
61
|
+
role: z.string().min(1),
|
|
62
|
+
domains: z.array(AccountOrganizationDomainSchema).max(50),
|
|
63
|
+
});
|
|
64
|
+
export const AccountUsageEntrySchema = z.object({
|
|
65
|
+
id: z.string().min(1),
|
|
66
|
+
occurredAt: z.string().datetime(),
|
|
67
|
+
kind: z.enum(['inference', 'generation', 'workspace', 'storage', 'relay', 'deployment']),
|
|
68
|
+
provider: z.string().min(1),
|
|
69
|
+
operation: z.string().optional(),
|
|
70
|
+
credits: z.number().nonnegative(),
|
|
71
|
+
state: z.enum(['reserved', 'settled', 'released']),
|
|
72
|
+
externalId: z.string().optional(),
|
|
73
|
+
});
|
|
74
|
+
export const AccountPlanIdSchema = z.enum(['free', 'creator', 'max', 'ultra']);
|
|
75
|
+
export const AccountCatalogSchema = z.object({
|
|
76
|
+
plans: z.object({
|
|
77
|
+
free: z.object({
|
|
78
|
+
name: z.string().min(1),
|
|
79
|
+
includedCredits: z.number().int().nonnegative(),
|
|
80
|
+
monthlyPriceUsd: z.number().nonnegative().optional(),
|
|
81
|
+
}),
|
|
82
|
+
creator: z.object({
|
|
83
|
+
name: z.string().min(1),
|
|
84
|
+
includedCredits: z.number().int().nonnegative(),
|
|
85
|
+
monthlyPriceUsd: z.number().nonnegative().optional(),
|
|
86
|
+
}),
|
|
87
|
+
max: z.object({
|
|
88
|
+
name: z.string().min(1),
|
|
89
|
+
includedCredits: z.number().int().nonnegative(),
|
|
90
|
+
monthlyPriceUsd: z.number().nonnegative().optional(),
|
|
91
|
+
}),
|
|
92
|
+
ultra: z.object({
|
|
93
|
+
name: z.string().min(1),
|
|
94
|
+
includedCredits: z.number().int().nonnegative(),
|
|
95
|
+
monthlyPriceUsd: z.number().nonnegative().optional(),
|
|
96
|
+
}),
|
|
97
|
+
}),
|
|
98
|
+
creditPacks: z.record(
|
|
99
|
+
z.string().min(1),
|
|
100
|
+
z.object({
|
|
101
|
+
name: z.string().min(1),
|
|
102
|
+
credits: z.number().int().positive(),
|
|
103
|
+
expiresInDays: z.number().int().positive().optional(),
|
|
104
|
+
}),
|
|
105
|
+
),
|
|
106
|
+
});
|
|
107
|
+
export const AccountSnapshotSchema = z.discriminatedUnion('authenticated', [
|
|
108
|
+
z.object({ authenticated: z.literal(false), backend: AccountBackendSchema }),
|
|
109
|
+
z.object({
|
|
110
|
+
authenticated: z.literal(true),
|
|
111
|
+
backend: AccountBackendSchema,
|
|
112
|
+
user: AccountUserSchema,
|
|
113
|
+
organizations: z.array(AccountOrganizationSchema).max(100).optional(),
|
|
114
|
+
plan: AccountPlanSchema,
|
|
115
|
+
credits: AccountCreditsSchema,
|
|
116
|
+
spendPolicy: AccountSpendPolicySchema,
|
|
117
|
+
alerts: z.array(AccountAlertSchema).max(100).optional(),
|
|
118
|
+
entitlements: z.object({
|
|
119
|
+
generation: z.boolean(),
|
|
120
|
+
dailyJobs: z.number().int().positive().optional(),
|
|
121
|
+
}),
|
|
122
|
+
}),
|
|
123
|
+
]);
|
|
124
|
+
/** Product-facing routes. Provider tools may translate BYOK to their native
|
|
125
|
+
* transport name (`direct`) internally. */
|
|
126
|
+
export const GenerationExecutionRouteSchema = z.enum(['auto', 'mock', 'managed', 'byok']);
|
|
127
|
+
export const ProviderCredentialIdSchema = z.enum(['fal', 'tripo', 'worldlabs', 'openrouter']);
|
|
128
|
+
export const CodingInferenceSettingsSchema = z.object({
|
|
129
|
+
enabled: z.boolean(),
|
|
130
|
+
provider: z.literal('openrouter'),
|
|
131
|
+
model: z.string().trim().min(1).max(256),
|
|
132
|
+
});
|
|
133
|
+
export const ProviderCredentialSourceSchema = z.enum(['environment', 'system', 'session', 'none']);
|
|
134
|
+
export const ProviderCredentialStatusSchema = z.object({
|
|
135
|
+
provider: ProviderCredentialIdSchema,
|
|
136
|
+
label: z.string().min(1),
|
|
137
|
+
environmentVariable: z.string().min(1),
|
|
138
|
+
configured: z.boolean(),
|
|
139
|
+
source: ProviderCredentialSourceSchema,
|
|
140
|
+
editable: z.boolean(),
|
|
141
|
+
persistence: z.enum(['system', 'session']),
|
|
142
|
+
maskedKey: z.string().min(1).optional(),
|
|
143
|
+
problem: z.string().min(1).optional(),
|
|
144
|
+
});
|
|
145
|
+
export const ProviderCredentialTestResultSchema = z.object({
|
|
146
|
+
provider: ProviderCredentialIdSchema,
|
|
147
|
+
ok: z.literal(true),
|
|
148
|
+
testedAt: z.string().datetime(),
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
export type AccountBackend = z.infer<typeof AccountBackendSchema>;
|
|
152
|
+
export type AccountPlan = z.infer<typeof AccountPlanSchema>;
|
|
153
|
+
export type AccountCredits = z.infer<typeof AccountCreditsSchema>;
|
|
154
|
+
export type AccountSpendPolicy = z.infer<typeof AccountSpendPolicySchema>;
|
|
155
|
+
export type AccountAlert = z.infer<typeof AccountAlertSchema>;
|
|
156
|
+
export type AccountUser = z.infer<typeof AccountUserSchema>;
|
|
157
|
+
export type AccountOrganization = z.infer<typeof AccountOrganizationSchema>;
|
|
158
|
+
export type AccountOrganizationDomain = z.infer<typeof AccountOrganizationDomainSchema>;
|
|
159
|
+
export type AccountUsageEntry = z.infer<typeof AccountUsageEntrySchema>;
|
|
160
|
+
export type AccountPlanId = z.infer<typeof AccountPlanIdSchema>;
|
|
161
|
+
export type AccountCatalog = z.infer<typeof AccountCatalogSchema>;
|
|
162
|
+
export type AccountSnapshot = z.infer<typeof AccountSnapshotSchema>;
|
|
163
|
+
export type GenerationExecutionRoute = z.infer<typeof GenerationExecutionRouteSchema>;
|
|
164
|
+
export type CodingInferenceSettings = z.infer<typeof CodingInferenceSettingsSchema>;
|
|
165
|
+
export type ProviderCredentialId = z.infer<typeof ProviderCredentialIdSchema>;
|
|
166
|
+
export type ProviderCredentialSource = z.infer<typeof ProviderCredentialSourceSchema>;
|
|
167
|
+
export type ProviderCredentialStatus = z.infer<typeof ProviderCredentialStatusSchema>;
|
|
168
|
+
export type ProviderCredentialTestResult = z.infer<typeof ProviderCredentialTestResultSchema>;
|
|
169
|
+
export type EditorAccountSnapshot = AccountSnapshot & {
|
|
170
|
+
/** Which identity/payment surface backs this editor session. The in-process
|
|
171
|
+
* mock value exists only for isolated unit tests. */
|
|
172
|
+
accountEnvironment: 'test-mock' | 'development-twin' | 'production';
|
|
173
|
+
routes: { mock: true; managed: boolean; byok: boolean; byokProviders: string[] };
|
|
174
|
+
preferredRoute: GenerationExecutionRoute;
|
|
175
|
+
/** Editor-only metadata. Credential values never cross the server boundary. */
|
|
176
|
+
providerCredentials: ProviderCredentialStatus[];
|
|
177
|
+
codingInference: CodingInferenceSettings;
|
|
178
|
+
};
|
|
179
|
+
export interface GenerationAccountProjection {
|
|
180
|
+
routes: EditorAccountSnapshot['routes'];
|
|
181
|
+
preferredRoute: GenerationExecutionRoute;
|
|
182
|
+
}
|
|
183
|
+
export function generationAccountProjection(
|
|
184
|
+
account: EditorAccountSnapshot,
|
|
185
|
+
): GenerationAccountProjection {
|
|
186
|
+
return {
|
|
187
|
+
routes: {
|
|
188
|
+
mock: true,
|
|
189
|
+
managed: account.routes.managed,
|
|
190
|
+
byok: account.routes.byok,
|
|
191
|
+
byokProviders: [...account.routes.byokProviders],
|
|
192
|
+
},
|
|
193
|
+
preferredRoute: account.preferredRoute,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
export const EditorAccountSnapshotSchema: z.ZodType<EditorAccountSnapshot> = z.intersection(
|
|
197
|
+
AccountSnapshotSchema,
|
|
198
|
+
z.object({
|
|
199
|
+
accountEnvironment: z.enum(['test-mock', 'development-twin', 'production']),
|
|
200
|
+
routes: z.object({
|
|
201
|
+
mock: z.literal(true),
|
|
202
|
+
managed: z.boolean(),
|
|
203
|
+
byok: z.boolean(),
|
|
204
|
+
byokProviders: z.array(z.string().min(1)),
|
|
205
|
+
}),
|
|
206
|
+
preferredRoute: GenerationExecutionRouteSchema,
|
|
207
|
+
providerCredentials: z.array(ProviderCredentialStatusSchema),
|
|
208
|
+
codingInference: CodingInferenceSettingsSchema,
|
|
209
|
+
}),
|
|
210
|
+
);
|
package/src/chrome.ts
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE CHROME POINTS — palette actions and menu items a package contributes
|
|
3
|
+
* (WORKBENCH.md §Contribution points). Both are data: an id, a label and what
|
|
4
|
+
* happens on choose. The host renders them where its own live: a contributed
|
|
5
|
+
* action in the command palette beside the editor's, a contributed item at the
|
|
6
|
+
* end of the named application menu.
|
|
7
|
+
*
|
|
8
|
+
* `profiler.action.ts` export const point = 'workspace.action'; export const actions: ActionContribution['actions']
|
|
9
|
+
* `navmesh.menu.ts` export const point = 'workspace.menu'; export const menu: MenuContribution
|
|
10
|
+
*
|
|
11
|
+
* A contribution's id is namespaced by the host under `tool:` like a
|
|
12
|
+
* utility's, so it can never collide with an editor action. `disabled` is
|
|
13
|
+
* asked at render, so an item may follow session state (a bake that has no
|
|
14
|
+
* navigation adapter to run on).
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import type { EditorKeyActionId } from '@volter/project/adapter/editor-looks';
|
|
18
|
+
|
|
19
|
+
export interface ContributedAction {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly label: string;
|
|
22
|
+
readonly execute: () => void | Promise<void>;
|
|
23
|
+
/** The key action this entry also is: the palette prints that action's chord
|
|
24
|
+
* in the ACTIVE keymap beside it. */
|
|
25
|
+
readonly shortcut?: EditorKeyActionId;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface ActionContribution {
|
|
29
|
+
/**
|
|
30
|
+
* The palette actions — a fixed list, or a function for a LIVE set (one
|
|
31
|
+
* action per running XState actor): the host asks it when the palette
|
|
32
|
+
* opens and again whenever `subscribe` fires, the way a menu item's
|
|
33
|
+
* `disabled` is asked at render.
|
|
34
|
+
*/
|
|
35
|
+
readonly actions: readonly ContributedAction[] | (() => readonly ContributedAction[]);
|
|
36
|
+
/** Fires when a live `actions` set moved. Returns the unsubscribe. */
|
|
37
|
+
readonly subscribe?: (listener: () => void) => () => void;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** The application menus a package may append to (`edit` is the host's
|
|
41
|
+
* own — its verbs are the history's and the selection's), and `asset`: the
|
|
42
|
+
* Asset Browser's context menu on one asset, whose items receive the asset. */
|
|
43
|
+
export type ContributableMenu = 'view' | 'window' | 'debug' | 'tools' | 'help' | 'asset';
|
|
44
|
+
|
|
45
|
+
/** What a context menu's item is invoked ON. Empty for the application menus. */
|
|
46
|
+
export interface MenuSubject {
|
|
47
|
+
/** The project-relative path of the asset the `asset` menu opened on. */
|
|
48
|
+
readonly assetPath?: string;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface ContributedMenuItem {
|
|
52
|
+
readonly id: string;
|
|
53
|
+
readonly label: string | (() => string);
|
|
54
|
+
readonly execute: (subject: MenuSubject) => void | Promise<void>;
|
|
55
|
+
readonly disabled?: (subject: MenuSubject) => boolean;
|
|
56
|
+
/** A `data-testid` for the item, when a driver needs to find it. */
|
|
57
|
+
readonly testId?: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface MenuContribution {
|
|
61
|
+
readonly menu: ContributableMenu;
|
|
62
|
+
readonly items: readonly ContributedMenuItem[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* A HEADER item (`.header.tsx`, `point = 'workspace.header'`): a component
|
|
67
|
+
* the host renders in the project header's transport cluster, in `order`.
|
|
68
|
+
* The Play transport is the worked case — a package that plays a game puts
|
|
69
|
+
* its play/pause/stop there; a project that declares nothing to run has an
|
|
70
|
+
* empty cluster.
|
|
71
|
+
*/
|
|
72
|
+
export interface HeaderContribution {
|
|
73
|
+
readonly order?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Where the item renders: the project header's transport cluster (the
|
|
76
|
+
* default), or the 3D document's toolbar (`object3d-document`), where the
|
|
77
|
+
* component receives the open document's id and resolves its subject through
|
|
78
|
+
* its own integration. A runtime debug toggle on a mounted model lives there.
|
|
79
|
+
*/
|
|
80
|
+
readonly placement?: HeaderPlacement;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export type HeaderPlacement = 'transport' | 'object3d-document';
|
|
84
|
+
|
|
85
|
+
/** What a `object3d-document` header item is rendered with. */
|
|
86
|
+
export interface DocumentHeaderItemProps {
|
|
87
|
+
readonly documentId: string;
|
|
88
|
+
}
|