@volter/cyclotron 0.5.212 → 0.5.213
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/BUNDLED_NOTICES +375 -2995
- package/README.md +9 -5
- package/dist/.vite/manifest.json +529 -1764
- package/dist/assets/AudioViewer-B5pkIGXS.js +1 -0
- package/dist/assets/ImageViewer-BPVLEEQ2.js +1 -0
- package/dist/assets/JsonAssetDocument-DuVW9del.js +2 -0
- package/dist/assets/ProjectAuthoringBootstrap-CZJz4Svb.js +2 -0
- package/dist/assets/SourceAssetViewer-LwHBW53R.js +1 -0
- package/dist/assets/VideoViewer-Bfjjp4zH.js +1 -0
- package/dist/assets/{client-Dj2xr2fw.js → client-BLXKEWrR.js} +1 -1
- package/dist/assets/{index-Bc73pJIv.js → index-BKjLHm6K.js} +131 -131
- package/dist/assets/index-CJcVFJ-l.css +1 -0
- package/dist/assets/product-CaIfLQVS.js +1 -0
- package/dist/assets/story-capture-C3xmgE62.js +1 -0
- package/dist/assets/volter-sdk-DT0xmh2J.js +1407 -0
- package/dist/assets/volter-sdk-activation-events-B-WERmWU.js +1 -0
- package/dist/assets/volter-sdk-active-project-DvEsy8Q6.js +1 -0
- package/dist/assets/volter-sdk-adapter-editor-config-CQ5V6W-o.js +1 -0
- package/dist/assets/volter-sdk-animation-animation-clock-Cy7j_2qF.js +1 -0
- package/dist/assets/volter-sdk-animation-stage-transport-DoUDq6Gb.js +1 -0
- package/dist/assets/volter-sdk-api-base-Dr1bx5e0.js +1 -0
- package/dist/assets/volter-sdk-api-project-open-D4nPvIPU.js +1 -0
- package/dist/assets/volter-sdk-api-project-source-DoO7WBwQ.js +1 -0
- package/dist/assets/volter-sdk-api-settings-BEHgO5wf.js +1 -0
- package/dist/assets/volter-sdk-asset-capabilities-CGkNwaAe.js +1 -0
- package/dist/assets/volter-sdk-asset-document-write-policy-CzWM1HhK.js +1 -0
- package/dist/assets/volter-sdk-asset-editor-context-BkSK1vL1.js +1 -0
- package/dist/assets/volter-sdk-asset-thumbnails-zSmJgI_x.js +1 -0
- package/dist/assets/volter-sdk-asset-viewers-B-ICvlkR.js +1 -0
- package/dist/assets/volter-sdk-asset-workflow-project-content-C6Ow0R-F.js +1 -0
- package/dist/assets/volter-sdk-authoring-active-adapter-CKuWwxgH.js +1 -0
- package/dist/assets/volter-sdk-authoring-boundary-authoring-adapter-DTwFKBkS.js +1 -0
- package/dist/assets/volter-sdk-authoring-composite-authoring-adapter-iRSbSHpV.js +1 -0
- package/dist/assets/volter-sdk-authoring-consumer-actions-DK9-B-wg.js +1 -0
- package/dist/assets/volter-sdk-authoring-design-time-mount-registry-BQnWcBVe.js +1 -0
- package/dist/assets/volter-sdk-authoring-design-time-roots-BKSmkD7_.js +1 -0
- package/dist/assets/volter-sdk-authoring-layered-pick-C-YvuxEG.js +1 -0
- package/dist/assets/volter-sdk-authoring-no-authoring-adapter-Cv9DD6G0.js +1 -0
- package/dist/assets/volter-sdk-authoring-panel-authoring-BLOrFs8L.js +1 -0
- package/dist/assets/volter-sdk-authoring-react-design-canvas-style-Dr9i31o5.js +1 -0
- package/dist/assets/{volter-sdk-authoring-react-story-board-aeiEUlbU.js → volter-sdk-authoring-react-story-board-BlCQQM-8.js} +1 -1
- package/dist/assets/volter-sdk-authoring-seam-evidence-CjetY_ZG.js +1 -0
- package/dist/assets/volter-sdk-authoring-selection-scope-BxmbC71H.js +1 -0
- package/dist/assets/volter-sdk-authoring-shell-document-ops-DDb8oGx9.js +1 -0
- package/dist/assets/volter-sdk-authoring-stage-root-B50LLhnJ.js +1 -0
- package/dist/assets/volter-sdk-authoring-story-board-chrome-fit-BVV9fbcw.js +1 -0
- package/dist/assets/{volter-sdk-authoring-viewport-tool-context-DzsD6JQH.js → volter-sdk-authoring-viewport-tool-context-cQafPSkT.js} +1 -1
- package/dist/assets/volter-sdk-authoring-viewport-tool-owner-BppqL4f_.js +1 -0
- package/dist/assets/volter-sdk-authoring-world-session-state-BlpdiKod.js +1 -0
- package/dist/assets/volter-sdk-bitmap-label-BbtGPWgP.js +1 -0
- package/dist/assets/{volter-sdk-breakpoint-state-BPnDN_XU.js → volter-sdk-breakpoint-state-DCFuSvgm.js} +1 -1
- package/dist/assets/volter-sdk-bytes-codec-CrNeVT4e.js +1 -0
- package/dist/assets/volter-sdk-cancellation-reason-ByOH3mlF.js +1 -0
- package/dist/assets/volter-sdk-canvas-frames-BU8Rqr4J.js +1 -0
- package/dist/assets/volter-sdk-capture-size-D4cNT2XC.js +1 -0
- package/dist/assets/volter-sdk-chrome-registry-qHUiDauw.js +1 -0
- package/dist/assets/volter-sdk-command-result-text-2wzEhQ5t.js +1 -0
- package/dist/assets/volter-sdk-commands-C4RgHEOa.js +1 -0
- package/dist/assets/volter-sdk-component-board-registry-6gFZBkTP.js +1 -0
- package/dist/assets/volter-sdk-components-AssetEditorShell-CQVLedvW.js +1 -0
- package/dist/assets/volter-sdk-components-InspectorCanvasPreview-CN5ROhNT.js +1 -0
- package/dist/assets/volter-sdk-components-SurfaceStateOverlay-Cc9Ov1Ol.js +1 -0
- package/dist/assets/{volter-sdk-components-AssetEditorShell-BJL1am3b.js → volter-sdk-components-Toolbar-ZoV9Yq_A.js} +1 -1
- package/dist/assets/volter-sdk-components-TransientHint-BML2V3uu.js +1 -0
- package/dist/assets/volter-sdk-components-inspector-preview-section-BhDjhUyz.js +1 -0
- package/dist/assets/volter-sdk-components-use-after-paint-BVSO4qjV.js +1 -0
- package/dist/assets/volter-sdk-components-workspace-history-CThvGfsY.js +1 -0
- package/dist/assets/volter-sdk-content-entry-source-registry-CJLVq3tC.js +1 -0
- package/dist/assets/volter-sdk-contribution-surfaces-CeEDmriM.js +1 -0
- package/dist/assets/volter-sdk-contributions-x6j41XZp.js +1 -0
- package/dist/assets/volter-sdk-coverage-design-time-surfaces-D-tNGazo.js +1 -0
- package/dist/assets/volter-sdk-creation-site-registry-64gyrZPD.js +1 -0
- package/dist/assets/volter-sdk-css-numeric-style-CXeWqAoG.js +1 -0
- package/dist/assets/volter-sdk-declared-tools-BAzHxyUW.js +1 -0
- package/dist/assets/{volter-sdk-document-areas-x47hqeuC.js → volter-sdk-document-areas-4DXjy0el.js} +1 -1
- package/dist/assets/volter-sdk-document-layer-B4VYMPZ9.js +1 -0
- package/dist/assets/volter-sdk-document-open-registry-BLDMaEoN.js +1 -0
- package/dist/assets/volter-sdk-document-play-extension-Dv3fyS6K.js +1 -0
- package/dist/assets/volter-sdk-document-probe-drBhAyza.js +1 -0
- package/dist/assets/volter-sdk-document-stage-sessions-CtI9anAf.js +1 -0
- package/dist/assets/volter-sdk-document-viewports-BO0N7VyN.js +1 -0
- package/dist/assets/volter-sdk-editor-commands-BJ9Otxzu.js +1 -0
- package/dist/assets/volter-sdk-editor-console-BaGgfWmH.js +1 -0
- package/dist/assets/volter-sdk-editor-document-probe-D0ZhaXHx.js +1 -0
- package/dist/assets/volter-sdk-editor-mode-B07FDozS.js +1 -0
- package/dist/assets/volter-sdk-editor-runtime-D00Du7hG.js +1 -0
- package/dist/assets/volter-sdk-editor-server-response-C6kOPAsW.js +1 -0
- package/dist/assets/volter-sdk-editor-session-attribution-CggpIFb4.js +1 -0
- package/dist/assets/volter-sdk-editor-view-DEMsxlaT.js +1 -0
- package/dist/assets/volter-sdk-environment-images-OQtFG1kA.js +1 -0
- package/dist/assets/volter-sdk-extension-script-DanTHcyo.js +1 -0
- package/dist/assets/volter-sdk-eyedropper-session-BfVXtjzc.js +1 -0
- package/dist/assets/volter-sdk-files-file-provider-CXL6oCMd.js +1 -0
- package/dist/assets/volter-sdk-files-project-files-SBAE37py.js +1 -0
- package/dist/assets/volter-sdk-framed-document-capture-7TnE8pn1.js +1 -0
- package/dist/assets/volter-sdk-framed-document-driver-C0K3-SRt.js +1 -0
- package/dist/assets/volter-sdk-hierarchy-component-marks-BmJEMvvO.js +1 -0
- package/dist/assets/volter-sdk-hierarchy-kind-icon-CrwdpecY.js +1 -0
- package/dist/assets/{volter-sdk-hierarchy-node-rows-CNCdvWZM.js → volter-sdk-hierarchy-node-rows-FcK7_ULi.js} +1 -1
- package/dist/assets/{volter-sdk-hierarchy-projection-BXet4MmW.js → volter-sdk-hierarchy-projection-CKzUOZUa.js} +1 -1
- package/dist/assets/volter-sdk-hierarchy-row-media-Czg40Ddi.js +1 -0
- package/dist/assets/volter-sdk-hierarchy-row-model-BGzmcywF.js +1 -0
- package/dist/assets/volter-sdk-hierarchy-rows-VAI0psTR.js +1 -0
- package/dist/assets/volter-sdk-hierarchy-walk-CaVqG7v2.js +1 -0
- package/dist/assets/volter-sdk-history-history-delegate-DH_xBvdh.js +1 -0
- package/dist/assets/volter-sdk-history-history-service-D0n0Gl5Z.js +1 -0
- package/dist/assets/volter-sdk-history-persistence-coordinator-CcywAFdm.js +1 -0
- package/dist/assets/volter-sdk-history-resource-registry-DMTlnwGv.js +1 -0
- package/dist/assets/volter-sdk-history-snapshot-store-BVh1DtBp.js +1 -0
- package/dist/assets/volter-sdk-history-source-history-backend-ulJ-65tX.js +1 -0
- package/dist/assets/volter-sdk-hmr-registration-group-DvMQVKyO.js +1 -0
- package/dist/assets/volter-sdk-hmr-stable-react-context-BMVr5YVk.js +1 -0
- package/dist/assets/volter-sdk-host-D765Py2w.js +1 -0
- package/dist/assets/{volter-sdk-hotkeys-D8xO5kx0.js → volter-sdk-hotkeys-TesTKdAZ.js} +1 -1
- package/dist/assets/{volter-sdk-index-CTFkHN4C.js → volter-sdk-index-BABXozHr.js} +1 -1
- package/dist/assets/volter-sdk-inference-diagnostics-CsDbQ0M5.js +1 -0
- package/dist/assets/volter-sdk-inspection-document-subject-BMRD77Va.js +1 -0
- package/dist/assets/volter-sdk-inspection-group-icons-Wpz-YhkE.js +1 -0
- package/dist/assets/volter-sdk-inspection-model-BVOyStdc.js +1 -0
- package/dist/assets/volter-sdk-inspection-node-media-B8AL8_3F.js +1 -0
- package/dist/assets/volter-sdk-inspection-null-subject-d5bQZCbS.js +1 -0
- package/dist/assets/volter-sdk-inspector-property-grouping-BqrZkwo4.js +1 -0
- package/dist/assets/volter-sdk-inspector-section-registry-C6U15zvC.js +1 -0
- package/dist/assets/volter-sdk-js-heap-CcOnY0kf.js +1 -0
- package/dist/assets/{volter-sdk-keymap-presets-Vq8J3DoG.js → volter-sdk-keymap-presets-CSM-jVcZ.js} +1 -1
- package/dist/assets/volter-sdk-layout-arrangements-DHA3uifx.js +1 -0
- package/dist/assets/volter-sdk-layouts-4v9ECCn9.js +1 -0
- package/dist/assets/volter-sdk-light-explorer-model-CPuZjpiR.js +1 -0
- package/dist/assets/volter-sdk-live-seam-evidence-B_RyDaOp.js +1 -0
- package/dist/assets/volter-sdk-live-session-registry-C6gHroaH.js +1 -0
- package/dist/assets/{volter-sdk-manifest-project-DIThdJ0z.js → volter-sdk-manifest-project-CVVUDDuL.js} +1 -1
- package/dist/assets/volter-sdk-mount-css-scope-DaJoEo3v.js +1 -0
- package/dist/assets/volter-sdk-mount-failure-report-Cm92oiGJ.js +1 -0
- package/dist/assets/volter-sdk-native-selection-style-Bp4IBnA4.js +1 -0
- package/dist/assets/volter-sdk-photograph-notice-C6_gZGpW.js +1 -0
- package/dist/assets/volter-sdk-play-camera-flight-SwlYhOxW.js +1 -0
- package/dist/assets/volter-sdk-product-command-G8kKVJ-i.js +1 -0
- package/dist/assets/volter-sdk-progress-4GGmPvZn.js +1 -0
- package/dist/assets/volter-sdk-project-module-changes-DIrDIHeD.js +1 -0
- package/dist/assets/volter-sdk-project-module-url-BuAUWpus.js +1 -0
- package/dist/assets/volter-sdk-project-output-roots-BON7FOwQ.js +1 -0
- package/dist/assets/{volter-sdk-project-tab-census-Cos8L4lu.js → volter-sdk-project-tab-census-CO06UOh-.js} +1 -1
- package/dist/assets/volter-sdk-renderer-resource-counts-2kLiD8_S.js +1 -0
- package/dist/assets/volter-sdk-scoped-project-css-DA63CYkM.js +1 -0
- package/dist/assets/volter-sdk-selection-CSUq7EiY.js +1 -0
- package/dist/assets/volter-sdk-served-url-B_MypeId.js +1 -0
- package/dist/assets/volter-sdk-settings-settings-provider-CJuWxTB5.js +1 -0
- package/dist/assets/volter-sdk-settings-store-CEFKDj0h.js +1 -0
- package/dist/assets/volter-sdk-shell-store-Cl4sX9p4.js +1 -0
- package/dist/assets/volter-sdk-shell-store-door-DGjybg0J.js +1 -0
- package/dist/assets/volter-sdk-source-conflict-CV8Gk053.js +1 -0
- package/dist/assets/volter-sdk-stage-context-Cb0SaYhi.js +1 -0
- package/dist/assets/volter-sdk-stage-invalidation-VlBciYA0.js +1 -0
- package/dist/assets/volter-sdk-stage-store-registry-BpIy_QKq.js +1 -0
- package/dist/assets/{volter-sdk-startup-failure-CtJyTS-2.js → volter-sdk-startup-failure-C_8H4xuP.js} +1 -1
- package/dist/assets/{volter-sdk-stories-StoryPreviewMount-DjhZUmf-.js → volter-sdk-stories-StoryPreviewMount-BUX42gIR.js} +1 -1
- package/dist/assets/volter-sdk-stories-compose-project-stories-CkSd4Si5.js +1 -0
- package/dist/assets/volter-sdk-stories-scope-Dndn7MD8.js +1 -0
- package/dist/assets/volter-sdk-stories-story-declared-medium-Byi4XWeJ.js +1 -0
- package/dist/assets/volter-sdk-stories-story-dom-runtime-BS1VPvJ6.js +1 -0
- package/dist/assets/volter-sdk-stories-story-grouping-CpNh4cUf.js +1 -0
- package/dist/assets/{volter-sdk-story-document-openers-Df7Tcu2n.js → volter-sdk-story-document-openers-Ba5jQqay.js} +1 -1
- package/dist/assets/volter-sdk-surface-state-BhQ45ars.js +1 -0
- package/dist/assets/volter-sdk-tab-census-D0r0s37y.js +1 -0
- package/dist/assets/volter-sdk-tool-contribution-convention-JCXL6f2w.js +1 -0
- package/dist/assets/volter-sdk-transform-mode-request-Cwk_Kyty.js +1 -0
- package/dist/assets/volter-sdk-transient-hint-BOfFzAV8.js +1 -0
- package/dist/assets/{volter-sdk-types-BOfYN_tN.js → volter-sdk-types-CkT8l5N_.js} +1 -1
- package/dist/assets/volter-sdk-ui-source-file-region-resolver-Cfza3eEl.js +1 -0
- package/dist/assets/{volter-sdk-ui-source-inspect-gofMOHNR.js → volter-sdk-ui-source-inspect-CEjmAN75.js} +1 -1
- package/dist/assets/{volter-sdk-ui-source-source-write-backend-BgVis1yZ.js → volter-sdk-ui-source-source-write-backend-0njgRdI6.js} +1 -1
- package/dist/assets/volter-sdk-ui-source-tier-source-write-backend-CpsxorYU.js +1 -0
- package/dist/assets/volter-sdk-viewport-activation-timings-B3hRTu3A.js +1 -0
- package/dist/assets/volter-sdk-viewport-editor-controls-DDBd-VqO.js +1 -0
- package/dist/assets/volter-sdk-viewport-presentation-DRhiAH1h.js +1 -0
- package/dist/assets/volter-sdk-volter-contributions-nlGXjgJZ.js +1 -0
- package/dist/assets/volter-sdk-wait-until-CMvYQmO8.js +1 -0
- package/dist/assets/volter-sdk-widgets-design-system-BJOyO8sO.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-appearance-eVtkxsIm.js +1 -0
- package/dist/assets/volter-sdk-widgets-editor-material-BoQP_5SK.js +1 -0
- package/dist/assets/volter-sdk-widgets-icon-set-registry-CP0D74kc.js +1 -0
- package/dist/assets/volter-sdk-widgets-index-De34FpYu.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-_GjMjIGb.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-B7vN7BEd.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-E2J8cpyT.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-D6TERGKs.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-CXR8n-CA.js +1 -0
- package/dist/assets/{volter-sdk-widgets-inspector-widgets-FilterEditor-DKkdim3n.js → volter-sdk-widgets-inspector-widgets-FilterEditor-CDvfWY4Q.js} +1 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-BgpW8FW8.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DOOBkXjY.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-1NXWR_gB.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-Cd2-HwFn.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-C4HuSjFu.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-DUU2CCtc.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-D5kwrOUQ.js +1 -0
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-CkFN2SUn.js +1 -0
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-DynpKMMZ.js +1 -0
- package/dist/assets/{volter-sdk-widgets-palette-colors-Byzw9YHf.js → volter-sdk-widgets-palette-colors-DhL1I42R.js} +1 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-EUtcZi0Y.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Fields-Bl_eaBej.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-List--NE_1N5-.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-BHXpv7qi.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-BdKa5HGV.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-sFV7f1UP.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-CIr5Cs49.js +1 -0
- package/dist/assets/volter-sdk-widgets-patterns-Tree-C2YHfddf.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-DCclspnW.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Button-B0YxR4ea.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-B1_SLTuc.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-CpHzPdt8.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-Dw4knhya.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-BAbRanmE.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-Cj7jKNd4.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-C0DCI5bE.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Layout-gT4Z6mtt.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Menu-9EESAp9m.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-Dk-5zqJ8.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Panel-BQWJF-Pb.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-DXvmafCK.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Text-yBrdWK2w.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-CRhefpUL.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-D5Kcb-ZC.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-DiG6PEIe.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-DhnSxXVK.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-e65mgyAk.js +1 -0
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-BVL0mN8g.js +1 -0
- package/dist/assets/volter-sdk-widgets-theme-C-_RU9Ov.js +1 -0
- package/dist/assets/volter-sdk-widgets-z-index-CrJJXeKL.js +1 -0
- package/dist/assets/volter-sdk-worker-call-metrics-BTfmngck.js +1 -0
- package/dist/assets/{volter-sdk-workspace-core-utilities-BaAh2Ei8.js → volter-sdk-workspace-core-utilities-DtHGK9PF.js} +1 -1
- package/dist/assets/volter-sdk-workspace-document-ids-COULA7c6.js +1 -0
- package/dist/assets/volter-sdk-workspace-document-registry-6m5csVP7.js +1 -0
- package/dist/assets/volter-sdk-workspace-document-restore-M8ifJMou.js +1 -0
- package/dist/assets/{volter-sdk-workspace-host-commands-72RdJeW4.js → volter-sdk-workspace-host-commands-8Qzej--P.js} +1 -1
- package/dist/assets/volter-sdk-workspace-static-panels-Ckk7qUuS.js +1 -0
- package/dist/assets/volter-sdk-workspace-status-registry-BdU0dZAt.js +1 -0
- package/dist/assets/volter-sdk-workspace-utility-registry-BHxymD2l.js +1 -0
- package/dist/assets/volter-sdk-world-canvas-viewport-state-CHO8s9gE.js +1 -0
- package/dist/assets/volter-sdk-world-pan-state-C-9xgzAh.js +1 -0
- package/dist/assets/volter-sdk-write-pipe-CJHg7J4i.js +1 -0
- package/dist/assets/{volter-shared-fontawesome-B-OhfZs4.js → volter-shared-fontawesome-BEv9WEZj.js} +1 -1
- package/dist/assets/{volter-shared-jsx-dev-runtime-akPt_-OI.js → volter-shared-jsx-dev-runtime-domcKDU3.js} +1 -1
- package/dist/assets/{volter-shared-jsx-runtime-CKQtDN6l.js → volter-shared-jsx-runtime-Cu7pVW-1.js} +1 -1
- package/dist/assets/{volter-shared-react-STQK0zHl.js → volter-shared-react-BLHga76C.js} +1 -1
- package/dist/assets/volter-shared-react-dom-client-vi6WsWu2.js +1 -0
- package/dist/assets/{volter-shared-react-dom-2aA0eyQg.js → volter-shared-react-dom-kzJVGsQd.js} +1 -1
- package/dist/assets/volter-shared-three-BWbOWtM5.js +4220 -0
- package/dist/volter-shared-modules.json +225 -225
- package/dist/volter-shared-react.json +6 -6
- package/dist/volter-shared-three.json +1 -1
- package/dist-node/cli.js +182 -127
- package/dist-node/create.js +18 -21
- package/package.json +16 -16
- package/src/index.ts +1 -2
- package/src/product-id.d.ts +4 -0
- package/starter/AGENTS.md +132 -157
- package/starter/game/levels/MainLevel.tsx +24 -0
- package/starter/game/prefabs/ground/Ground.tsx +24 -0
- package/starter/game/{levels → prefabs/ground}/ground.blend +0 -0
- package/starter/game/prefabs/ground/ground.glb +0 -0
- package/starter/game/prefabs/ground/ground.py +106 -0
- package/dist/assets/AudioViewer-EMpvKC-X.js +0 -1
- package/dist/assets/BVHLoader-CpdLvOHd.js +0 -1
- package/dist/assets/ColladaLoader-D1GMlAA9.js +0 -3
- package/dist/assets/EntityModelDocument-rYF-p8Fo.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-DfykWLLS.js +0 -1
- package/dist/assets/FBXLoader-DKZ0UD3F.js +0 -1
- package/dist/assets/ImageViewer-B0OqXrVU.js +0 -1
- package/dist/assets/InspectorObjectPreview-CwCqdv76.js +0 -1
- package/dist/assets/JsonAssetDocument-PzzxK-v9.js +0 -2
- package/dist/assets/LiveModuleDocument-Bq9J5nMx.js +0 -1
- package/dist/assets/LutAssetDocument-CyzgDCYJ.js +0 -1
- package/dist/assets/MTLLoader-BOaPmAvY.js +0 -2
- package/dist/assets/ModelAssetDocument-8he5iZqV.js +0 -1
- package/dist/assets/OBJLoader-BLg7dmPe.js +0 -5
- package/dist/assets/Object3DDocumentToolbar-CLfEn5i-.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-WK1RY6Gg.css +0 -1
- package/dist/assets/OrbitControls-DxYDYiEc.js +0 -1
- package/dist/assets/PLYLoader-bAg6lYzP.js +0 -2
- package/dist/assets/ProjectAuthoringBootstrap-FVTj-Ag9.js +0 -2
- package/dist/assets/QuarksAssetDocument-DBJQXZ9u.js +0 -2
- package/dist/assets/RectAreaLightUniformsLib-CQLblkbI.js +0 -1
- package/dist/assets/STLLoader-C8jImL_t.js +0 -1
- package/dist/assets/ShaderAssetDocument-C3QolcYl.js +0 -12
- package/dist/assets/SourceAssetViewer-xB9kAyPa.js +0 -1
- package/dist/assets/StageHost-BZBLHaPe.css +0 -1
- package/dist/assets/StageHost-xYvmzMBo.js +0 -1231
- package/dist/assets/TDSLoader-DLNvOc6c.js +0 -1
- package/dist/assets/ToolObject3DPreview-4XgGyXTu.js +0 -2
- package/dist/assets/VideoViewer-BruuQyu3.js +0 -1
- package/dist/assets/ViewportShadingMenu-amXbnRtl.js +0 -1
- package/dist/assets/animation-mixers.service-Ce1JMqA2.js +0 -1
- package/dist/assets/animation-timeline.utility-CzsUvu3v.js +0 -1
- package/dist/assets/asset-preview-CtqauM13.js +0 -4
- package/dist/assets/basis_transcoder-VXdx5NbI.wasm +0 -0
- package/dist/assets/basis_transcoder-o4Hde_L7.js +0 -19
- package/dist/assets/blender-base64-Cxqc4R5f.js +0 -1
- package/dist/assets/blender-display-shaders-BPmHILFy.lut +0 -0
- package/dist/assets/blender-emscripten-engine-Bl_j9xEY.js +0 -26
- package/dist/assets/blender-motion-worker-CtT2cV3V.js +0 -1
- package/dist/assets/blender-node-editor.document-lj1qK5Vu.js +0 -1
- package/dist/assets/blender-outliner-model-BqLWEXta.js +0 -7359
- package/dist/assets/blender-properties-model-DD-2sMKx.js +0 -1
- package/dist/assets/blender-properties-tab-BmudfsC3.js +0 -3
- package/dist/assets/blender-runtime.document-IVSATTnk.js +0 -13
- package/dist/assets/blender-screenshot.service-BRgdtDQC.js +0 -1
- package/dist/assets/blender-timeline.document-8jLaNF31.js +0 -1
- package/dist/assets/blender-uv-editor.document-BVcA7mi2.js +0 -1
- package/dist/assets/blender-version.status-B43F7DzT.js +0 -2
- package/dist/assets/blender-wali-engine-xLHhm0KZ.js +0 -2
- package/dist/assets/blender.environment-CG-pC7sk.js +0 -1
- package/dist/assets/blender.keymap-pRN8nlCs.js +0 -1
- package/dist/assets/blender.page-BYbkmFDE.js +0 -3
- package/dist/assets/blender.status-CcKJxsZ1.js +0 -1
- package/dist/assets/blender.style-DuFonR-j.js +0 -1
- package/dist/assets/chat.page-DzuAKPGP.js +0 -1
- package/dist/assets/city-EkhAOo5s.exr +0 -0
- package/dist/assets/courtyard-DqlebbpC.exr +0 -0
- package/dist/assets/draco_decoder-C32yEggz.wasm +0 -0
- package/dist/assets/draco_decoder-Z1_iN-Ht.wasm +0 -0
- package/dist/assets/draco_decoder-fzg4nYZr.js +0 -34
- package/dist/assets/draco_wasm_wrapper-DxJM36Ib.js +0 -117
- package/dist/assets/draco_wasm_wrapper-fZCQGLGb.js +0 -116
- package/dist/assets/editor-presentation-activity-CqJH4G9t.js +0 -1
- package/dist/assets/forest-P_CQY3b_.exr +0 -0
- package/dist/assets/index-C4uuH2ZE.css +0 -1
- package/dist/assets/index-DlAJXb_f.js +0 -952
- package/dist/assets/interior-Bo_lba15.exr +0 -0
- package/dist/assets/linear-resolve-B-MA5O31.js +0 -400
- package/dist/assets/live-mixers-B-bwLZ7c.js +0 -1
- package/dist/assets/maya.style-C3zx8RC5.js +0 -1
- package/dist/assets/model-inspection-_SFE7cp7.js +0 -1
- package/dist/assets/model.layout-CX-vaeBh.js +0 -1
- package/dist/assets/models.finder-DcOx-jsM.js +0 -1
- package/dist/assets/mtoon0-BNRZGBf8.blend +0 -0
- package/dist/assets/mtoon1-EgrxQlCc.blend +0 -0
- package/dist/assets/mtoon1_outline-xuubMJ8J.blend +0 -0
- package/dist/assets/mtoon_auto_setup-BF1c8USg.blend +0 -0
- package/dist/assets/night-CvV4Gybt.exr +0 -0
- package/dist/assets/object3d-document-session-registry-DvgzaByQ.js +0 -2
- package/dist/assets/output-pass-Bw2FZb8e.js +0 -85
- package/dist/assets/play-mode-BGq1Hn-c.js +0 -1
- package/dist/assets/play.page-DB2UjY0o.js +0 -1
- package/dist/assets/product-OBHh_Udv.js +0 -1
- package/dist/assets/properties-bone-constraints.inspector-NWLfoFX1.js +0 -1
- package/dist/assets/properties-bone.inspector-DybmNdBB.js +0 -1
- package/dist/assets/properties-collection.inspector-Cg7Jq6yG.js +0 -1
- package/dist/assets/properties-constraints.inspector-DY--pvLo.js +0 -1
- package/dist/assets/properties-data.inspector-CP1lurLb.js +0 -1
- package/dist/assets/properties-material.inspector-K8Qx5wr9.js +0 -1
- package/dist/assets/properties-modifiers.inspector-DOfP-8mX.js +0 -1
- package/dist/assets/properties-object.inspector-sqx6qMyu.js +0 -1
- package/dist/assets/properties-output.inspector-CUYUEC6S.js +0 -1
- package/dist/assets/properties-particles.inspector-oAWorORY.js +0 -1
- package/dist/assets/properties-physics.inspector-CQIHdcOy.js +0 -1
- package/dist/assets/properties-render.inspector-XTzdYo4u.js +0 -1
- package/dist/assets/properties-scene.inspector-BytOBuw9.js +0 -1
- package/dist/assets/properties-texture.inspector-2WNelhHG.js +0 -1
- package/dist/assets/properties-view-layer.inspector-DVSdqosc.js +0 -1
- package/dist/assets/properties-world.inspector-CHHm7g3j.js +0 -1
- package/dist/assets/regions-BlV6hTFd.js +0 -1
- package/dist/assets/sculpt.layout-BkvEflSA.js +0 -1
- package/dist/assets/session-addons-KcG0o7Xc.js +0 -76898
- package/dist/assets/shading.layout-V9LTFaVk.js +0 -1
- package/dist/assets/sky-precompute-worker-CPGW9t_C.js +0 -1
- package/dist/assets/spark.module-Cc-ZVx5e.js +0 -12120
- package/dist/assets/stage-keyboard-Rgvt63qI.js +0 -1
- package/dist/assets/stage-overlay-set-juTRuk99.js +0 -1
- package/dist/assets/stage-presence-markers-XsGUs3S-.js +0 -1
- package/dist/assets/stage-transform-tools-BE7m4omf.js +0 -1
- package/dist/assets/standard-viewport-dressing-asIXnD-w.js +0 -24
- package/dist/assets/std-scene-level-DeiReu6Z.js +0 -13
- package/dist/assets/std-scene.document-DyWMJhxA.js +0 -1
- package/dist/assets/story-capture-Y8_YS5DC.js +0 -1
- package/dist/assets/studio-CysTBGIb.exr +0 -0
- package/dist/assets/substance.style-CoQdG-kF.js +0 -1
- package/dist/assets/sunrise-Dj0psFrf.exr +0 -0
- package/dist/assets/sunset-Bw3x2Bot.exr +0 -0
- package/dist/assets/texture.layout-DASpHVht.js +0 -1
- package/dist/assets/three.module-JoAAxMWl.js +0 -4220
- package/dist/assets/three.page-Dy2q5JEV.js +0 -2
- package/dist/assets/transparent_z_write-xIRcVb2w.blend +0 -0
- package/dist/assets/transport-strip-cKO8FHd1.js +0 -1
- package/dist/assets/uv-editing.layout-CF_54oSA.js +0 -1
- package/dist/assets/volter-sdk-D8o6TU4A.js +0 -1407
- package/dist/assets/volter-sdk-activation-events-DVerKSly.js +0 -1
- package/dist/assets/volter-sdk-active-project-f6toeBI4.js +0 -1
- package/dist/assets/volter-sdk-adapter-editor-config-DpARQ4TT.js +0 -1
- package/dist/assets/volter-sdk-animation-animation-clock-BGyYYQu-.js +0 -1
- package/dist/assets/volter-sdk-animation-stage-transport-DWmyow46.js +0 -1
- package/dist/assets/volter-sdk-api-base-jDs2XVgE.js +0 -1
- package/dist/assets/volter-sdk-api-project-open-BAXokZLA.js +0 -1
- package/dist/assets/volter-sdk-api-project-source-D6FB4SmO.js +0 -1
- package/dist/assets/volter-sdk-api-settings-DqgndoPA.js +0 -1
- package/dist/assets/volter-sdk-asset-capabilities-B5mXIYBM.js +0 -1
- package/dist/assets/volter-sdk-asset-document-write-policy-B5aaFAwu.js +0 -1
- package/dist/assets/volter-sdk-asset-editor-context-BjtZQVgF.js +0 -1
- package/dist/assets/volter-sdk-asset-thumbnails-CROlpqPM.js +0 -1
- package/dist/assets/volter-sdk-asset-viewers-BejvElAX.js +0 -1
- package/dist/assets/volter-sdk-asset-workflow-project-content-D8h-TsJc.js +0 -1
- package/dist/assets/volter-sdk-authoring-active-adapter-DhKlZbyW.js +0 -1
- package/dist/assets/volter-sdk-authoring-boundary-authoring-adapter-xlppcGid.js +0 -1
- package/dist/assets/volter-sdk-authoring-composite-authoring-adapter-BfalSuB8.js +0 -1
- package/dist/assets/volter-sdk-authoring-consumer-actions-Hl6xkGAq.js +0 -1
- package/dist/assets/volter-sdk-authoring-design-time-mount-registry-2ZssbtYd.js +0 -1
- package/dist/assets/volter-sdk-authoring-design-time-roots-BNNZdEog.js +0 -1
- package/dist/assets/volter-sdk-authoring-layered-pick-AsUoH85M.js +0 -1
- package/dist/assets/volter-sdk-authoring-no-authoring-adapter-BX6sVPQX.js +0 -1
- package/dist/assets/volter-sdk-authoring-panel-authoring-BRs7fYSJ.js +0 -1
- package/dist/assets/volter-sdk-authoring-react-design-canvas-style-CdjO9_22.js +0 -1
- package/dist/assets/volter-sdk-authoring-seam-evidence-D58d2whR.js +0 -1
- package/dist/assets/volter-sdk-authoring-selection-scope-tqpilIPR.js +0 -1
- package/dist/assets/volter-sdk-authoring-shell-document-ops-ryosWWqt.js +0 -1
- package/dist/assets/volter-sdk-authoring-stage-root-yn7zP1QC.js +0 -1
- package/dist/assets/volter-sdk-authoring-story-board-chrome-fit-DgAAtVo8.js +0 -1
- package/dist/assets/volter-sdk-authoring-viewport-tool-owner-zIgbNhiQ.js +0 -1
- package/dist/assets/volter-sdk-authoring-world-session-state-DriMgIzp.js +0 -1
- package/dist/assets/volter-sdk-bitmap-label-Cwzw278F.js +0 -1
- package/dist/assets/volter-sdk-bytes-codec-CF2kvi68.js +0 -1
- package/dist/assets/volter-sdk-cancellation-reason-BQvS02ja.js +0 -1
- package/dist/assets/volter-sdk-canvas-frames-BkjDC0or.js +0 -1
- package/dist/assets/volter-sdk-capture-size-B3uOMPdw.js +0 -1
- package/dist/assets/volter-sdk-chrome-registry-Be1q89aJ.js +0 -1
- package/dist/assets/volter-sdk-command-result-text-DdPWoVLu.js +0 -1
- package/dist/assets/volter-sdk-commands-DI54EGoY.js +0 -1
- package/dist/assets/volter-sdk-component-board-registry-DtTf1V5m.js +0 -1
- package/dist/assets/volter-sdk-components-InspectorCanvasPreview-DpOxql_B.js +0 -1
- package/dist/assets/volter-sdk-components-SurfaceStateOverlay-BQ9KTVV1.js +0 -1
- package/dist/assets/volter-sdk-components-Toolbar-C6bwDRIc.js +0 -1
- package/dist/assets/volter-sdk-components-TransientHint-D3wtJ4fg.js +0 -1
- package/dist/assets/volter-sdk-components-inspector-preview-section-D1DnmKLE.js +0 -1
- package/dist/assets/volter-sdk-components-use-after-paint-ZgZgfmSR.js +0 -1
- package/dist/assets/volter-sdk-components-workspace-history-IZTWOoYh.js +0 -1
- package/dist/assets/volter-sdk-content-entry-source-registry-DV4a0g9R.js +0 -1
- package/dist/assets/volter-sdk-contribution-surfaces-BAzaKN1S.js +0 -1
- package/dist/assets/volter-sdk-contributions-D2D_badr.js +0 -1
- package/dist/assets/volter-sdk-coverage-design-time-surfaces-WtyoVY81.js +0 -1
- package/dist/assets/volter-sdk-creation-site-registry-DEJua1VB.js +0 -1
- package/dist/assets/volter-sdk-css-numeric-style-D1aEQUuP.js +0 -1
- package/dist/assets/volter-sdk-declared-tools-bEg2ZQju.js +0 -1
- package/dist/assets/volter-sdk-document-open-registry-BUdLp-BZ.js +0 -1
- package/dist/assets/volter-sdk-document-play-extension-BdtD2FcX.js +0 -1
- package/dist/assets/volter-sdk-document-probe-CvSMoXNj.js +0 -1
- package/dist/assets/volter-sdk-document-stage-sessions-BHE1T4gT.js +0 -1
- package/dist/assets/volter-sdk-document-viewports-BJqFXfe4.js +0 -1
- package/dist/assets/volter-sdk-editor-commands-CsYQVabs.js +0 -1
- package/dist/assets/volter-sdk-editor-console-lUTMRzeI.js +0 -1
- package/dist/assets/volter-sdk-editor-document-probe-BHRNXR9L.js +0 -1
- package/dist/assets/volter-sdk-editor-mode-BgYsrjin.js +0 -1
- package/dist/assets/volter-sdk-editor-runtime-CTy0Dw7-.js +0 -1
- package/dist/assets/volter-sdk-editor-server-response-oN9Horql.js +0 -1
- package/dist/assets/volter-sdk-editor-session-attribution-Ddoo0-e6.js +0 -1
- package/dist/assets/volter-sdk-editor-view-DEdcNl3N.js +0 -1
- package/dist/assets/volter-sdk-environment-images-Cbyno2vh.js +0 -1
- package/dist/assets/volter-sdk-extension-script-eemVEaFY.js +0 -1
- package/dist/assets/volter-sdk-eyedropper-session-BL5ceME-.js +0 -1
- package/dist/assets/volter-sdk-files-file-provider-D1vbGyMw.js +0 -1
- package/dist/assets/volter-sdk-files-project-files-CP9k503M.js +0 -1
- package/dist/assets/volter-sdk-framed-document-capture-DmqG4gUx.js +0 -1
- package/dist/assets/volter-sdk-framed-document-driver-B1ZAcb9l.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-component-marks-DjtdLv04.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-kind-icon-Dwlq9_xw.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-row-media-CnFXPw4O.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-row-model-TWxtUUdN.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-rows-3Hl6K3Br.js +0 -1
- package/dist/assets/volter-sdk-hierarchy-walk-DvIomDWH.js +0 -1
- package/dist/assets/volter-sdk-history-history-delegate-RfZBUw9Y.js +0 -1
- package/dist/assets/volter-sdk-history-history-service-BWYajIYW.js +0 -1
- package/dist/assets/volter-sdk-history-persistence-coordinator-CmebAufQ.js +0 -1
- package/dist/assets/volter-sdk-history-resource-registry-CgjY-ErS.js +0 -1
- package/dist/assets/volter-sdk-history-snapshot-store-6Cq4Qau6.js +0 -1
- package/dist/assets/volter-sdk-history-source-history-backend-CilZiNDq.js +0 -1
- package/dist/assets/volter-sdk-hmr-registration-group-idNaexWq.js +0 -1
- package/dist/assets/volter-sdk-hmr-stable-react-context-DhY9rjD6.js +0 -1
- package/dist/assets/volter-sdk-host-BcQCyyIe.js +0 -1
- package/dist/assets/volter-sdk-inference-diagnostics-c4Aju1Jg.js +0 -1
- package/dist/assets/volter-sdk-inspection-document-subject-i64BmR5X.js +0 -1
- package/dist/assets/volter-sdk-inspection-group-icons-CWwhjZWt.js +0 -1
- package/dist/assets/volter-sdk-inspection-model-BgZVa_7l.js +0 -1
- package/dist/assets/volter-sdk-inspection-node-media-DNYb7ZDG.js +0 -1
- package/dist/assets/volter-sdk-inspection-null-subject-hK6kZbB7.js +0 -1
- package/dist/assets/volter-sdk-inspector-property-grouping-B-4_nVMm.js +0 -1
- package/dist/assets/volter-sdk-inspector-section-registry-DIYAa_rQ.js +0 -1
- package/dist/assets/volter-sdk-js-heap-DDws540T.js +0 -1
- package/dist/assets/volter-sdk-layout-arrangements-DdjnA7ET.js +0 -1
- package/dist/assets/volter-sdk-layouts-DcV6NQNu.js +0 -1
- package/dist/assets/volter-sdk-light-explorer-model-BoB1GjBo.js +0 -1
- package/dist/assets/volter-sdk-live-seam-evidence-BOvNn-o8.js +0 -1
- package/dist/assets/volter-sdk-live-session-registry--ftGWuRg.js +0 -1
- package/dist/assets/volter-sdk-mount-css-scope-BTi-3JA9.js +0 -1
- package/dist/assets/volter-sdk-mount-failure-report-BeR90-6n.js +0 -1
- package/dist/assets/volter-sdk-native-selection-style-70aZpb0m.js +0 -1
- package/dist/assets/volter-sdk-photograph-notice-BwuWgyiq.js +0 -1
- package/dist/assets/volter-sdk-play-camera-flight-CaSiTxDt.js +0 -1
- package/dist/assets/volter-sdk-product-command-Cf1utO0M.js +0 -1
- package/dist/assets/volter-sdk-project-module-changes-CIKyvjy2.js +0 -1
- package/dist/assets/volter-sdk-project-module-url-XzZmS9zs.js +0 -1
- package/dist/assets/volter-sdk-project-output-roots-B4bC82T9.js +0 -1
- package/dist/assets/volter-sdk-renderer-resource-counts-S3R39qoy.js +0 -1
- package/dist/assets/volter-sdk-scoped-project-css-Ch7LkU2q.js +0 -1
- package/dist/assets/volter-sdk-selection-C2gFhPip.js +0 -1
- package/dist/assets/volter-sdk-served-url-DxzhEpXR.js +0 -1
- package/dist/assets/volter-sdk-serving-engine-BclAA7ZZ.js +0 -1
- package/dist/assets/volter-sdk-settings-settings-provider-DGc5Xf46.js +0 -1
- package/dist/assets/volter-sdk-settings-store-Bmx-a8f0.js +0 -1
- package/dist/assets/volter-sdk-shell-store-door-CQlHDF_i.js +0 -1
- package/dist/assets/volter-sdk-shell-store-e-X3-CSz.js +0 -1
- package/dist/assets/volter-sdk-source-conflict-DEn0Z5Vq.js +0 -1
- package/dist/assets/volter-sdk-stage-context-CwBngGWz.js +0 -1
- package/dist/assets/volter-sdk-stage-invalidation-Bt1Gs-b2.js +0 -1
- package/dist/assets/volter-sdk-stage-store-registry-DtSMhopZ.js +0 -1
- package/dist/assets/volter-sdk-stories-compose-project-stories-DfgTy2Bp.js +0 -1
- package/dist/assets/volter-sdk-stories-scope-4lTT6I0H.js +0 -1
- package/dist/assets/volter-sdk-stories-story-declared-medium-BFcKINTP.js +0 -1
- package/dist/assets/volter-sdk-stories-story-dom-runtime-wAz1MhyJ.js +0 -1
- package/dist/assets/volter-sdk-stories-story-grouping-bVoaiX0-.js +0 -1
- package/dist/assets/volter-sdk-surface-keyboard-5u3olsPL.js +0 -1
- package/dist/assets/volter-sdk-surface-state-F5vfsPyq.js +0 -1
- package/dist/assets/volter-sdk-tab-census-B95O0nem.js +0 -1
- package/dist/assets/volter-sdk-tool-contribution-convention-k_AVbxWl.js +0 -1
- package/dist/assets/volter-sdk-transform-mode-request-CKhq0gIu.js +0 -1
- package/dist/assets/volter-sdk-transient-hint-DQMQ2_Y5.js +0 -1
- package/dist/assets/volter-sdk-ui-source-file-region-resolver-2Gw755Lw.js +0 -1
- package/dist/assets/volter-sdk-ui-source-tier-source-write-backend-BsEnWjJv.js +0 -1
- package/dist/assets/volter-sdk-viewport-activation-timings--7x_AkVR.js +0 -1
- package/dist/assets/volter-sdk-viewport-editor-controls-CFuNGxo6.js +0 -1
- package/dist/assets/volter-sdk-viewport-presentation-CoiYwzFE.js +0 -1
- package/dist/assets/volter-sdk-volter-contributions-DjgbZdIJ.js +0 -1
- package/dist/assets/volter-sdk-wait-until-DRdtM37d.js +0 -1
- package/dist/assets/volter-sdk-widgets-design-system-CPmOMXke.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-appearance-B4Q93899.js +0 -1
- package/dist/assets/volter-sdk-widgets-editor-material-C6dqUruc.js +0 -1
- package/dist/assets/volter-sdk-widgets-icon-set-registry-BOtjeU-M.js +0 -1
- package/dist/assets/volter-sdk-widgets-index-C2FSk2KK.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AlignmentGrid-ClaWmFsj.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-AssetSlotPicker-DIoRDT6D.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-BorderEditor-BcsoJNaT.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ColorPicker-p_xfUT04.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-CurveEditor-RbGdt95N.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-FontPicker-DxdmydaC.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-GradientEditor-DZ0Z3l2P.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ScrubbableInput-Byy_M7hB.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-ShadowEditor-C9aPdbrZ.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-color-utils-BJStispK.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-curve-utils-C_5eRE_F.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-index-BA3S0eIV.js +0 -1
- package/dist/assets/volter-sdk-widgets-inspector-widgets-shared-DHHUQexs.js +0 -1
- package/dist/assets/volter-sdk-widgets-interactive-edit-scope-CjuUPrEv.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Dialog-CQggdCbk.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Fields-D38At0E9.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-List-ewRDByTO.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-StateSurface-C8YqnN-5.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Surfaces-BjFrm6Mc.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tabs-JZq1ce4h.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Toolbar-Bf61fc1T.js +0 -1
- package/dist/assets/volter-sdk-widgets-patterns-Tree-CwuVbaxj.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-AnchoredMenu-Ch2ujeLH.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Button-d2WNMADR.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ColorInput-DP0WkwNs.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-DraftTextInput-D1g1A89b.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-EditorIcon-DAjALCvl.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-FormControls-KBDCYHsT.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-HoverPreview-D2qUt6_z.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-JsonInput-DLs3kN1L.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Layout-DshSsm_4.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Menu-Ch-3iDys.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-NumberInput-pdAN4aF3.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Panel-BNFSUDwP.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-SectionHeader-5Hv-rso1.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Text-CtWC8t_L.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-ThemeRootPortal-h0iinIvj.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Tooltip-Cllx19nM.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-Vec3Input-CurGarFa.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-clamp-to-viewport-0YxAdd5O.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-editor-icons-ExQE8_SP.js +0 -1
- package/dist/assets/volter-sdk-widgets-primitives-panel-header-styles-DGmxyx4E.js +0 -1
- package/dist/assets/volter-sdk-widgets-theme-DOfZnIVM.js +0 -1
- package/dist/assets/volter-sdk-widgets-z-index-BpB2pf-w.js +0 -1
- package/dist/assets/volter-sdk-worker-call-metrics-Cdo-WjAp.js +0 -1
- package/dist/assets/volter-sdk-workspace-document-ids-CWVlaP7n.js +0 -1
- package/dist/assets/volter-sdk-workspace-document-registry-DoKaj8Fe.js +0 -1
- package/dist/assets/volter-sdk-workspace-document-restore-BOPAH61D.js +0 -1
- package/dist/assets/volter-sdk-workspace-static-panels-DZr1Q4n1.js +0 -1
- package/dist/assets/volter-sdk-workspace-status-registry-pIvpW3QR.js +0 -1
- package/dist/assets/volter-sdk-workspace-utility-registry-BRzyLcLs.js +0 -1
- package/dist/assets/volter-sdk-world-canvas-viewport-state-DeMws4Bu.js +0 -1
- package/dist/assets/volter-sdk-world-pan-state-Dpul1S4k.js +0 -1
- package/dist/assets/volter-sdk-write-pipe-vbjHAGKf.js +0 -1
- package/dist/assets/volter-shared-react-dom-client-B6uCXsbq.js +0 -1
- package/dist/assets/volter-shared-three-DSLGcAKx.js +0 -1
- package/dist/assets/worker-DeeaIXW_.js +0 -10
- package/src/contributions.d.ts +0 -9
- package/starter/game/client/index.tsx +0 -52
- package/starter/game/levels/GroundEnvironment.tsx +0 -15
- package/starter/game/levels/GroundLevel.tsx +0 -35
- package/starter/game/levels/ground.canvas.ts +0 -11
- package/starter/game/levels/ground.glb +0 -0
- package/starter/game/levels/ground.py +0 -142
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import{P as Mn,W as An}from"./three.module-JoAAxMWl.js";import{Mesh as ke,OrthographicCamera as Tn,BufferGeometry as Nn,Float32BufferAttribute as kt,Scene as On,BoxGeometry as Un,MeshStandardMaterial as Bt,BackSide as Fn,PointLight as Dn,InstancedMesh as Ln,Object3D as Pn,MeshLambertMaterial as kn,DataTextureLoader as Zt,HalfFloatType as Ne,RGBAFormat as Ge,RGFormat as et,DataUtils as _e,LinearFilter as _t,LinearSRGBColorSpace as Te,RedFormat as wt,FloatType as rt,EquirectangularReflectionMapping as Bn,UniformsUtils as Hn,RawShaderMaterial as Zn,ColorManagement as Gn,SRGBTransfer as zn,LinearToneMapping as Yn,ReinhardToneMapping as Xn,CineonToneMapping as Wn,ACESFilmicToneMapping as Vn,AgXToneMapping as Kn,NeutralToneMapping as $n,CustomToneMapping as Qn}from"./volter-shared-three-core-DEsIwtOu.js";class qn{constructor(){this.isPass=!0,this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}dispose(){}}const Jn=new Tn(-1,1,1,-1,0,1);class jn extends Nn{constructor(){super(),this.setAttribute("position",new kt([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new kt([0,2,0,0,2,0],2))}}const er=new jn;class tr{constructor(i){this._mesh=new ke(er,i)}dispose(){this._mesh.geometry.dispose()}render(i){i.render(this._mesh,Jn)}get material(){return this._mesh.material}set material(i){this._mesh.material=i}}class nr extends On{constructor(){super(),this.name="RoomEnvironment",this.position.y=-3.5;const i=new Un;i.deleteAttribute("uv");const w=new Bt({side:Fn}),I=new Bt,N=new Dn(16777215,900,28,2);N.position.set(.418,16.199,.3),this.add(N);const re=new ke(i,w);re.position.set(-.757,13.219,.717),re.scale.set(31.713,28.305,28.591),this.add(re);const W=new Ln(i,I,6),T=new Pn;T.position.set(-10.906,2.009,1.846),T.rotation.set(0,-.195,0),T.scale.set(2.328,7.905,4.651),T.updateMatrix(),W.setMatrixAt(0,T.matrix),T.position.set(-5.607,-.754,-.758),T.rotation.set(0,.994,0),T.scale.set(1.97,1.534,3.955),T.updateMatrix(),W.setMatrixAt(1,T.matrix),T.position.set(6.167,.857,7.803),T.rotation.set(0,.561,0),T.scale.set(3.927,6.285,3.687),T.updateMatrix(),W.setMatrixAt(2,T.matrix),T.position.set(-2.017,.018,6.124),T.rotation.set(0,.333,0),T.scale.set(2.002,4.566,2.064),T.updateMatrix(),W.setMatrixAt(3,T.matrix),T.position.set(2.291,-.756,-2.621),T.rotation.set(0,-.286,0),T.scale.set(1.546,1.552,1.496),T.updateMatrix(),W.setMatrixAt(4,T.matrix),T.position.set(-2.193,-.369,-5.547),T.rotation.set(0,.516,0),T.scale.set(3.875,3.487,2.986),T.updateMatrix(),W.setMatrixAt(5,T.matrix),this.add(W);const he=new ke(i,Ve(50));he.position.set(-16.116,14.37,8.208),he.scale.set(.1,2.428,2.739),this.add(he);const de=new ke(i,Ve(50));de.position.set(-16.109,18.021,-8.207),de.scale.set(.1,2.425,2.751),this.add(de);const oe=new ke(i,Ve(17));oe.position.set(14.904,12.198,-1.832),oe.scale.set(.15,4.265,6.331),this.add(oe);const R=new ke(i,Ve(43));R.position.set(-.462,8.89,14.52),R.scale.set(4.38,5.441,.088),this.add(R);const G=new ke(i,Ve(20));G.position.set(3.235,11.486,-12.541),G.scale.set(2.5,2,.1),this.add(G);const se=new ke(i,Ve(100));se.position.set(0,20,0),se.scale.set(1,.1,1),this.add(se)}dispose(){const i=new Set;this.traverse(w=>{w.isMesh&&(i.add(w.geometry),i.add(w.material))});for(const w of i)w.dispose()}}function Ve(h){return new kn({color:0,emissive:16777215,emissiveIntensity:h})}/*!
|
|
2
|
-
fflate - fast JavaScript compression/decompression
|
|
3
|
-
<https://101arrowz.github.io/fflate>
|
|
4
|
-
Licensed under MIT. https://github.com/101arrowz/fflate/blob/master/LICENSE
|
|
5
|
-
version 0.8.2
|
|
6
|
-
*/var ge=Uint8Array,$e=Uint16Array,rr=Int32Array,Gt=new ge([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),zt=new ge([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),or=new ge([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Yt=function(h,i){for(var w=new $e(31),I=0;I<31;++I)w[I]=i+=1<<h[I-1];for(var N=new rr(w[30]),I=1;I<30;++I)for(var re=w[I];re<w[I+1];++re)N[re]=re-w[I]<<5|I;return{b:w,r:N}},Xt=Yt(Gt,2),Wt=Xt.b,sr=Xt.r;Wt[28]=258,sr[258]=28;var ir=Yt(zt,0),lr=ir.b,bt=new $e(32768);for(var $=0;$<32768;++$){var Pe=($&43690)>>1|($&21845)<<1;Pe=(Pe&52428)>>2|(Pe&13107)<<2,Pe=(Pe&61680)>>4|(Pe&3855)<<4,bt[$]=((Pe&65280)>>8|(Pe&255)<<8)>>1}var ot=(function(h,i,w){for(var I=h.length,N=0,re=new $e(i);N<I;++N)h[N]&&++re[h[N]-1];var W=new $e(i);for(N=1;N<i;++N)W[N]=W[N-1]+re[N-1]<<1;var T;if(w){T=new $e(1<<i);var he=15-i;for(N=0;N<I;++N)if(h[N])for(var de=N<<4|h[N],oe=i-h[N],R=W[h[N]-1]++<<oe,G=R|(1<<oe)-1;R<=G;++R)T[bt[R]>>he]=de}else for(T=new $e(I),N=0;N<I;++N)h[N]&&(T[N]=bt[W[h[N]-1]++]>>15-h[N]);return T}),st=new ge(288);for(var $=0;$<144;++$)st[$]=8;for(var $=144;$<256;++$)st[$]=9;for(var $=256;$<280;++$)st[$]=7;for(var $=280;$<288;++$)st[$]=8;var Vt=new ge(32);for(var $=0;$<32;++$)Vt[$]=5;var ar=ot(st,9,1),cr=ot(Vt,5,1),It=function(h){for(var i=h[0],w=1;w<h.length;++w)h[w]>i&&(i=h[w]);return i},we=function(h,i,w){var I=i/8|0;return(h[I]|h[I+1]<<8)>>(i&7)&w},Rt=function(h,i){var w=i/8|0;return(h[w]|h[w+1]<<8|h[w+2]<<16)>>(i&7)},ur=function(h){return(h+7)/8|0},fr=function(h,i,w){return(w==null||w>h.length)&&(w=h.length),new ge(h.subarray(i,w))},hr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],ve=function(h,i,w){var I=new Error(i||hr[h]);if(I.code=h,Error.captureStackTrace&&Error.captureStackTrace(I,ve),!w)throw I;return I},pr=function(h,i,w,I){var N=h.length,re=0;if(!N||i.f&&!i.l)return w||new ge(0);var W=!w,T=W||i.i!=2,he=i.i;W&&(w=new ge(N*3));var de=function(it){var Qe=w.length;if(it>Qe){var lt=new ge(Math.max(Qe*2,it));lt.set(w),w=lt}},oe=i.f||0,R=i.p||0,G=i.b||0,se=i.l,Be=i.d,Oe=i.m,Ee=i.n,Se=N*8;do{if(!se){oe=we(h,R,1);var He=we(h,R+1,3);if(R+=3,He)if(He==1)se=ar,Be=cr,Oe=9,Ee=5;else if(He==2){var Fe=we(h,R,31)+257,ye=we(h,R+10,15)+4,b=Fe+we(h,R+5,31)+1;R+=14;for(var L=new ge(b),P=new ge(19),U=0;U<ye;++U)P[or[U]]=we(h,R+U*3,7);R+=ye*3;for(var Q=It(P),Z=(1<<Q)-1,O=ot(P,Q,1),U=0;U<b;){var z=O[we(h,R,Z)];R+=z&15;var ie=z>>4;if(ie<16)L[U++]=ie;else{var k=0,ae=0;for(ie==16?(ae=3+we(h,R,3),R+=2,k=L[U-1]):ie==17?(ae=3+we(h,R,7),R+=3):ie==18&&(ae=11+we(h,R,127),R+=7);ae--;)L[U++]=k}}var De=L.subarray(0,Fe),j=L.subarray(Fe);Oe=It(De),Ee=It(j),se=ot(De,Oe,1),Be=ot(j,Ee,1)}else ve(1);else{var ie=ur(R)+4,Ie=h[ie-4]|h[ie-3]<<8,Ue=ie+Ie;if(Ue>N){he&&ve(0);break}T&&de(G+Ie),w.set(h.subarray(ie,Ue),G),i.b=G+=Ie,i.p=R=Ue*8,i.f=oe;continue}if(R>Se){he&&ve(0);break}}T&&de(G+131072);for(var ce=(1<<Oe)-1,pe=(1<<Ee)-1,ee=R;;ee=R){var k=se[Rt(h,R)&ce],K=k>>4;if(R+=k&15,R>Se){he&&ve(0);break}if(k||ve(2),K<256)w[G++]=K;else if(K==256){ee=R,se=null;break}else{var Re=K-254;if(K>264){var U=K-257,be=Gt[U];Re=we(h,R,(1<<be)-1)+Wt[U],R+=be}var Ye=Be[Rt(h,R)&pe],Y=Ye>>4;Ye||ve(3),R+=Ye&15;var j=lr[Y];if(Y>3){var be=zt[Y];j+=Rt(h,R)&(1<<be)-1,R+=be}if(R>Se){he&&ve(0);break}T&&de(G+131072);var Me=G+Re;if(G<j){var Ae=re-j,yt=Math.min(j,Me);for(Ae+G<0&&ve(3);G<yt;++G)w[G]=I[Ae+G]}for(;G<Me;++G)w[G]=w[G-j]}}i.l=se,i.p=ee,i.b=G,i.f=oe,se&&(oe=1,i.m=Oe,i.d=Be,i.n=Ee)}while(!oe);return G!=w.length&&W?fr(w,0,G):w.subarray(0,G)},mr=new ge(0),gr=function(h,i){return((h[0]&15)!=8||h[0]>>4>7||(h[0]<<8|h[1])%31)&&ve(6,"invalid zlib data"),(h[1]>>5&1)==1&&ve(6,"invalid zlib data: "+(h[1]&32?"need":"unexpected")+" dictionary"),(h[1]>>3&4)+2};function tt(h,i){return pr(h.subarray(gr(h),-4),{i:2},i,i)}var dr=typeof TextDecoder<"u"&&new TextDecoder,Er=0;try{dr.decode(mr,{stream:!0}),Er=1}catch{}class wr extends Zt{constructor(i){super(i),this.type=Ne,this.outputFormat=Ge,this.part=0}parse(i){const L=Math.pow(2.7182818,2.2);let P=null;function U(e,t){let n=0;for(let s=0;s<65536;++s)(s==0||e[s>>3]&1<<(s&7))&&(t[n++]=s);const o=n-1;for(;n<65536;)t[n++]=0;return o}function Q(e){for(let t=0;t<16384;t++)e[t]={},e[t].len=0,e[t].lit=0,e[t].p=null}const Z={l:0,c:0,lc:0};function O(e,t,n,o,s){for(;n<e;)t=t<<8|Ut(o,s),n+=8;n-=e,Z.l=t>>n&(1<<e)-1,Z.c=t,Z.lc=n}const z=new Array(59);function k(e){for(let n=0;n<=58;++n)z[n]=0;for(let n=0;n<65537;++n)z[e[n]]+=1;let t=0;for(let n=58;n>0;--n){const o=t+z[n]>>1;z[n]=t,t=o}for(let n=0;n<65537;++n){const o=e[n];o>0&&(e[n]=o|z[o]++<<6)}}function ae(e,t,n,o,s,a){const r=t;let u=0,l=0;for(;o<=s;o++){if(r.value-t.value>n)return!1;O(6,u,l,e,r);const c=Z.l;if(u=Z.c,l=Z.lc,a[o]=c,c==63){if(r.value-t.value>n)throw new Error("THREE.EXRLoader: Something wrong with hufUnpackEncTable");O(8,u,l,e,r);let f=Z.l+6;if(u=Z.c,l=Z.lc,o+f>s+1)throw new Error("THREE.EXRLoader: Something wrong with hufUnpackEncTable");for(;f--;)a[o++]=0;o--}else if(c>=59){let f=c-59+2;if(o+f>s+1)throw new Error("THREE.EXRLoader: Something wrong with hufUnpackEncTable");for(;f--;)a[o++]=0;o--}}k(a)}function De(e){return e&63}function j(e){return e>>6}function ce(e,t,n,o){for(;t<=n;t++){const s=j(e[t]),a=De(e[t]);if(s>>a)throw new Error("THREE.EXRLoader: Invalid table entry");if(a>14){const r=o[s>>a-14];if(r.len)throw new Error("THREE.EXRLoader: Invalid table entry");if(r.lit++,r.p){const u=r.p;r.p=new Array(r.lit);for(let l=0;l<r.lit-1;++l)r.p[l]=u[l]}else r.p=new Array(1);r.p[r.lit-1]=t}else if(a){let r=0;for(let u=1<<14-a;u>0;u--){const l=o[(s<<14-a)+r];if(l.len||l.p)throw new Error("THREE.EXRLoader: Invalid table entry");l.len=a,l.lit=t,r++}}}return!0}const pe={c:0,lc:0};function ee(e,t,n,o){e=e<<8|Ut(n,o),t+=8,pe.c=e,pe.lc=t}const K={c:0,lc:0};function Re(e,t,n,o,s,a,r,u,l){if(e==t){o<8&&(ee(n,o,s,a),n=pe.c,o=pe.lc),o-=8;let c=n>>o;if(c=new Uint8Array([c])[0],u.value+c>l)return!1;const f=r[u.value-1];for(;c-- >0;)r[u.value++]=f}else if(u.value<l)r[u.value++]=e;else return!1;K.c=n,K.lc=o}function be(e){return e&65535}function Ye(e){const t=be(e);return t>32767?t-65536:t}const Y={a:0,b:0};function Me(e,t){const n=Ye(e),s=Ye(t),a=n+(s&1)+(s>>1),r=a,u=a-s;Y.a=r,Y.b=u}function Ae(e,t){const n=be(e),o=be(t),s=n-(o>>1)&65535,a=o+s-32768&65535;Y.a=a,Y.b=s}function yt(e,t,n,o,s,a,r){const u=r<16384,l=n>s?s:n;let c=1,f,m;for(;c<=l;)c<<=1;for(c>>=1,f=c,c>>=1;c>=1;){m=0;const p=m+a*(s-f),d=a*c,_=a*f,g=o*c,E=o*f;let C,F,M,B;for(;m<=p;m+=_){let y=m;const S=m+o*(n-f);for(;y<=S;y+=E){const x=y+g,X=y+d,H=X+g;u?(Me(e[y+t],e[X+t]),C=Y.a,M=Y.b,Me(e[x+t],e[H+t]),F=Y.a,B=Y.b,Me(C,F),e[y+t]=Y.a,e[x+t]=Y.b,Me(M,B),e[X+t]=Y.a,e[H+t]=Y.b):(Ae(e[y+t],e[X+t]),C=Y.a,M=Y.b,Ae(e[x+t],e[H+t]),F=Y.a,B=Y.b,Ae(C,F),e[y+t]=Y.a,e[x+t]=Y.b,Ae(M,B),e[X+t]=Y.a,e[H+t]=Y.b)}if(n&c){const x=y+d;u?Me(e[y+t],e[x+t]):Ae(e[y+t],e[x+t]),C=Y.a,e[x+t]=Y.b,e[y+t]=C}}if(s&c){let y=m;const S=m+o*(n-f);for(;y<=S;y+=E){const x=y+g;u?Me(e[y+t],e[x+t]):Ae(e[y+t],e[x+t]),C=Y.a,e[x+t]=Y.b,e[y+t]=C}}f=c,c>>=1}return m}function it(e,t,n,o,s,a,r,u,l){let c=0,f=0;const m=r,p=Math.trunc(o.value+(s+7)/8);for(;o.value<p;)for(ee(c,f,n,o),c=pe.c,f=pe.lc;f>=14;){const _=c>>f-14&16383,g=t[_];if(g.len)f-=g.len,Re(g.lit,a,c,f,n,o,u,l,m),c=K.c,f=K.lc;else{if(!g.p)throw new Error("THREE.EXRLoader: hufDecode issues");let E;for(E=0;E<g.lit;E++){const C=De(e[g.p[E]]);for(;f<C&&o.value<p;)ee(c,f,n,o),c=pe.c,f=pe.lc;if(f>=C&&j(e[g.p[E]])==(c>>f-C&(1<<C)-1)){f-=C,Re(g.p[E],a,c,f,n,o,u,l,m),c=K.c,f=K.lc;break}}if(E==g.lit)throw new Error("THREE.EXRLoader: hufDecode issues")}}const d=8-s&7;for(c>>=d,f-=d;f>0;){const _=t[c<<14-f&16383];if(_.len)f-=_.len,Re(_.lit,a,c,f,n,o,u,l,m),c=K.c,f=K.lc;else throw new Error("THREE.EXRLoader: hufDecode issues")}return!0}function Qe(e,t,n,o,s,a){const r={value:0},u=n.value,l=ue(t,n),c=ue(t,n);n.value+=4;const f=ue(t,n);if(n.value+=4,l<0||l>=65537||c<0||c>=65537)throw new Error("THREE.EXRLoader: Something wrong with HUF_ENCSIZE");const m=new Array(65537),p=new Array(16384);Q(p);const d=o-(n.value-u);if(ae(e,n,d,l,c,m),f>8*(o-(n.value-u)))throw new Error("THREE.EXRLoader: Something wrong with hufUncompress");ce(m,l,c,p),it(m,p,e,n,f,c,a,s,r)}function lt(e,t,n){for(let o=0;o<n;++o)t[o]=e[t[o]]}function at(e){for(let t=1;t<e.length;t++){const n=e[t-1]+e[t]-128;e[t]=n}}function ct(e,t){let n=0,o=Math.floor((e.length+1)/2),s=0;const a=e.length-1;for(;!(s>a||(t[s++]=e[n++],s>a));)t[s++]=e[o++]}function xt(e){let t=e.byteLength;const n=new Array;let o=0;const s=new DataView(e);for(;t>0;){const a=s.getInt8(o++);if(a<0){const r=-a;t-=r+1;for(let u=0;u<r;u++)n.push(s.getUint8(o++))}else{const r=a;t-=2;const u=s.getUint8(o++);for(let l=0;l<r+1;l++)n.push(u)}}return n}function $t(e,t,n,o,s,a){let r=new DataView(a.buffer);const u=n[e.idx[0]].width,l=n[e.idx[0]].height,c=3,f=Math.floor(u/8),m=Math.ceil(u/8),p=Math.ceil(l/8),d=u-(m-1)*8,_=l-(p-1)*8,g={value:0},E=new Array(c),C=new Array(c),F=new Array(c),M=new Array(c),B=new Array(c);for(let S=0;S<c;++S)B[S]=t[e.idx[S]],E[S]=S<1?0:E[S-1]+m*p,C[S]=new Float32Array(64),F[S]=new Uint16Array(64),M[S]=new Uint16Array(m*64);for(let S=0;S<p;++S){let x=8;S==p-1&&(x=_);let X=8;for(let A=0;A<m;++A){A==m-1&&(X=d);for(let D=0;D<c;++D)F[D].fill(0),F[D][0]=s[E[D]++],Mt(g,o,F[D]),At(F[D],C[D]),Tt(C[D]);qt(C);for(let D=0;D<c;++D)Nt(C[D],M[D],A*64)}let H=0;for(let A=0;A<c;++A){const D=n[e.idx[A]].type;for(let q=8*S;q<8*S+x;++q){H=B[A][q];for(let fe=0;fe<f;++fe){const V=fe*64+(q&7)*8;r.setUint16(H+0*D,M[A][V+0],!0),r.setUint16(H+2*D,M[A][V+1],!0),r.setUint16(H+4*D,M[A][V+2],!0),r.setUint16(H+6*D,M[A][V+3],!0),r.setUint16(H+8*D,M[A][V+4],!0),r.setUint16(H+10*D,M[A][V+5],!0),r.setUint16(H+12*D,M[A][V+6],!0),r.setUint16(H+14*D,M[A][V+7],!0),H+=16*D}}if(f!=m)for(let q=8*S;q<8*S+x;++q){const fe=B[A][q]+8*f*2*D,V=f*64+(q&7)*8;for(let xe=0;xe<X;++xe)r.setUint16(fe+xe*2*D,M[A][V+xe],!0)}}}const y=new Uint16Array(u);r=new DataView(a.buffer);for(let S=0;S<c;++S){n[e.idx[S]].decoded=!0;const x=n[e.idx[S]].type;if(n[S].type==2)for(let X=0;X<l;++X){const H=B[S][X];for(let A=0;A<u;++A)y[A]=r.getUint16(H+A*2*x,!0);for(let A=0;A<u;++A)r.setFloat32(H+A*2*x,v(y[A]),!0)}}}function Qt(e,t,n,o,s,a){const r=new DataView(a.buffer),u=n[e],l=u.width,c=u.height,f=Math.ceil(l/8),m=Math.ceil(c/8),p=Math.floor(l/8),d=l-(f-1)*8,_=c-(m-1)*8,g={value:0};let E=0;const C=new Float32Array(64),F=new Uint16Array(64),M=new Uint16Array(f*64);for(let B=0;B<m;++B){let y=8;B==m-1&&(y=_);for(let S=0;S<f;++S)F.fill(0),F[0]=s[E++],Mt(g,o,F),At(F,C),Tt(C),Nt(C,M,S*64);for(let S=8*B;S<8*B+y;++S){let x=t[e][S];for(let X=0;X<p;++X){const H=X*64+(S&7)*8;for(let A=0;A<8;++A)r.setUint16(x+A*2*u.type,M[H+A],!0);x+=16*u.type}if(f!=p){const X=p*64+(S&7)*8;for(let H=0;H<d;++H)r.setUint16(x+H*2*u.type,M[X+H],!0)}}}u.decoded=!0}function Mt(e,t,n){let o,s=1;for(;s<64;)o=t[e.value],o==65280?s=64:o>>8==255?s+=o&255:(n[s]=o,s++),e.value++}function At(e,t){t[0]=v(e[0]),t[1]=v(e[1]),t[2]=v(e[5]),t[3]=v(e[6]),t[4]=v(e[14]),t[5]=v(e[15]),t[6]=v(e[27]),t[7]=v(e[28]),t[8]=v(e[2]),t[9]=v(e[4]),t[10]=v(e[7]),t[11]=v(e[13]),t[12]=v(e[16]),t[13]=v(e[26]),t[14]=v(e[29]),t[15]=v(e[42]),t[16]=v(e[3]),t[17]=v(e[8]),t[18]=v(e[12]),t[19]=v(e[17]),t[20]=v(e[25]),t[21]=v(e[30]),t[22]=v(e[41]),t[23]=v(e[43]),t[24]=v(e[9]),t[25]=v(e[11]),t[26]=v(e[18]),t[27]=v(e[24]),t[28]=v(e[31]),t[29]=v(e[40]),t[30]=v(e[44]),t[31]=v(e[53]),t[32]=v(e[10]),t[33]=v(e[19]),t[34]=v(e[23]),t[35]=v(e[32]),t[36]=v(e[39]),t[37]=v(e[45]),t[38]=v(e[52]),t[39]=v(e[54]),t[40]=v(e[20]),t[41]=v(e[22]),t[42]=v(e[33]),t[43]=v(e[38]),t[44]=v(e[46]),t[45]=v(e[51]),t[46]=v(e[55]),t[47]=v(e[60]),t[48]=v(e[21]),t[49]=v(e[34]),t[50]=v(e[37]),t[51]=v(e[47]),t[52]=v(e[50]),t[53]=v(e[56]),t[54]=v(e[59]),t[55]=v(e[61]),t[56]=v(e[35]),t[57]=v(e[36]),t[58]=v(e[48]),t[59]=v(e[49]),t[60]=v(e[57]),t[61]=v(e[58]),t[62]=v(e[62]),t[63]=v(e[63])}function Tt(e){const t=.5*Math.cos(.7853975),n=.5*Math.cos(3.14159/16),o=.5*Math.cos(3.14159/8),s=.5*Math.cos(3*3.14159/16),a=.5*Math.cos(5*3.14159/16),r=.5*Math.cos(3*3.14159/8),u=.5*Math.cos(7*3.14159/16),l=new Array(4),c=new Array(4),f=new Array(4),m=new Array(4);for(let p=0;p<8;++p){const d=p*8;l[0]=o*e[d+2],l[1]=r*e[d+2],l[2]=o*e[d+6],l[3]=r*e[d+6],c[0]=n*e[d+1]+s*e[d+3]+a*e[d+5]+u*e[d+7],c[1]=s*e[d+1]-u*e[d+3]-n*e[d+5]-a*e[d+7],c[2]=a*e[d+1]-n*e[d+3]+u*e[d+5]+s*e[d+7],c[3]=u*e[d+1]-a*e[d+3]+s*e[d+5]-n*e[d+7],f[0]=t*(e[d+0]+e[d+4]),f[3]=t*(e[d+0]-e[d+4]),f[1]=l[0]+l[3],f[2]=l[1]-l[2],m[0]=f[0]+f[1],m[1]=f[3]+f[2],m[2]=f[3]-f[2],m[3]=f[0]-f[1],e[d+0]=m[0]+c[0],e[d+1]=m[1]+c[1],e[d+2]=m[2]+c[2],e[d+3]=m[3]+c[3],e[d+4]=m[3]-c[3],e[d+5]=m[2]-c[2],e[d+6]=m[1]-c[1],e[d+7]=m[0]-c[0]}for(let p=0;p<8;++p)l[0]=o*e[16+p],l[1]=r*e[16+p],l[2]=o*e[48+p],l[3]=r*e[48+p],c[0]=n*e[8+p]+s*e[24+p]+a*e[40+p]+u*e[56+p],c[1]=s*e[8+p]-u*e[24+p]-n*e[40+p]-a*e[56+p],c[2]=a*e[8+p]-n*e[24+p]+u*e[40+p]+s*e[56+p],c[3]=u*e[8+p]-a*e[24+p]+s*e[40+p]-n*e[56+p],f[0]=t*(e[p]+e[32+p]),f[3]=t*(e[p]-e[32+p]),f[1]=l[0]+l[3],f[2]=l[1]-l[2],m[0]=f[0]+f[1],m[1]=f[3]+f[2],m[2]=f[3]-f[2],m[3]=f[0]-f[1],e[0+p]=m[0]+c[0],e[8+p]=m[1]+c[1],e[16+p]=m[2]+c[2],e[24+p]=m[3]+c[3],e[32+p]=m[3]-c[3],e[40+p]=m[2]-c[2],e[48+p]=m[1]-c[1],e[56+p]=m[0]-c[0]}function qt(e){for(let t=0;t<64;++t){const n=e[0][t],o=e[1][t],s=e[2][t];e[0][t]=n+1.5747*s,e[1][t]=n-.1873*o-.4682*s,e[2][t]=n+1.8556*o}}function Nt(e,t,n){for(let o=0;o<64;++o)t[n+o]=_e.toHalfFloat(Jt(e[o]))}function Jt(e){return e<=1?Math.sign(e)*Math.pow(Math.abs(e),2.2):Math.sign(e)*Math.pow(L,Math.abs(e)-1)}function ut(e){return new DataView(e.array.buffer,e.offset.value,e.size)}function jt(e){const t=e.viewer.buffer.slice(e.offset.value,e.offset.value+e.size),n=new Uint8Array(xt(t)),o=new Uint8Array(n.length);return at(n),ct(n,o),new DataView(o.buffer)}function Ct(e){const t=e.array.slice(e.offset.value,e.offset.value+e.size),n=tt(t),o=new Uint8Array(n.length);return at(n),ct(n,o),new DataView(o.buffer)}function en(e){const t=e.viewer,n={value:e.offset.value},o=new Uint16Array(e.columns*e.lines*(e.inputChannels.length*e.type)),s=new Uint8Array(8192);let a=0;const r=new Array(e.inputChannels.length);for(let _=0,g=e.inputChannels.length;_<g;_++)r[_]={},r[_].start=a,r[_].end=r[_].start,r[_].nx=e.columns,r[_].ny=e.lines,r[_].size=e.type,a+=r[_].nx*r[_].ny*r[_].size;const u=qe(t,n),l=qe(t,n);if(l>=8192)throw new Error("THREE.EXRLoader: Something is wrong with PIZ_COMPRESSION BITMAP_SIZE");if(u<=l)for(let _=0;_<l-u+1;_++)s[_+u]=Le(t,n);const c=new Uint16Array(65536),f=U(s,c),m=ue(t,n);Qe(e.array,t,n,m,o,a);for(let _=0;_<e.inputChannels.length;++_){const g=r[_];for(let E=0;E<r[_].size;++E)yt(o,g.start+E,g.nx,g.size,g.ny,g.nx*g.size,f)}lt(c,o,a);let p=0;const d=new Uint8Array(o.buffer.byteLength);for(let _=0;_<e.lines;_++)for(let g=0;g<e.inputChannels.length;g++){const E=r[g],C=E.nx*E.size,F=new Uint8Array(o.buffer,E.end*2,C*2);d.set(F,p),p+=C*2,E.end+=C}return new DataView(d.buffer)}function tn(e){const t=e.array.slice(e.offset.value,e.offset.value+e.size),n=tt(t),o=e.inputChannels.length*e.lines*e.columns*e.totalBytes,s=new ArrayBuffer(o),a=new DataView(s);let r=0,u=0;const l=new Array(4);for(let c=0;c<e.lines;c++)for(let f=0;f<e.inputChannels.length;f++){let m=0;switch(e.inputChannels[f].pixelType){case 1:l[0]=r,l[1]=l[0]+e.columns,r=l[1]+e.columns;for(let d=0;d<e.columns;++d){const _=n[l[0]++]<<8|n[l[1]++];m+=_,a.setUint16(u,m,!0),u+=2}break;case 2:l[0]=r,l[1]=l[0]+e.columns,l[2]=l[1]+e.columns,r=l[2]+e.columns;for(let d=0;d<e.columns;++d){const _=n[l[0]++]<<24|n[l[1]++]<<16|n[l[2]++]<<8;m+=_,a.setUint32(u,m,!0),u+=4}break}}return a}function nn(e){const t=e.array;let n=e.offset.value;const o=e.columns,s=e.lines,a=e.inputChannels,r=e.totalBytes,u=ne.compression==="B44A_COMPRESSION",l=new Uint8Array(s*o*r),c=new Uint16Array(16);let f=0;for(let m=0;m<a.length;m++){const p=a[m],d=p.pixelType*2,_=Math.ceil(o/p.xSampling),g=Math.ceil(s/p.ySampling),E=p.xSampling===1&&p.ySampling===1;if(p.pixelType!==1){for(let M=0;M<g;M++)if(E){const B=M*o*r+f*o;for(let y=0;y<_*d;y++)l[B+y]=t[n++]}else n+=_*d;f+=d;continue}const C=Math.ceil(_/4),F=Math.ceil(g/4);for(let M=0;M<F;M++)for(let B=0;B<C;B++){if(u&&t[n+2]>=52){const y=t[n]<<8|t[n+1],S=y&32768?y&32767:~y&65535;c.fill(S),n+=3}else{const y=t[n]<<8|t[n+1],S=t[n+2]>>2,x=32<<S,X=y+((t[n+2]<<4|t[n+3]>>4)&63)*(1<<S)-x&65535,H=X+((t[n+3]<<2|t[n+4]>>6)&63)*(1<<S)-x&65535,A=H+(t[n+4]&63)*(1<<S)-x&65535,D=y+(t[n+5]>>2&63)*(1<<S)-x&65535,q=X+((t[n+5]<<4|t[n+6]>>4)&63)*(1<<S)-x&65535,fe=H+((t[n+6]<<2|t[n+7]>>6)&63)*(1<<S)-x&65535,V=A+(t[n+7]&63)*(1<<S)-x&65535,xe=D+(t[n+8]>>2&63)*(1<<S)-x&65535,Xe=q+((t[n+8]<<4|t[n+9]>>4)&63)*(1<<S)-x&65535,Je=fe+((t[n+9]<<2|t[n+10]>>6)&63)*(1<<S)-x&65535,Ce=V+(t[n+10]&63)*(1<<S)-x&65535,Ze=xe+(t[n+11]>>2&63)*(1<<S)-x&65535,gt=Xe+((t[n+11]<<4|t[n+12]>>4)&63)*(1<<S)-x&65535,dt=Je+((t[n+12]<<2|t[n+13]>>6)&63)*(1<<S)-x&65535,Et=Ce+(t[n+13]&63)*(1<<S)-x&65535,je=[y,D,xe,Ze,X,q,Xe,gt,H,fe,Je,dt,A,V,Ce,Et];for(let We=0;We<16;We++)c[We]=je[We]&32768?je[We]&32767:~je[We]&65535;n+=14}if(p.pLinear){if(P===null){P=new Uint16Array(65536);for(let y=0;y<65536;y++)if((y&31744)===31744||y>32768)P[y]=0;else{const S=v(y);P[y]=S<=0?0:_e.toHalfFloat(8*Math.log(S))}}for(let y=0;y<16;y++)c[y]=P[c[y]]}for(let y=0;y<4;y++){const S=M*4+y;if(!(S>=g))for(let x=0;x<4;x++){const X=B*4+x;if(X>=_)continue;const H=c[y*4+x];for(let A=0;A<p.ySampling;A++){const D=S*p.ySampling+A;if(!(D>=s))for(let q=0;q<p.xSampling;q++){const fe=X*p.xSampling+q;if(fe>=o)continue;const V=D*o*r+f*o+fe*2;l[V]=H&255,l[V+1]=H>>8&255}}}}}f+=2}return new DataView(l.buffer)}function Ot(e){const t=e.viewer,n={value:e.offset.value},o=new Uint8Array(e.columns*e.lines*(e.inputChannels.length*e.type*2)),s={version:J(t,n),unknownUncompressedSize:J(t,n),unknownCompressedSize:J(t,n),acCompressedSize:J(t,n),dcCompressedSize:J(t,n),rleCompressedSize:J(t,n),rleUncompressedSize:J(t,n),rleRawSize:J(t,n),totalAcUncompressedCount:J(t,n),totalDcUncompressedCount:J(t,n),acCompression:J(t,n)};if(s.version<2)throw new Error("THREE.EXRLoader: "+ne.compression+" version "+s.version+" is unsupported");const a=new Array;let r=qe(t,n)-2;for(;r>0;){const g=ft(t.buffer,n),E=Le(t,n),C=E>>2&3,F=(E>>4)-1,M=new Int8Array([F])[0],B=Le(t,n);a.push({name:g,index:M,type:B,compression:C}),r-=g.length+3}const u=ne.channels,l=new Array(e.inputChannels.length);for(let g=0;g<e.inputChannels.length;++g){const E=l[g]={},C=u[g];E.name=C.name,E.compression=0,E.decoded=!1,E.type=C.pixelType,E.pLinear=C.pLinear,E.width=e.columns,E.height=e.lines}const c={idx:new Array(3)};for(let g=0;g<e.inputChannels.length;++g){const E=l[g],C=E.name.lastIndexOf("."),F=C>=0?E.name.substring(C+1):E.name;for(let M=0;M<a.length;++M){const B=a[M];F===B.name&&E.type===B.type&&(E.compression=B.compression,B.index>=0&&(c.idx[B.index]=g),E.offset=g)}}let f,m,p;if(s.acCompressedSize>0)switch(s.acCompression){case 0:f=new Uint16Array(s.totalAcUncompressedCount),Qe(e.array,t,n,s.acCompressedSize,f,s.totalAcUncompressedCount);break;case 1:const g=e.array.slice(n.value,n.value+s.totalAcUncompressedCount),E=tt(g);f=new Uint16Array(E.buffer),n.value+=s.totalAcUncompressedCount;break}if(s.dcCompressedSize>0){const g={array:e.array,offset:n,size:s.dcCompressedSize};m=new Uint16Array(Ct(g).buffer),n.value+=s.dcCompressedSize}if(s.rleRawSize>0){const g=e.array.slice(n.value,n.value+s.rleCompressedSize),E=tt(g);p=xt(E.buffer),n.value+=s.rleCompressedSize}let d=0;const _=new Array(l.length);for(let g=0;g<_.length;++g)_[g]=new Array;for(let g=0;g<e.lines;++g)for(let E=0;E<l.length;++E)_[E].push(d),d+=l[E].width*e.type*2;c.idx[0]!==void 0&&l[c.idx[0]]&&$t(c,_,l,f,m,o);for(let g=0;g<l.length;++g){const E=l[g];if(!E.decoded)switch(E.compression){case 2:let C=0,F=0;for(let M=0;M<e.lines;++M){let B=_[g][C];for(let y=0;y<E.width;++y){for(let S=0;S<2*E.type;++S)o[B++]=p[F+S*E.width*E.height];F++}C++}break;case 1:Qt(g,_,l,f,m,o);break;default:throw new Error("THREE.EXRLoader: unsupported channel compression")}}return new DataView(o.buffer)}function ft(e,t){const n=new Uint8Array(e);let o=0;for(;n[t.value+o]!=0;)o+=1;const s=new TextDecoder().decode(n.slice(t.value,t.value+o));return t.value=t.value+o+1,s}function rn(e,t,n){const o=new TextDecoder().decode(new Uint8Array(e).slice(t.value,t.value+n));return t.value=t.value+n,o}function on(e,t){const n=le(e,t),o=ue(e,t);return[n,o]}function sn(e,t){const n=ue(e,t),o=ue(e,t);return[n,o]}function le(e,t){const n=e.getInt32(t.value,!0);return t.value=t.value+4,n}function ue(e,t){const n=e.getUint32(t.value,!0);return t.value=t.value+4,n}function Ut(e,t){const n=e[t.value];return t.value=t.value+1,n}function Le(e,t){const n=e.getUint8(t.value);return t.value=t.value+1,n}const J=function(e,t){const n=Number(e.getBigInt64(t.value,!0));return t.value+=8,n};function te(e,t){const n=e.getFloat32(t.value,!0);return t.value+=4,n}function ln(e,t){return _e.toHalfFloat(te(e,t))}function v(e){const t=(e&31744)>>10,n=e&1023;return(e>>15?-1:1)*(t?t===31?n?NaN:1/0:Math.pow(2,t-15)*(1+n/1024):6103515625e-14*(n/1024))}function qe(e,t){const n=e.getUint16(t.value,!0);return t.value+=2,n}function an(e,t){return v(qe(e,t))}function cn(e,t,n,o){const s=n.value,a=[];for(;n.value<s+o-1;){const r=ft(t,n),u=le(e,n),l=Le(e,n);n.value+=3;const c=le(e,n),f=le(e,n);a.push({name:r,pixelType:u,pLinear:l,xSampling:c,ySampling:f})}return n.value+=1,a}function un(e,t){const n=te(e,t),o=te(e,t),s=te(e,t),a=te(e,t),r=te(e,t),u=te(e,t),l=te(e,t),c=te(e,t);return{redX:n,redY:o,greenX:s,greenY:a,blueX:r,blueY:u,whiteX:l,whiteY:c}}function fn(e,t){const n=["NO_COMPRESSION","RLE_COMPRESSION","ZIPS_COMPRESSION","ZIP_COMPRESSION","PIZ_COMPRESSION","PXR24_COMPRESSION","B44_COMPRESSION","B44A_COMPRESSION","DWAA_COMPRESSION","DWAB_COMPRESSION"],o=Le(e,t);return n[o]}function hn(e,t){const n=le(e,t),o=le(e,t),s=le(e,t),a=le(e,t);return{xMin:n,yMin:o,xMax:s,yMax:a}}function pn(e,t){const n=["INCREASING_Y","DECREASING_Y","RANDOM_Y"],o=Le(e,t);return n[o]}function mn(e,t){const n=["ENVMAP_LATLONG","ENVMAP_CUBE"],o=Le(e,t);return n[o]}function gn(e,t){const n=["ONE_LEVEL","MIPMAP_LEVELS","RIPMAP_LEVELS"],o=["ROUND_DOWN","ROUND_UP"],s=ue(e,t),a=ue(e,t),r=Le(e,t);return{xSize:s,ySize:a,levelMode:n[r&15],roundingMode:o[r>>4]}}function dn(e,t){const n=te(e,t),o=te(e,t);return[n,o]}function En(e,t){const n=te(e,t),o=te(e,t),s=te(e,t);return[n,o,s]}function wn(e,t,n,o,s){if(o==="string"||o==="stringvector"||o==="iccProfile")return rn(t,n,s);if(o==="chlist")return cn(e,t,n,s);if(o==="chromaticities")return un(e,n);if(o==="compression")return fn(e,n);if(o==="box2i")return hn(e,n);if(o==="envmap")return mn(e,n);if(o==="tiledesc")return gn(e,n);if(o==="lineOrder")return pn(e,n);if(o==="float")return te(e,n);if(o==="v2f")return dn(e,n);if(o==="v3f")return En(e,n);if(o==="int")return le(e,n);if(o==="rational")return on(e,n);if(o==="timecode")return sn(e,n);if(o==="preview"||o==="deepImageState"||o==="idmanifest")return n.value+=s,"skipped";n.value+=s}function vn(e,t){const n=Math.log2(e);return t=="ROUND_DOWN"?Math.floor(n):Math.ceil(n)}function _n(e,t,n){let o=0;switch(e.levelMode){case"ONE_LEVEL":o=1;break;case"MIPMAP_LEVELS":o=vn(Math.max(t,n),e.roundingMode)+1;break;case"RIPMAP_LEVELS":throw new Error("THREE.EXRLoader: RIPMAP_LEVELS tiles currently unsupported.")}return o}function Ft(e,t,n,o){const s=new Array(e);for(let a=0;a<e;a++){const r=1<<a;let u=t/r|0;o=="ROUND_UP"&&u*r<t&&(u+=1);const l=Math.max(u,1);s[a]=(l+n-1)/n|0}return s}function Sn(){const e=this,t=e.offset,n={value:0};for(let o=0;o<e.tileCount;o++){const s=le(e.viewer,t),a=le(e.viewer,t);t.value+=8,e.size=ue(e.viewer,t);const r=s*e.blockWidth,u=a*e.blockHeight;e.columns=r+e.blockWidth>e.width?e.width-r:e.blockWidth,e.lines=u+e.blockHeight>e.height?e.height-u:e.blockHeight;const l=e.columns*e.totalBytes,f=e.size<e.lines*l?e.uncompress(e):ut(e);t.value+=e.size;for(let m=0;m<e.lines;m++){const p=m*e.columns*e.totalBytes;for(let d=0;d<e.inputChannels.length;d++){const _=ne.channels[d].name,g=e.channelByteOffsets[_]*e.columns,E=e.decodeChannels[_];if(E===void 0)continue;n.value=p+g;const C=(e.height-(1+u+m))*e.outLineWidth;for(let F=0;F<e.columns;F++){const M=C+(F+r)*e.outputChannels+E;e.byteArray[M]=e.getter(f,n)}}}}}function yn(){const e=this,t=e.offset,n={value:0};for(let o=0;o<e.height/e.blockHeight;o++){const s=le(e.viewer,t)-ne.dataWindow.yMin;e.size=ue(e.viewer,t),e.lines=s+e.blockHeight>e.height?e.height-s:e.blockHeight;const a=e.columns*e.totalBytes,u=e.size<e.lines*a?e.uncompress(e):ut(e);t.value+=e.size;for(let l=0;l<e.lines;l++){const c=s+l,f=l*a,m=(e.height-1-c)*e.outLineWidth;for(let p=0;p<e.inputChannels.length;p++){const d=ne.channels[p].name,_=e.channelByteOffsets[d]*e.columns,g=e.decodeChannels[d];if(g!==void 0){n.value=f+_;for(let E=0;E<e.columns;E++){const C=m+E*e.outputChannels+g;e.byteArray[C]=e.getter(u,n)}}}}}}function xn(){const e=this,t=e.chunkOffsets,n={value:0};for(let o=0;o<t.length;o++){const s={value:t[o]};s.value+=4;const a=le(e.viewer,s)-ne.dataWindow.yMin;e.size=ue(e.viewer,s),e.lines=a+e.blockHeight>e.height?e.height-a:e.blockHeight;const r=e.columns*e.totalBytes,u=e.size<e.lines*r,l=e.offset;e.offset=s;const c=u?e.uncompress(e):ut(e);e.offset=l;for(let f=0;f<e.lines;f++){const m=a+f,p=f*r,d=(e.height-1-m)*e.outLineWidth;for(let _=0;_<e.inputChannels.length;_++){const g=ne.channels[_].name,E=e.channelByteOffsets[g]*e.columns,C=e.decodeChannels[g];if(C!==void 0){n.value=p+E;for(let F=0;F<e.columns;F++){const M=d+F*e.outputChannels+C;e.byteArray[M]=e.getter(c,n)}}}}}}function Dt(e,t,n,o){if(n===0)return null;const s=e.slice(t,t+n);switch(o){case"NO_COMPRESSION":return new DataView(s.buffer,s.byteOffset,s.byteLength);case"RLE_COMPRESSION":{const a=new Uint8Array(xt(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength))),r=new Uint8Array(a.length);return at(a),ct(a,r),new DataView(r.buffer)}case"ZIPS_COMPRESSION":{const a=tt(s),r=new Uint8Array(a.length);return at(a),ct(a,r),new DataView(r.buffer)}default:throw new Error("THREE.EXRLoader: "+o+" is unsupported for deep data")}}function Cn(){const e=this,t=e.chunkOffsets,n=e.width,o=e.height,s=e.deepChannels,a=ne.compression,r=e.multiPart,u=e.decodeChannels,l=e.outputChannels,c=e.byteArray instanceof Uint16Array;let f=-1;for(let m=0;m<s.length;m++)if(s[m].name==="A"){f=m;break}for(let m=0;m<t.length;m++){const p={value:t[m]};r&&(p.value+=4);const d=le(e.viewer,p)-ne.dataWindow.yMin,_=J(e.viewer,p),g=J(e.viewer,p);J(e.viewer,p);const E=Dt(e.array,p.value,_,a);if(p.value+=_,E===null)continue;const C=new Uint32Array(n);for(let x=0;x<n;x++)C[x]=E.getUint32(x*4,!0);const F=C[n-1];if(F===0){p.value+=g;continue}const M=Dt(e.array,p.value,g,a),B=[];let y=0;for(let x=0;x<s.length;x++)B.push(y),y+=F*s[x].bytesPerSample;const S=(o-1-d)*e.outLineWidth;for(let x=0;x<n;x++){const X=x===0?0:C[x-1],A=C[x]-X;if(A===0)continue;const D=new Float32Array(l);let q=0;for(let V=0;V<A;V++){const xe=X+V,Xe=1-q;if(Xe<=0)break;let Je=1;if(f>=0){const Ce=s[f].bytesPerSample,Ze=B[f]+xe*Ce;Je=Ce===2?v(M.getUint16(Ze,!0)):M.getFloat32(Ze,!0)}for(let Ce=0;Ce<s.length;Ce++){const Ze=s[Ce],gt=u[Ze.name];if(gt===void 0)continue;const dt=Ze.bytesPerSample,Et=B[Ce]+xe*dt,je=dt===2?v(M.getUint16(Et,!0)):M.getFloat32(Et,!0);D[gt]+=je*Xe}q+=Je*Xe}u.A!==void 0&&(D[u.A]=q);const fe=S+x*l;for(let V=0;V<l;V++)e.byteArray[fe+V]=c?_e.toHalfFloat(D[V]):D[V]}}}function Lt(e,t,n){const o={};let s=!1;for(;;){const a=ft(t,n);if(a==="")break;s=!0;const r=ft(t,n),u=ue(e,n),l=wn(e,t,n,r,u);l===void 0?console.warn(`THREE.EXRLoader: Skipped unknown header attribute type '${r}'.`):o[a]=l}return s?o:null}function In(e,t,n){if(e.getUint32(0,!0)!=20000630)throw new Error("THREE.EXRLoader: Provided file doesn't appear to be in OpenEXR format.");const o=e.getUint8(4),s=e.getUint8(5),a={singleTile:!!(s&2),longName:!!(s&4),deepFormat:!!(s&8),multiPart:!!(s&16)};n.value=8;const r=[];if(a.multiPart){for(;;){const u=Lt(e,t,n);if(u===null)break;u.version=o,u.spec=a,r.push(u)}if(r.length===0)throw new Error("THREE.EXRLoader: No valid part headers found.")}else{const u=Lt(e,t,n);u.version=o,u.spec=a,r.push(u)}return r}function Rn(e,t,n,o,s,a){const r={size:0,viewer:t,array:n,offset:o,width:e.dataWindow.xMax-e.dataWindow.xMin+1,height:e.dataWindow.yMax-e.dataWindow.yMin+1,inputChannels:e.channels,channelByteOffsets:{},shouldExpand:!1,yCbCr:!1,totalBytes:null,columns:null,lines:null,type:null,uncompress:null,getter:null,format:null,colorSpace:Te};switch(e.compression){case"NO_COMPRESSION":r.blockHeight=1,r.uncompress=ut;break;case"RLE_COMPRESSION":r.blockHeight=1,r.uncompress=jt;break;case"ZIPS_COMPRESSION":r.blockHeight=1,r.uncompress=Ct;break;case"ZIP_COMPRESSION":r.blockHeight=16,r.uncompress=Ct;break;case"PIZ_COMPRESSION":r.blockHeight=32,r.uncompress=en;break;case"PXR24_COMPRESSION":r.blockHeight=16,r.uncompress=tn;break;case"B44_COMPRESSION":case"B44A_COMPRESSION":r.blockHeight=32,r.uncompress=nn;break;case"DWAA_COMPRESSION":r.blockHeight=32,r.uncompress=Ot;break;case"DWAB_COMPRESSION":r.blockHeight=256,r.uncompress=Ot;break;default:throw new Error("THREE.EXRLoader: "+e.compression+" is unsupported")}const u={};for(const p of e.channels)switch(p.name){case"BY":case"RY":case"Y":case"R":case"G":case"B":case"A":u[p.name]=!0,r.type=p.pixelType}let l=!1,c=!1;if(u.Y&&u.RY&&u.BY)r.outputChannels=4,r.yCbCr=!0;else if(u.R&&u.G&&u.B)r.outputChannels=4;else if(u.Y)r.outputChannels=1;else throw new Error("THREE.EXRLoader: file contains unsupported data channels.");switch(r.outputChannels){case 4:a==Ge?(l=!u.A,r.format=Ge,r.colorSpace=Te,r.outputChannels=4,r.decodeChannels={R:0,G:1,B:2,A:3}):a==et?(r.format=et,r.colorSpace=Te,r.outputChannels=2,r.decodeChannels={R:0,G:1}):a==wt?(r.format=wt,r.colorSpace=Te,r.outputChannels=1,r.decodeChannels={R:0}):c=!0;break;case 1:a==Ge?(l=!0,r.format=Ge,r.colorSpace=Te,r.outputChannels=4,r.shouldExpand=!0,r.decodeChannels={Y:0}):a==et?(r.format=et,r.colorSpace=Te,r.outputChannels=2,r.shouldExpand=!0,r.decodeChannels={Y:0}):a==wt?(r.format=wt,r.colorSpace=Te,r.outputChannels=1,r.decodeChannels={Y:0}):c=!0;break;default:c=!0}if(c)throw new Error("THREE.EXRLoader: invalid output format for specified file.");if(r.yCbCr&&(r.format=Ge,r.outputChannels=4,r.decodeChannels={Y:0,RY:1,BY:2},l=!0),r.type==1)switch(s){case rt:r.getter=an;break;case Ne:r.getter=qe;break}else if(r.type==2)switch(s){case rt:r.getter=te;break;case Ne:r.getter=ln}else throw new Error("THREE.EXRLoader: unsupported pixelType "+r.type+" for "+e.compression+".");r.columns=r.width;const f=r.width*r.height*r.outputChannels;switch(s){case rt:r.byteArray=new Float32Array(f),l&&r.byteArray.fill(1,0,f);break;case Ne:r.byteArray=new Uint16Array(f),l&&r.byteArray.fill(15360,0,f);break;default:console.error("THREE.EXRLoader: unsupported type: ",s);break}let m=0;for(const p of e.channels)r.decodeChannels[p.name]!==void 0&&(r.channelByteOffsets[p.name]=m),m+=p.pixelType*2;if(r.totalBytes=m,r.outLineWidth=r.width*r.outputChannels,e.spec.deepFormat){r.deepChannels=[];let p=0;for(const d of e.channels){const _=d.pixelType===0?4:d.pixelType*2;r.deepChannels.push({name:d.name,pixelType:d.pixelType,bytesPerSample:_}),p+=_}r.deepBytesPerSample=p,r.chunkOffsets=e._chunkOffsets,r.multiPart=e.spec.multiPart,r.decode=Cn.bind(r)}else if(e.spec.singleTile){r.blockHeight=e.tiles.ySize,r.blockWidth=e.tiles.xSize;const p=_n(e.tiles,r.width,r.height),d=Ft(p,r.width,e.tiles.xSize,e.tiles.roundingMode),_=Ft(p,r.height,e.tiles.ySize,e.tiles.roundingMode);r.tileCount=d[0]*_[0];for(let g=0;g<p;g++)for(let E=0;E<_[g];E++)for(let C=0;C<d[g];C++)J(t,o);r.decode=Sn.bind(r)}else if(e.spec.multiPart)r.blockWidth=r.width,r.chunkOffsets=e._chunkOffsets,r.decode=xn.bind(r);else{r.blockWidth=r.width;const p=Math.ceil(r.height/r.blockHeight);for(let d=0;d<p;d++)J(t,o);r.decode=yn.bind(r)}return r}const ht={value:0},pt=new DataView(i),bn=new Uint8Array(i),mt=In(pt,i,ht),Pt=Math.max(0,Math.min(this.part,mt.length-1)),ne=mt[Pt];if(ne.spec.multiPart||ne.spec.deepFormat)for(let e=0;e<mt.length;e++){const t=mt[e].chunkCount;if(e===Pt){ne._chunkOffsets=[];for(let n=0;n<t;n++)ne._chunkOffsets.push(J(pt,ht))}else for(let n=0;n<t;n++)J(pt,ht)}const me=Rn(ne,pt,bn,ht,this.type,this.outputFormat);if(me.decode(),me.shouldExpand){const e=me.byteArray;if(this.outputFormat==Ge)for(let t=0;t<e.length;t+=4)e[t+2]=e[t+1]=e[t];else if(this.outputFormat==et)for(let t=0;t<e.length;t+=2)e[t+1]=e[t]}if(me.yCbCr){const e=me.byteArray,t=me.width*me.height;if(this.type===Ne)for(let n=0;n<t;n++){const o=n*4,s=v(e[o]),a=v(e[o+1]),r=v(e[o+2]),u=(1+a)*s,l=(1+r)*s,c=(s-u*.2126-l*.0722)/.7152;e[o]=_e.toHalfFloat(Math.max(0,u)),e[o+1]=_e.toHalfFloat(Math.max(0,c)),e[o+2]=_e.toHalfFloat(Math.max(0,l))}else for(let n=0;n<t;n++){const o=n*4,s=e[o],a=e[o+1],r=e[o+2],u=(1+a)*s,l=(1+r)*s;e[o]=Math.max(0,u),e[o+1]=Math.max(0,(s-u*.2126-l*.0722)/.7152),e[o+2]=Math.max(0,l)}}return{header:ne,width:me.width,height:me.height,data:me.byteArray,format:me.format,colorSpace:me.colorSpace,type:this.type,minFilter:_t,magFilter:_t,generateMipmaps:!1,flipY:!1}}setDataType(i){return this.type=i,this}setOutputFormat(i){return this.outputFormat=i,this}setPart(i){return this.part=i,this}}class vr extends Zt{constructor(i){super(i),this.type=Ne}parse(i){const W=function(b,L){switch(b){case 1:throw new Error("THREE.HDRLoader: Read Error: "+(L||""));case 2:throw new Error("THREE.HDRLoader: Write Error: "+(L||""));case 3:throw new Error("THREE.HDRLoader: Bad File Format: "+(L||""));default:case 4:throw new Error("THREE.HDRLoader: Memory Error: "+(L||""))}},R=function(b,L,P){L=L||1024;let Q=b.pos,Z=-1,O=0,z="",k=String.fromCharCode.apply(null,new Uint16Array(b.subarray(Q,Q+128)));for(;0>(Z=k.indexOf(`
|
|
7
|
-
`))&&O<L&&Q<b.byteLength;)z+=k,O+=k.length,Q+=128,k=String.fromCharCode.apply(null,new Uint16Array(b.subarray(Q,Q+128)));return-1<Z?(b.pos+=O+Z+1,z+k.slice(0,Z)):!1},G=function(b){const L=/^#\?(\S+)/,P=/^\s*GAMMA\s*=\s*(\d+(\.\d+)?)\s*$/,U=/^\s*EXPOSURE\s*=\s*(\d+(\.\d+)?)\s*$/,Q=/^\s*FORMAT=(\S+)\s*$/,Z=/^\s*\-Y\s+(\d+)\s+\+X\s+(\d+)\s*$/,O={valid:0,string:"",comments:"",programtype:"RGBE",format:"",gamma:1,exposure:1,width:0,height:0};let z,k;for((b.pos>=b.byteLength||!(z=R(b)))&&W(1,"no header found"),(k=z.match(L))||W(3,"bad initial token"),O.valid|=1,O.programtype=k[1],O.string+=z+`
|
|
8
|
-
`;z=R(b),z!==!1;){if(O.string+=z+`
|
|
9
|
-
`,z.charAt(0)==="#"){O.comments+=z+`
|
|
10
|
-
`;continue}if((k=z.match(P))&&(O.gamma=parseFloat(k[1])),(k=z.match(U))&&(O.exposure=parseFloat(k[1])),(k=z.match(Q))&&(O.valid|=2,O.format=k[1]),(k=z.match(Z))&&(O.valid|=4,O.height=parseInt(k[1],10),O.width=parseInt(k[2],10)),O.valid&2&&O.valid&4)break}return O.valid&2||W(3,"missing format specifier"),O.valid&4||W(3,"missing image size specifier"),O},se=function(b,L,P){const U=L;if(U<8||U>32767||b[0]!==2||b[1]!==2||b[2]&128)return new Uint8Array(b);U!==(b[2]<<8|b[3])&&W(3,"wrong scanline width");const Q=new Uint8Array(4*L*P);Q.length||W(4,"unable to allocate buffer space");let Z=0,O=0;const z=4*U,k=new Uint8Array(4),ae=new Uint8Array(z);let De=P;for(;De>0&&O<b.byteLength;){O+4>b.byteLength&&W(1),k[0]=b[O++],k[1]=b[O++],k[2]=b[O++],k[3]=b[O++],(k[0]!=2||k[1]!=2||(k[2]<<8|k[3])!=U)&&W(3,"bad rgbe scanline format");let j=0,ce;for(;j<z&&O<b.byteLength;){ce=b[O++];const ee=ce>128;if(ee&&(ce-=128),(ce===0||j+ce>z)&&W(3,"bad scanline data"),ee){const K=b[O++];for(let Re=0;Re<ce;Re++)ae[j++]=K}else ae.set(b.subarray(O,O+ce),j),j+=ce,O+=ce}const pe=U;for(let ee=0;ee<pe;ee++){let K=0;Q[Z]=ae[ee+K],K+=U,Q[Z+1]=ae[ee+K],K+=U,Q[Z+2]=ae[ee+K],K+=U,Q[Z+3]=ae[ee+K],Z+=4}De--}return Q},Be=function(b,L,P,U){const Q=b[L+3],Z=Math.pow(2,Q-128)/255;P[U+0]=b[L+0]*Z,P[U+1]=b[L+1]*Z,P[U+2]=b[L+2]*Z,P[U+3]=1},Oe=function(b,L,P,U){const Q=b[L+3],Z=Math.pow(2,Q-128)/255;P[U+0]=_e.toHalfFloat(Math.min(b[L+0]*Z,65504)),P[U+1]=_e.toHalfFloat(Math.min(b[L+1]*Z,65504)),P[U+2]=_e.toHalfFloat(Math.min(b[L+2]*Z,65504)),P[U+3]=_e.toHalfFloat(1)},Ee=new Uint8Array(i);Ee.pos=0;const Se=G(Ee),He=Se.width,ie=Se.height,Ie=se(Ee.subarray(Ee.pos),He,ie);let Ue,Fe,ye;switch(this.type){case rt:ye=Ie.length/4;const b=new Float32Array(ye*4);for(let P=0;P<ye;P++)Be(Ie,P*4,b,P*4);Ue=b,Fe=rt;break;case Ne:ye=Ie.length/4;const L=new Uint16Array(ye*4);for(let P=0;P<ye;P++)Oe(Ie,P*4,L,P*4);Ue=L,Fe=Ne;break;default:throw new Error("THREE.HDRLoader: Unsupported type: "+this.type)}return{width:He,height:ie,data:Ue,header:Se.string,gamma:Se.gamma,exposure:Se.exposure,type:Fe,colorSpace:Te,minFilter:_t,magFilter:_t,generateMipmaps:!1,flipY:!0}}setDataType(i){return this.type=i,this}}function _r(h){const i=new Mn(h),w=new nr;try{const I=i.fromScene(w,.04);return{texture:I.texture,dispose:()=>I.dispose()}}finally{w.dispose(),i.dispose()}}async function Mr(h,i){const w=i==="exr"?new wr:new vr;w.setDataType(Ne);const I=await w.loadAsync(h);return I.mapping=Bn,I.colorSpace=Te,I}const Sr=8;let nt=0;function yr(h){nt+=1;const i=h.dispose;let w=!0;return h.dispose=function(){w&&(w=!1,nt-=1),i.call(this)},nt>=Sr&&console.warn(`[host-renderers] ${nt} editor WebGL renderers are live at once. The browser evicts the OLDEST context past its limit, which is the main viewport — a white viewport and "too many active WebGL contexts" is this. Creating stack:`,new Error("renderer created here").stack),h}function Ar(){return nt}const xr=2,ze=[],St=new Set;function Cr(){const h=document.createElement("canvas");h.style.width="100%",h.style.height="100%",h.style.display="block";const i=yr(new An({canvas:h,antialias:!0,alpha:!0})),w={canvas:h,renderer:i,environment:null,pooled:!1,leased:!0,lost:!1};return St.add(w),h.addEventListener("webglcontextlost",()=>{w.lost=!0;const I=ze.indexOf(w);I>=0&&ze.splice(I,1),w.leased||Kt(w)}),w}function Kt(h){St.delete(h)&&(h.environment?.dispose(),h.environment=null,h.renderer.dispose(),h.renderer.forceContextLoss(),h.canvas.remove())}function Tr(){return{active:[...St].filter(h=>h.leased&&!h.lost).length,idle:[...St].filter(h=>!h.leased&&!h.lost).length}}function Nr(){let h=ze.find(I=>!I.leased&&!I.lost);h||(h=Cr(),ze.length<xr&&(h.pooled=!0,ze.push(h))),h.leased=!0;const i=h;let w=!1;return{canvas:i.canvas,renderer:i.renderer,environment(){return i.environment??=_r(i.renderer),{texture:i.environment.texture,dispose:()=>{}}},release(I){if(!w){if(w=!0,i.leased=!1,i.canvas.remove(),I?.discard){i.lost=!0;const N=ze.indexOf(i);N>=0&&ze.splice(N,1)}if(!i.pooled||i.lost){Kt(i);return}i.renderer.setScissorTest(!1),i.renderer.autoClear=!0,i.renderer.clear()}}}}const vt={name:"OutputShader",uniforms:{tDiffuse:{value:null},toneMappingExposure:{value:1}},vertexShader:`
|
|
11
|
-
precision highp float;
|
|
12
|
-
|
|
13
|
-
uniform mat4 modelViewMatrix;
|
|
14
|
-
uniform mat4 projectionMatrix;
|
|
15
|
-
|
|
16
|
-
attribute vec3 position;
|
|
17
|
-
attribute vec2 uv;
|
|
18
|
-
|
|
19
|
-
varying vec2 vUv;
|
|
20
|
-
|
|
21
|
-
void main() {
|
|
22
|
-
|
|
23
|
-
vUv = uv;
|
|
24
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
25
|
-
|
|
26
|
-
}`,fragmentShader:`
|
|
27
|
-
|
|
28
|
-
precision highp float;
|
|
29
|
-
|
|
30
|
-
uniform sampler2D tDiffuse;
|
|
31
|
-
|
|
32
|
-
#include <tonemapping_pars_fragment>
|
|
33
|
-
#include <colorspace_pars_fragment>
|
|
34
|
-
|
|
35
|
-
varying vec2 vUv;
|
|
36
|
-
|
|
37
|
-
void main() {
|
|
38
|
-
|
|
39
|
-
gl_FragColor = texture2D( tDiffuse, vUv );
|
|
40
|
-
|
|
41
|
-
// tone mapping
|
|
42
|
-
|
|
43
|
-
#ifdef LINEAR_TONE_MAPPING
|
|
44
|
-
|
|
45
|
-
gl_FragColor.rgb = LinearToneMapping( gl_FragColor.rgb );
|
|
46
|
-
|
|
47
|
-
#elif defined( REINHARD_TONE_MAPPING )
|
|
48
|
-
|
|
49
|
-
gl_FragColor.rgb = ReinhardToneMapping( gl_FragColor.rgb );
|
|
50
|
-
|
|
51
|
-
#elif defined( CINEON_TONE_MAPPING )
|
|
52
|
-
|
|
53
|
-
gl_FragColor.rgb = CineonToneMapping( gl_FragColor.rgb );
|
|
54
|
-
|
|
55
|
-
#elif defined( ACES_FILMIC_TONE_MAPPING )
|
|
56
|
-
|
|
57
|
-
gl_FragColor.rgb = ACESFilmicToneMapping( gl_FragColor.rgb );
|
|
58
|
-
|
|
59
|
-
#elif defined( AGX_TONE_MAPPING )
|
|
60
|
-
|
|
61
|
-
gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
|
|
62
|
-
|
|
63
|
-
#elif defined( NEUTRAL_TONE_MAPPING )
|
|
64
|
-
|
|
65
|
-
gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );
|
|
66
|
-
|
|
67
|
-
#elif defined( CUSTOM_TONE_MAPPING )
|
|
68
|
-
|
|
69
|
-
gl_FragColor.rgb = CustomToneMapping( gl_FragColor.rgb );
|
|
70
|
-
|
|
71
|
-
#endif
|
|
72
|
-
|
|
73
|
-
// color space
|
|
74
|
-
|
|
75
|
-
#ifdef SRGB_TRANSFER
|
|
76
|
-
|
|
77
|
-
gl_FragColor = sRGBTransferOETF( gl_FragColor );
|
|
78
|
-
|
|
79
|
-
#endif
|
|
80
|
-
|
|
81
|
-
}`};class Ir extends qn{constructor(){super(),this.isOutputPass=!0,this.uniforms=Hn.clone(vt.uniforms),this.material=new Zn({name:vt.name,uniforms:this.uniforms,vertexShader:vt.vertexShader,fragmentShader:vt.fragmentShader}),this._fsQuad=new tr(this.material),this._outputColorSpace=null,this._toneMapping=null}render(i,w,I){this.uniforms.tDiffuse.value=I.texture,this.uniforms.toneMappingExposure.value=i.toneMappingExposure,(this._outputColorSpace!==i.outputColorSpace||this._toneMapping!==i.toneMapping)&&(this._outputColorSpace=i.outputColorSpace,this._toneMapping=i.toneMapping,this.material.defines={},Gn.getTransfer(this._outputColorSpace)===zn&&(this.material.defines.SRGB_TRANSFER=""),this._toneMapping===Yn?this.material.defines.LINEAR_TONE_MAPPING="":this._toneMapping===Xn?this.material.defines.REINHARD_TONE_MAPPING="":this._toneMapping===Wn?this.material.defines.CINEON_TONE_MAPPING="":this._toneMapping===Vn?this.material.defines.ACES_FILMIC_TONE_MAPPING="":this._toneMapping===Kn?this.material.defines.AGX_TONE_MAPPING="":this._toneMapping===$n?this.material.defines.NEUTRAL_TONE_MAPPING="":this._toneMapping===Qn&&(this.material.defines.CUSTOM_TONE_MAPPING=""),this.material.needsUpdate=!0),this.renderToScreen===!0?(i.setRenderTarget(null),this._fsQuad.render(i)):(i.setRenderTarget(w),this.clear&&i.clear(i.autoClearColor,i.autoClearDepth,i.autoClearStencil),this._fsQuad.render(i))}dispose(){this.material.dispose(),this._fsQuad.dispose()}}let Ke=null;const Ht={value:!1};function Or(h=!1){return Ke||(Ke=new Ir,Object.assign(Ke.uniforms,{unassociateAlpha:Ht}),Ke.material.fragmentShader=Ke.material.fragmentShader.replace("uniform sampler2D tDiffuse;",`uniform sampler2D tDiffuse;
|
|
82
|
-
uniform bool unassociateAlpha;`).replace("gl_FragColor = texture2D( tDiffuse, vUv );",`gl_FragColor = texture2D( tDiffuse, vUv );
|
|
83
|
-
if (unassociateAlpha && gl_FragColor.a != 0.0) {
|
|
84
|
-
gl_FragColor.rgb /= gl_FragColor.a;
|
|
85
|
-
}`)),Ht.value=h,Ke}export{wr as E,tr as F,vr as H,Nr as a,Mr as b,_r as c,Tr as i,Ar as l,yr as m,tt as u,Or as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as tt}from"./blender-base64-Cxqc4R5f.js";import{dX as Ft,gU as Nt,j5 as wt}from"./volter-sdk-D8o6TU4A.js";import{d as Bt}from"./blender-outliner-model-BqLWEXta.js";import{VectorKeyframeTrack as D,QuaternionKeyframeTrack as ft,AnimationClip as J,Vector3 as $,Quaternion as O,AnimationUtils as Pt,AdditiveAnimationBlendMode as Kt,NormalAnimationBlendMode as Dt,LoopOnce as ht,Matrix4 as P,MathUtils as Lt,Euler as It,BooleanKeyframeTrack as Vt,ColorKeyframeTrack as kt,NumberKeyframeTrack as At,BufferAttribute as at,BufferGeometry as qt,AnimationMixer as zt}from"./volter-shared-three-core-DEsIwtOu.js";function Ut(e){const t=[];return e.some(n=>n.includes(" constraint ")||n.includes("drivers"))&&t.push("Bake a constraint or driver into the action (Pose ▸ Animation ▸ Bake Action, Visual Keying), or aim with a Damped Track."),e.some(n=>n.includes("curves on "))&&t.push("Key the motion on a bone (the root bone) instead of the armature object, or move the object from the game."),e.some(n=>n.includes("interpolation")||n.includes(" modifier"))&&t.push("Use Bezier, Linear or Constant keys and the Cycles modifier only, or bake the curves (Key ▸ Bake Keyframes)."),t.length?` ${t.join(" ")}`:""}function Xt(e){const t=tt(e);return new Float32Array(t.buffer,t.byteOffset,t.byteLength>>2)}function Gt(e){return{extrapolation:e.extrapolation,interpolation:e.interpolation,keys:Xt(e.keysBase64),cycles:e.cycles??null}}function Yt(e,t,n,s){const o=[e[0]-t[0],e[1]-t[1]],i=[s[0]-n[0],s[1]-n[1]],r=s[0]-e[0],l=Math.abs(o[0]),f=Math.abs(i[0]);if(l+f!==0&&l+f>r){const u=r/(l+f);t[0]=e[0]-u*o[0],t[1]=e[1]-u*o[1],n[0]=s[0]-u*i[0],n[1]=s[1]-u*i[1]}}function Ht(e,t,n,s,o){const i=(u,a,h,b,g)=>{const k=1-g;return k*k*k*u+3*k*k*g*a+3*k*g*g*h+g*g*g*b};let r=0,l=1,f=(e-t[0])/(o[0]-t[0]||1);for(let u=0;u<60;u++){const a=i(t[0],n[0],s[0],o[0],f)-e;if(Math.abs(a)<1e-9)break;a<0?r=f:l=f;const h=1-f,b=3*h*h*(n[0]-t[0])+6*h*f*(s[0]-n[0])+3*f*f*(o[0]-s[0]),g=b!==0?f-a/b:(r+l)/2;f=g>r&&g<l?g:(r+l)/2}return i(t[1],n[1],s[1],o[1],f)}function V(e,t){const n=e.keys,s=n.length/6;if(s===0)return 0;const o=A=>n[A*6],i=A=>n[A*6+1];if(s===1)return i(0);const r=s-1;if(t<=o(0)){if(e.extrapolation!=="LINEAR"||t===o(0)||e.interpolation[0]===0)return i(0);const A=o(0)-t;if(e.interpolation[0]===2){const j=o(0)-n[2];return j!==0?i(0)-(i(0)-n[3])/j*A:i(0)}const M=o(1)-o(0);return M!==0?i(0)-(i(1)-i(0))/M*A:i(0)}if(t>=o(r)){if(e.extrapolation!=="LINEAR"||t===o(r)||e.interpolation[r]===0)return i(r);const A=t-o(r);if(e.interpolation[r]===2){const j=n[r*6+4]-o(r);return j!==0?i(r)+(n[r*6+5]-i(r))/j*A:i(r)}const M=o(r)-o(r-1);return M!==0?i(r)+(i(r)-i(r-1))/M*A:i(r)}let l=0,f=r;for(;f-l>1;){const A=l+f>>1;o(A)<=t?l=A:f=A}if(t===o(l))return i(l);const u=e.interpolation[l]??1;if(u===0)return i(l);if(u===1)return i(l)+(i(f)-i(l))*(t-o(l))/(o(f)-o(l));const a=[o(l),i(l)],h=[n[l*6+4],n[l*6+5]],b=[n[f*6+2],n[f*6+3]],g=[o(f),i(f)],k=11920929e-14;return Math.abs(a[1]-g[1])<k&&Math.abs(h[1]-b[1])<k&&Math.abs(b[1]-g[1])<k?a[1]:(Yt(a,h,b,g),Ht(t,a,h,b,g))}function Zt(e,t){const n=e.cycles,s=e.keys,o=s.length/6;if(!n||o<2)return V(e,t);const i=s[0],r=s[1],l=s[(o-1)*6],f=s[(o-1)*6+1];let u=0,a=0,h=0,b=0;if(t<i&&n[0]?(u=-1,a=n[0],h=n[1],b=i):t>l&&n[2]&&(u=1,a=n[2],h=n[3],b=l),u===0||a===0)return V(e,t);const g=l-i,k=f-r;if(g===0)return V(e,t);const A=u*(t-b)/g;if(h&&A>=h){const W=a===3&&h%2===1;return V(e,u===1?W?i:l:W?l:i)+(a===2?k*h*u:0)}const M=(t-b)%g,j=a===2?(u<0?Math.floor((t-b)/g):Math.ceil((t-b)/g))*k:0;let C;return M===0?(C=u===1?l:i,a===3&&Math.trunc(A)%2&&(C=u===1?i:l)):a===3&&Math.trunc(A+1)%2?C=u<0?i-M:l-M:C=(u<0?l:i)+M,C<i&&(C+=g),V(e,C)+j}function Qt(e,t,n,s){const o=e?.useNla??!0;if(o&&e.tracks.some(l=>l.solo))return null;if(!o||!s)return{clip:t,frame:n,influence:1,blend:"REPLACE"};const i=e.extrapolation;let r=n;if(n<t.keysStart){if(i!=="HOLD")return null;r=t.keysStart}else if(n>t.keysEnd){if(i==="NOTHING")return null;r=t.keysEnd}return{clip:t,frame:r,influence:e.influence,blend:e.blendType}}function Jt(e,t){const n=e.filter(i=>!i.mute).sort((i,r)=>i.start-r.start);for(const i of n)if(t>=i.start&&t<=i.end)return{strip:i,time:t};const s=n[0];if(!s)return null;if(t<s.start)return s.extrapolation==="HOLD"?{strip:s,time:s.start}:null;let o=null;for(const i of n)i.end<t&&(o=i);return o&&(o.extrapolation==="HOLD"||o.extrapolation==="HOLD_FORWARD")?{strip:o,time:o.end}:null}function te(e,t){const n=e.actionEnd-e.actionStart||1,s=Math.abs(e.scale)||1,o=Math.abs(e.repeat%1)<1e-6&&Math.abs(t-e.end)<1e-6,i=(t-e.start)%(n*s)/s;return e.reversed?o?e.actionStart:e.actionEnd-i:o?e.actionEnd:e.actionStart+i}const Mt=new WeakMap;function ee(e,t){if(e.animatedInfluence){const n=e.influenceCurve;if(!n)return e.influence;let s=Mt.get(n);return s||Mt.set(n,s=Gt(n)),Math.max(0,Math.min(1,Zt(s,t)))}return e.blendIn>0&&t>=e.start&&t<=e.start+e.blendIn?(t-e.start)/e.blendIn:e.blendOut>0&&t>=e.end-e.blendOut&&t<=e.end?(e.end-t)/e.blendOut:1}function ne(e,t,n){const s=[],o=[];let i=!1,r=!1;if(!e||!e.useNla)return{layers:s,waiting:i,skipped:o,evaluated:r};const l=e.tracks.some(f=>f.solo);for(const f of e.tracks){if(l?!f.solo:f.mute)continue;f.strips.length&&(r=!0);const u=Jt(f.strips,t);if(!u)continue;const a=ee(u.strip,u.time);if(u.strip.type!=="CLIP"||!u.strip.action){o.push(`the ${u.strip.type.toLowerCase()} strip "${u.strip.name}" on track "${f.name}"`);continue}const h=n(u.strip.action);h===void 0&&(i=!0),h&&s.push({clip:h,frame:te(u.strip,u.time),influence:a,blend:u.strip.blendType})}return{layers:s,waiting:i,skipped:o,evaluated:r}}function se(e){const t=tt(e);return new Float32Array(t.buffer,t.byteOffset,t.byteLength>>2)}function xt(e){if(!e.action||e.clipStart===void 0||e.clipEnd===void 0||!e.bones?.length)return null;const t=o=>se(o.base64),n=new Map(e.bones.map(o=>[o.bone,{keys:o.keys,position:t(o.position),quaternion:t(o.quaternion),scale:t(o.scale)}])),s=new Set;for(const o of e.tracks)for(const i of o.unsupported??[])s.add(`${e.action}'s ${i}`);for(const o of e.unsupported??[])s.add(`${e.action}'s ${o}`);return{action:e.action,start:e.clipStart,end:e.clipEnd,fps:e.fps,keysStart:e.keysStart===null?-1/0:e.keysStart,keysEnd:e.keysEnd===null?1/0:e.keysEnd,bones:n,unsupported:[...s]}}const $t=new Set(["ADD","COMBINE"]),oe=new Set(["REPLACE","ADD","COMBINE"]),ie={TRACK_X:[1,0,0],TRACK_Y:[0,1,0],TRACK_Z:[0,0,1],TRACK_NEGATIVE_X:[-1,0,0],TRACK_NEGATIVE_Y:[0,-1,0],TRACK_NEGATIVE_Z:[0,0,-1]},jt=e=>new P().set(...e.flat());function re(e){const t=new O;if(e.mode==="QUATERNION"){const[n,s,o,i]=e.rotation_quaternion;t.set(s,o,i,n).normalize()}else if(e.mode==="AXIS_ANGLE"){const[n,s,o,i]=e.rotation_axis_angle,r=new $(s,o,i);t.setFromAxisAngle(r.lengthSq()>0?r.normalize():new $(0,1,0),n)}else{const[n,s,o]=e.rotation_euler;t.setFromEuler(new It(n,s,o,e.mode.split("").reverse().join("")))}return new P().compose(new $(...e.location),t,new $(...e.scale))}const ae=e=>e.toLowerCase().split("_").map(t=>t==="ik"?"IK":t[0].toUpperCase()+t.slice(1)).join(" ");class ce{constructor(t,n){this.rig=t,this.mixer=n}#n=null;#c=[];#e=new Map;#f=new Map;#l=new WeakMap;#r=new Map;#a=new Set;warnings=[];facts(t){if(t===this.#n)return;const n=this.#n===null;this.#n=t,this.#c=t.bones;const s=new Map(t.bones.map(o=>[o.name,jt(o.rest)]));this.#f=new Map(t.bones.map(o=>{const i=s.get(o.name),r=o.parent===null?void 0:s.get(o.parent);return[o.name,r?r.clone().invert().multiply(i):i.clone()]})),this.#e=new Map(t.bones.map(o=>[o.name,this.#f.get(o.name).clone().multiply(re(o.channels))])),n&&this.#p()}get armature(){return this.#n}#p(){for(const[t,n]of this.#e){const s=this.rig.bones.get(t);s&&n.decompose(s.position,s.quaternion,s.scale)}}unsupported(){const t=[];for(const n of this.#c){for(const s of n.constraints??[])s.enabled&&s.type!=="DAMPED_TRACK"&&t.push(`the ${ae(s.type)} constraint "${s.name}" on bone "${n.name}"`);n.inherit?.length&&t.push(`bone "${n.name}"'s parenting (${n.inherit.join(", ")})`)}for(const n of this.#n?.animation?.drivers??[])t.push(`the drivers on bone "${n}"`);this.#n?.animation?.tweak&&t.push("the NLA in tweak mode (leave it with Tab in the NLA editor)");for(const n of this.#n?.animation?.tracks??[])for(const s of n.strips)!s.mute&&s.animatedTime&&t.push(`the animated strip time of "${s.name}"`);return t}#t(t,n,s){let o=this.#l.get(t);o||this.#l.set(t,o=new Map);const i=`${s?"+":"="}${n.join("\0")}`,r=o.get(i);if(r)return r;const l=Math.max(1,Math.round(t.end-t.start)+1),f=Float32Array.from({length:l},(h,b)=>b/t.fps),u=[];for(const h of n){const b=t.bones.get(h),g=this.rig.bones.get(h);if(!b||!g)continue;const k=(C,W)=>C.length===W?{times:new Float32Array([0]),values:C}:{times:f.slice(0,C.length/W),values:C},A=k(b.position,3),M=k(b.quaternion,4),j=k(b.scale,3);u.push(new D(`${g.uuid}.position`,A.times,A.values)),u.push(new ft(`${g.uuid}.quaternion`,M.times,M.values)),u.push(new D(`${g.uuid}.scale`,j.times,j.values))}let a=new J(`${t.action}${i}`,(l-1)/t.fps,u);if(s){const h=[],[b,g,k]=[new $,new O,new $];for(const A of n){const M=this.rig.bones.get(A),j=this.#f.get(A);!M||!j||!t.bones.has(A)||(j.decompose(b,g,k),h.push(new D(`${M.uuid}.position`,[0],b.toArray())),h.push(new ft(`${M.uuid}.quaternion`,[0],g.toArray())),h.push(new D(`${M.uuid}.scale`,[0],k.toArray())))}a=Pt.makeClipAdditive(a,0,new J("rest",0,h))}return o.set(i,a),a}#o(t,n){let s=this.#r.get(t);return s||(s=this.mixer.clipAction(t,this.rig.object,n?Kt:Dt),s.setLoop(ht,1),s.clampWhenFinished=!0,s.timeScale=0,this.#r.set(t,s)),s}place(t){const n=new Set;t.forEach((s,o)=>{const i=Math.max(0,Math.min(1,s.influence));if(i<=0)return;if(!oe.has(s.blend)){const u=`the ${s.blend.toLowerCase()} blend of "${s.clip.action}" (played as Replace)`;this.#a.has(u)||(this.#a.add(u),this.warnings.push(u))}const r=$t.has(s.blend),l=Math.max(0,Math.min(s.clip.end,s.frame)-s.clip.start)/s.clip.fps,f=new Map;for(const u of s.clip.bones.keys()){let a=i,h="";if(!r)for(let g=o+1;g<t.length;g++){const k=t[g];$t.has(k.blend)||!k.clip.bones.has(u)||(a*=1-Math.max(0,Math.min(1,k.influence)),h+=`${g},`)}const b=f.get(h);b?b.bones.push(u):f.set(h,{bones:[u],weight:a})}for(const u of f.values()){if(u.weight<=0)continue;const a=this.#o(this.#t(s.clip,u.bones,r),r);a.isRunning()||a.play(),a.paused=!1,a.time=l,a.setEffectiveWeight(u.weight),n.add(a)}});for(const s of this.#r.values())!n.has(s)&&s.isScheduled()&&s.stop()}settle(t){return this.rig.object.updateMatrixWorld(!0),this.#i(t),this.#s()}#i(t){const[n,s,o]=[new $,new O,new $];for(const i of this.#c)for(const r of i.constraints??[]){if(!r.enabled||r.type!=="DAMPED_TRACK")continue;const l=r.influence,f=this.rig.bones.get(i.name);if(l<=0||!f)continue;const u=this.#u(r,t);if(!u)continue;f.matrixWorld.decompose(n,s,o);const a=new $(...ie[r.trackAxis]).applyQuaternion(s).normalize(),h=u.clone().sub(n);if(h.lengthSq()===0)continue;const b=new O().setFromUnitVectors(a,h.normalize()),g=new O().slerp(b,Math.min(1,l)),k=new P().compose(n,g.multiply(s),o);(f.parent?f.parent.matrixWorld:new P).clone().invert().multiply(k).decompose(f.position,f.quaternion,f.scale),f.updateMatrixWorld(!0)}}#u(t,n){if(!t.target)return null;if(t.subtarget&&t.target===this.rig.armature){const i=this.rig.bones.get(t.subtarget),r=this.#c.find(l=>l.name===t.subtarget);return!i||!r?null:new $(0,r.length*t.headTail,0).applyMatrix4(i.matrixWorld)}const s=n.object(t.target);if(!s)return null;s.updateWorldMatrix(!0,!1);const o=t.subtarget?s.getObjectByName(t.subtarget):s;return o?new $().setFromMatrixPosition(o.matrixWorld):null}#s(){const t=this.rig.object.matrixWorld.clone().invert(),n=new Map;for(const[s,o]of this.rig.bones)n.set(s,t.clone().multiply(o.matrixWorld));return n}dispose(){for(const[t,n]of this.#r)n.stop(),this.mixer.uncacheAction(t,this.rig.object),this.mixer.uncacheClip(t);this.#r.clear()}}function le(e,t){let n=null;const[s,o,i,r,l,f]=[new $,new O,new $,new $,new O,new $];for(const u of t.bones){const a=e.get(u.name);if(!a)continue;a.decompose(s,o,i),jt(u.matrix).decompose(r,l,f);const h=Lt.radToDeg(o.angleTo(l)),b=s.distanceTo(r)/Math.max(u.length,.1),g=Math.max(h/1,b/.01);g>1&&(!n||g>n.score)&&(n={bone:u.name,degrees:h,offset:b,score:g})}return n&&{bone:n.bone,degrees:n.degrees,offset:n.offset}}const ct=["lens","sensor_width","sensor_height","ortho_scale","shift_x","shift_y","clip_start","clip_end"];function N(e){const t=tt(e.base64);return new Float32Array(t.buffer,t.byteOffset,t.byteLength>>2)}const q={TRACK_X:[0,1],TRACK_Y:[1,1],TRACK_Z:[2,1],TRACK_NEGATIVE_X:[0,-1],TRACK_NEGATIVE_Y:[1,-1],TRACK_NEGATIVE_Z:[2,-1],UP_X:[0,1],UP_Y:[1,1],UP_Z:[2,1]};function ue(e,t,n,s){const[o,i]=q[n]??q.TRACK_NEGATIVE_Z,[r]=q[s]??q.UP_Y;if(r===o)return null;const l=e.clone().normalize(),f=t.clone().sub(l.clone().multiplyScalar(t.dot(l)));if(f.lengthSq()<1e-10)return null;f.normalize();const u=[new $,new $,new $];u[o]=l.multiplyScalar(i),u[r]=f;const a=3-o-r;return u[a]=new $().crossVectors(u[(a+1)%3],u[(a+2)%3]),new O().setFromRotationMatrix(new P().makeBasis(u[0],u[1],u[2]))}function fe(e,t,n){const s=[],o=[],{start:i,end:r,fps:l}=t.scene,f=Math.max(1,r-i+1),u=Float32Array.from({length:f},(c,m)=>m/l),a=[];for(const c of t.objects){const m=e.objectForBlenderName(c.name);if(!m){(c.sampled||c.camera?.sampled)&&a.push(c.name);continue}for(const S of c.unsupported??[])s.push(`${c.name}: ${S} plays only in Blender, not in this animation preview.`);const y=c.sampled,d=[];if(y){const S=(T,E)=>{const v=N(T);return[v.length===E?new Float32Array([0]):u.slice(0,v.length/E),v]};if(d.push(new D(`${m.uuid}.position`,...S(y.position,3))),d.push(new ft(`${m.uuid}.quaternion`,...S(y.quaternion,4))),d.push(new D(`${m.uuid}.scale`,...S(y.scale,3))),y.hidden){const[T,E]=S(y.hidden,1);d.push(new Vt(`${m.uuid}.visible`,T,Array.from(E,v=>v<.5)))}}const p={},w=c.camera?.sampled;if(w)for(const S of ct)p[S]=N(w[S]);let x=null;d.length&&(x=n.clipAction(new J(`movie:${c.name}`,(f-1)/l,d)),x.setLoop(ht,1),x.clampWhenFinished=!0,x.timeScale=0),o.push({data:c,object:m,action:x,projection:p,projectionStart:w?.start??i})}a.length&&s.push(`The movie animates ${a.length} object(s) this copy does not draw by that name, so they hold still: ${a.slice(0,12).join(", ")}${a.length>12?", …":""}.`);const h=[],b=[],g=[],k=(c,m,y)=>{if(!m.length)return;const d=n.clipAction(new J(c,(f-1)/l,m));d.setLoop(ht,1),d.clampWhenFinished=!0,d.timeScale=0,y.push(d)},A=()=>[...h,...b],M=(c,m)=>c.length<=1?c[0]??0:c[Math.max(0,Math.min(c.length-1,Math.round(m-i)))],j=(c,m)=>c.length===m?new Float32Array([0]):u.slice(0,c.length/m);for(const c of t.materials){let m=null,y=null;e.root.traverse(w=>{const x=w;if(m||!x.isMesh)return;const S=Array.isArray(x.material)?x.material:[x.material],T=S.findIndex(E=>E?.name===c.name);T<0||(m=Array.isArray(x.material)?`${x.uuid}.material[${T}]`:`${x.uuid}.material`,y=S[T])});const d=y;if(!m||!d){s.push(`The keyed material "${c.name}" is not drawn here, so its animation does not play.`);continue}const p=[];if(c.color){const w=N(c.color);p.push(new kt(`${m}.color`,j(w,3),w))}if(c.emissive){const w=N(c.emissive);p.push(new kt(`${m}.emissive`,j(w,3),w)),"emissiveIntensity"in d&&(d.emissiveIntensity=1)}if(c.opacity){const w=N(c.opacity);p.push(new At(`${m}.opacity`,j(w,1),w)),d.transparent=!0,d.needsUpdate=!0}k(`movie-material:${c.name}`,p,h)}for(const c of t.shapes){const m=e.objectForBlenderName(c.object);if(!m)continue;if(!c.mapped){s.push(`${c.object}: its shape keys play only in Blender, not in this animation preview: its modifiers change its vertices.`);continue}const y=[];m.traverse(d=>{const p=d;p.isMesh&&p.geometry.getAttribute("blenderVertex")&&y.push(p)});for(const d of y){const p=d.geometry,w=p.getAttribute("blenderVertex"),x=p.getAttribute("position").count,S=[],T=[],E={},v=[],Y=[],bt=p.getAttribute("position"),F=p.getAttribute("normal");let H=!0;if(c.keys.forEach((R,Wt)=>{const st=N(R.delta),I=new Float32Array(x*3);for(let _=0;_<x;_++){const K=w.getX(_);if(K>=c.vertices){H=!1;continue}I[_*3]=st[K*3],I[_*3+1]=st[K*3+1],I[_*3+2]=st[K*3+2]}const yt=new at(I,3);if(yt.name=R.name,S.push(yt),F){const _=new qt;_.setAttribute("position",new at(Float32Array.from(bt.array,(it,rt)=>it+I[rt]),3)),p.index&&_.setIndex(p.index),_.computeVertexNormals();const K=_.getAttribute("normal");T.push(new at(Float32Array.from(K.array,(it,rt)=>it-F.array[rt]),3)),_.dispose()}E[R.name]=Wt;const ot=N(R.values);Y.push(ot),v.push(new At(`${d.uuid}.morphTargetInfluences[${R.name}]`,j(ot,1),ot))}),!H){s.push(`${c.object}: its drawn vertices do not match its mesh, so its shape keys play only in Blender.`);continue}p.morphAttributes.position=S,F&&T.length===S.length&&(p.morphAttributes.normal=T),p.morphTargetsRelative=!0,d.updateMorphTargets(),d.morphTargetDictionary=E;for(const R of Array.isArray(d.material)?d.material:[d.material])R.needsUpdate=!0;g.push({mesh:d,keys:Y}),k(`movie-shapes:${c.object}:${d.uuid}`,v,b)}}const C=c=>{let m=0;for(let y=c.parent;y;y=y.parent)m+=1;return m},W=o.filter(c=>c.data.constraints.some(m=>m.enabled&&m.influence>0&&m.target&&(m.type==="TRACK_TO"||m.type==="DAMPED_TRACK"))).sort((c,m)=>C(c.object)-C(m.object)),et=new Map(o.map(c=>[c.data.name,c])),_t=t.markers.map(c=>({frame:c.frame,camera:c.camera})).filter(c=>c.camera!==null&&!(et.get(c.camera)?.data.camera?.renderHidden??!1));let gt=t.scene.current,G=!1,nt=t.scene.current;const Ot=()=>{if(W.length===0)return;e.root.updateMatrixWorld(!0);const c=e.root.matrixWorld.clone().invert(),[m,y,d]=[new $,new O,new $];for(const p of W)for(const w of p.data.constraints){if(!w.enabled||w.influence<=0||!w.target)continue;const x=e.objectForBlenderName(w.target);if(!x)continue;x.updateWorldMatrix(!0,!1),p.object.updateWorldMatrix(!0,!1);const S=c.clone().multiply(p.object.matrixWorld),T=c.clone().multiply(x.matrixWorld);S.decompose(m,y,d);const E=new $().setFromMatrixPosition(T).sub(m);if(E.lengthSq()===0)continue;let v;if(w.type==="TRACK_TO"){const F=w.useTargetZ?new $(0,0,1).transformDirection(T):new $(0,0,1);v=ue(E,F,w.trackAxis,w.upAxis)}else{const[F,H]=q[w.trackAxis],R=new $().setComponent(F,H).applyQuaternion(y);v=new O().setFromUnitVectors(R,E.normalize()).multiply(y)}if(!v)continue;const Y=new P().compose(m,y.clone().slerp(v,Math.min(1,w.influence)),d);(p.object.parent?c.clone().multiply(p.object.parent.matrixWorld):new P).invert().multiply(Y).decompose(p.object.position,p.object.quaternion,p.object.scale),p.object.updateMatrixWorld(!0)}},Rt=c=>{const m=c.data.camera,y=Object.fromEntries(ct.map(p=>[p,m[p]])),d=gt-c.projectionStart;for(const p of ct){const w=c.projection[p];if(!w)continue;if(w.length===1){y[p]=w[0];continue}const x=Math.max(0,Math.min(w.length-1,Math.floor(d))),S=Math.min(w.length-1,x+1),T=Math.max(0,Math.min(1,d-x));y[p]=w[x]+(w[S]-w[x])*T}return y};return{objects:o.filter(c=>c.data.sampled).map(c=>c.data.name),warnings:s,place(c,m){if(nt=m,c===null){for(const p of o)p.action&&(p.action.enabled=!1);for(const p of b)p.enabled=!1;for(const{mesh:p}of g)p.morphTargetInfluences?.fill(0);const d=Math.max(0,Math.min(r,nt)-i)/l;for(const p of h)p.enabled=!0,p.isRunning()||p.play(),p.paused=!1,p.time=d;G=!1;return}gt=c,G=!0;const y=Math.max(0,Math.min(r,c)-i)/l;for(const d of o)d.action&&(d.action.enabled=!0,d.action.isRunning()||d.action.play(),d.action.paused=!1,d.action.time=y);for(const d of A())d.enabled=!0,d.isRunning()||d.play(),d.paused=!1,d.time=y},settle(){if(G){for(const c of o)c.action&&c.action.enabled&&c.object.updateMatrix();for(const{mesh:c,keys:m}of g){const y=c.morphTargetInfluences;y&&m.forEach((d,p)=>{y[p]=(y[p]??0)-M(d,nt)})}Ot()}},clips(){return[...o.flatMap(c=>c.action?[c.action.getClip()]:[]),...A().map(c=>c.getClip())]},dispose(){for(const c of o){if(!c.action)continue;const m=c.action.getClip();c.action.stop(),n.uncacheAction(m),n.uncacheClip(m)}for(const c of A()){const m=c.getClip();c.stop(),n.uncacheAction(m),n.uncacheClip(m)}G=!1},cameraAt(c){const m=Math.floor(c);let y=null,d=null;for(const p of _t)p.frame<=m&&(!y||p.frame>y.frame)&&(y=p),(!d||p.frame<d.frame)&&(d=p);return(y??d)?.camera??t.scene.camera},cameraData(c){const m=et.get(c);if(!m?.data.camera)return null;e.root.updateMatrixWorld(!0),m.object.updateWorldMatrix(!0,!1);const y=e.root.matrixWorld.clone().invert().multiply(m.object.matrixWorld).elements,d=[0,1,2,3].map(w=>[y[w],y[4+w],y[8+w],y[12+w]]),p=m.data.camera;return{name:c,type:p.type,sensor_fit:p.sensor_fit,matrix:d,...Rt(m)}}}}class he{constructor(t){this.root=t,this.mixer=new zt(t)}mixer;evaluate(){this.mixer.update(0),this.root.updateMatrixWorld(!0)}dispose(){this.mixer.stopAllAction(),this.mixer.uncacheRoot(this.root)}}const St=new WeakMap;function lt(e){const t=St.get(e);if(t&&t.root===e.root)return t;t?.dispose();const n=new he(e.root);return St.set(e,n),n}function pe(e,t,n){const s=ne(e.animation,t,n),o=e.action??null;if(o){const i=n(o);i===void 0&&(s.waiting=!0);const r=i?Qt(e.animation,i,t,s.evaluated):null;r&&s.layers.push(r)}return s}function me(e){return!!e.action||!!e.animation?.tracks.some(t=>t.strips.length)}class de{#n=null;#c=null;#e=null;#f=null;#l=null;#r=null;#a=null;#p=null;#t=null;#o=new Map;#i=new Map;#u=null;#s=null;#m=null;#b=new Set;#w=0;#k=[];#A=new Set;#h=0;get version(){return this.#w}get engineCalls(){return this.#h}subscribe(t){return this.#b.add(t),()=>this.#b.delete(t)}#g(){this.#w++;for(const t of[...this.#b])t()}state(){const t=this.#t;return{frame:this.frame(),start:t?.frameStart??1,end:t?.frameEnd??250,fps:t?.fps??24,action:t?.action??null,object:t?.object??null,armature:t?.armature??null,bones:this.#a?this.#n?.skeletons.rig(this.#a)?.bones.size??0:0,keyframes:t?.keyframes??[],summary:t?.summary??[],clipStart:t?.clipStart??null,clipEnd:t?.clipEnd??null,tracks:t?.tracks.length??0,bound:[...this.#o.keys()],warnings:this.#k,engineCalls:this.#h,blenderFrame:t?.frameCurrent??null,movieRead:this.#r,movie:this.#e?{objects:this.#e.objects.length,camera:this.#l===null?null:this.#e.cameraAt(this.#l),posed:this.#l,viewCamera:this.#n?.cameraViewCamera()??null}:null}}playhead(){return this.#t?this.frame():null}frame(){return this.#u??this.#t?.frameCurrent??1}get playable(){return this.#t!==null&&this.#s!==null}async sync(t,n){this.#n=t,this.#c=n;const s=t.animationFacts(),o=Object.keys(s.armatures),i=s.active,r=i&&s.armatures[i]?i:(i?s.skinArmature(i):null)??(o.filter(a=>s.armatures[a].action).length===1?o.find(a=>s.armatures[a].action):null);for(const[a,h]of[...this.#o])(!s.armatures[a]||t.skeletons.rig(a)!==h.rig)&&(h.dispose(),this.#o.delete(a));for(const[a,h]of Object.entries(s.armatures)){const b=t.skeletons.rig(a);if(!b||!me(h)){this.#o.get(a)?.dispose(),this.#o.delete(a);continue}let g=this.#o.get(a);g||this.#o.set(a,g=new ce(b,lt(t).mixer)),g.facts(h)}for(const[a,h]of[...this.#i]){const b=a.slice(a.indexOf("\0")+1);(s.actions[b]??null)!==h.revision&&this.#i.delete(a)}const l=r?s.armatures[r]?.action??null:null,f=JSON.stringify([r,l,l?s.actions[l]??null:null,s.clock,s.frame]);if(f!==this.#p){this.#p=f,this.#a=r,this.#h++;const a=await n.clip(r);a?.action&&a.armature&&this.#i.set(`${a.armature}\0${a.action}`,{revision:s.actions[a.action]??null,clip:xt(a)});const h=this.#t,b=a?.frameStart!==h?.frameStart||a?.frameEnd!==h?.frameEnd||a?.fps!==h?.fps;this.#t=a??null,(!a||a.scene!==h?.scene)&&(this.#u=null);const g=this.#s?.snapshot().activeSubject;b&&g&&this.#s?.setActiveSubject(g);const k=this.#s?.snapshot().playbackState==="playing";a&&!k&&(this.#u=null,this.#s&&a.fps>0&&this.#s.seek(a.frameCurrent/a.fps))}const u=JSON.stringify([s.actions,s.clock,this.#t?.frameStart,this.#t?.frameEnd,s.cameras]);if(u!==this.#f){this.#f=u,this.#h++;const a=await n.movie();this.#r=a?{objects:a.objects.length,materials:a.materials.length,shapes:a.shapes.length}:null,this.#e?.dispose(),this.#e=a&&(a.objects.length||a.materials.length||a.shapes.length)?fe(t,a,lt(t).mixer):null;for(const h of this.#e?.warnings??[])this.#d(`movie:${h}`,h)}this.#y(),this.#g()}#M(t,n){const s=`${t}\0${n}`,o=this.#i.get(s);if(o)return o.clip;const i=this.#c,r=this.#n?.animationFacts().actions[n]??null;if(!i)return null;const l={revision:r,clip:void 0};this.#i.set(s,l),this.#h++,i.bake(t,n).then(f=>{l.clip=f?xt(f):null,this.#i.get(s)===l&&(this.#y(),this.#g())},f=>{l.clip=null,this.#d(`bake:${s}`,`${t} / ${n} could not be read: ${f instanceof Error?f.message:String(f)}`)})}#y(){const t=this.#n;if(!t)return;const n=t.animationFacts(),s=this.frame(),o=s===n.frame,i=this.#s?.snapshot().playbackState==="playing",r=this.#t?.reason?[this.#t.reason]:[],l={object:h=>t.objectForBlenderName(h)},f=lt(t),u=!!this.#e&&!(o&&!i);this.#e?.place(u?s:null,n.frame),this.#l=u?s:null;const a=[];for(const[h,b]of this.#o){const g=n.armatures[h];if(!g)continue;const k=[...b.unsupported(),...this.#x(h).flatMap(M=>M.unsupported)];if(k.length){const M=`${h} plays ${k.join(", ")} only in Blender, not in the Timeline preview.${Ut(k)}`;r.push(M),this.#d(`unsupported:${h}:${k.join("|")}`,M)}const A=pe(g,s,M=>this.#M(h,M));for(const M of A.skipped)this.#d(`skipped:${h}:${M}`,`${h}: ${M} plays only in Blender, not in the Timeline preview.`);A.waiting||(b.place(A.layers),a.push({name:h,pose:b,armature:g,check:o&&!i,unsupported:k}))}if(f.evaluate(),this.#e?.settle(),this.#e){const h=this.#e.cameraAt(s);t.setPlaybackCamera(h,h===null?null:this.#e.cameraData(h)),Ft()}else t.setPlaybackCamera(null);for(const h of a){const b=h.pose.settle(l);h.check&&(this.#$(h.name,b,h.armature,h.unsupported),t.skeletons.restorePose(h.name),h.pose.rig.object.updateMatrixWorld(!0))}this.#k=r}#x(t){const n=[];for(const[s,o]of this.#i)s.startsWith(`${t}\0`)&&o.clip&&n.push(o.clip);return n}#$(t,n,s,o){const i=le(n,s);if(!i)return;const r=this.#t?.frameCurrent??this.frame(),l=o.length?`What Blender plays here and the evaluator does not: ${o.join(", ")}.`:"Nothing the evaluator knows of explains it; this is a defect in the presenter, report it with the file.";this.#d(`divergence:${t}:${r}:${i.bone}:${Math.round(i.degrees)}`,`${t} at frame ${r}: bone "${i.bone}" is ${i.degrees.toFixed(1)}° and ${(i.offset*100).toFixed(1)}% of its length off Blender's own pose, so the Timeline preview differs from Blender. ${l}`)}#d(t,n){this.#A.has(t)||(this.#A.add(t),Nt().console.warn(n,"blender-animation"))}#S(t){const n=this.#t;n&&(this.#u=Math.min(n.frameEnd,Math.max(n.frameStart,t)),this.#y())}get subject(){return this.#a}actionNames(){return Object.keys(this.#n?.animationFacts().actions??{}).sort((t,n)=>t.localeCompare(n))}channels(){const t=new Map;for(const n of this.#t?.tracks??[]){const s=tt(n.keysBase64),o=new Float32Array(s.buffer,0,s.length>>2);let i=t.get(n.bone);i||t.set(n.bone,i=new Set);for(let r=0;r<o.length;r+=6)i.add(Math.round(o[r]*1e3)/1e3)}return[...t].map(([n,s])=>({bone:n,keys:[...s].sort((o,i)=>o-i)}))}stacks(){const t=this.#n?.animationFacts();return t?Object.entries(t.armatures).map(([n,s])=>({armature:n,action:s.action??null,animation:s.animation})):[]}get scene(){return this.#t?.scene??null}async writeBookmark(){const t=Math.round(this.frame()),n=this.#t;if(!n)return t;const s=n.scene;return n.frameCurrent===t||(this.#h++,await Bt(`bpy.data.scenes[${JSON.stringify(s)}]`,"frame_current",t,void 0,!1),this.#t={...n,frameCurrent:t},this.#g()),t}get transport(){return this.#s}attachTo(t){this.#m?.(),this.#s=t;const n=t.attach({id:this.#t?.action??"blender-action",label:this.#t?.action??"Action",range:()=>{const l=this.#t,f=l?.fps||24;return{start:(l?.frameStart??1)/f,end:(l?.frameEnd??250)/f,fps:f}},seek:l=>this.seekSeconds(l)}),s=t.onSettled(()=>{this.writeBookmark()});let o=!1;const i=()=>{o||(o=!0,s(),n(),this.#m===i&&(this.#s===t&&(this.#s=null),this.#m=null))};this.#m=i;const r=this.#t;return r&&r.fps>0&&t.seek(r.frameCurrent/r.fps),i}seekSeconds(t){const n=this.#t?.fps||24;this.#S(Math.round(t*n)),this.#g()}keyframes(){return(this.#t?.keyframes??[]).map(t=>t.frame)}dispose(){this.#m?.(),this.#t=null,this.#u=null;for(const[t,n]of this.#o)n.dispose(),this.#n?.skeletons.restorePose(t);this.#o.clear(),this.#e?.dispose(),this.#e=null,this.#i.clear(),this.#a=null,this.#p=null}}const Tt=new de;function je(e){return Tt.subscribe(e)}function Te(){return Tt.version}let z=null;const pt=new Set;function ut(){for(const e of pt)e()}function ge(){return z}function be(e){return pt.add(e),()=>{pt.delete(e)}}function ye(e){return{state(t){return e.playing(t)?e.transport?.clock(t).paused?"paused":"playing":"stopped"},subscribe(t){const n=e.subscribe(t),s=e.transport?.subscribeClock(t);return()=>{n(),s?.()}}}}function Ce(e){if(z)throw new Error("A Play tool already plays model documents.");z=e;const t=e.subscribe(ut);return wt("model",ye(e)),ut(),()=>{t(),z===e&&(z=null,wt("model",null),ut())}}function we(e){return e==="game"||e==="animation"?e:null}const Ct="volter.blender.play-mode:",Q=new Set,mt=new Set,dt=new Map,U=new Map;let B=null,Et=0;function L(){Et+=1;for(const e of[...Q])e();for(const e of[...mt])e()}function ke(e){try{const t=globalThis.sessionStorage?.getItem(Ct+e);return we(t)}catch{return null}}function vt(e){let t=dt.get(e);return t===void 0&&(t=ke(e),dt.set(e,t)),t}function Ee(e,t){if(vt(e)!==t){dt.set(e,t);try{globalThis.sessionStorage?.setItem(Ct+e,t)}catch{}L()}}function ve(e,t){return(B!==e||U.get(e)!==t)&&(B=e,t===void 0?U.delete(e):U.set(e,t),L()),()=>{B===e&&(B=null,L())}}function _e(){return B}const X=[];function Oe(e){return X.push(e),L(),()=>{const t=X.lastIndexOf(e);t<0||(X.splice(t,1),L())}}function Re(e){const t=()=>B!==null?{served:B}:X.length>0?{opening:X.at(-1)}:null,n=t();return n===null||"served"in n||e<=0?Promise.resolve(n):new Promise(s=>{let o;const i=f=>{mt.delete(l),clearTimeout(o),clearTimeout(r),s(f)};let r;function l(){const f=t();if(f!==null&&"served"in f){clearTimeout(r),i(f);return}f===null&&(clearTimeout(r),r=setTimeout(()=>{const u=t();(u===null||"served"in u)&&i(u)},0))}mt.add(l),o=setTimeout(()=>i(t()),e)})}function We(e){return U.get(e)}function Fe(e){const t=ge();if(t===null)return"animation";const n=vt(e);if(n!==null)return n;const s=U.get(e);return s!==void 0&&t.hasScript?.(s)===!0?"game":"animation"}function Ne(){return Et}let Z=null;function Be(e){return Q.add(e),Z??=be(L),()=>{Q.delete(e),Q.size===0&&Z&&(Z(),Z=null)}}export{ve as a,Tt as b,Ee as c,Be as d,_e as e,Fe as f,je as g,Te as h,xt as i,fe as j,We as k,we as l,ge as m,Oe as n,Re as o,Ne as p,Ce as r,be as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{gU as B,o as X,m as ce,r as g,j as r,bE as $e,Q as ke,jf as Me,jg as je,gf as Te,an as Ne,cf as Oe,f0 as te}from"./volter-sdk-D8o6TU4A.js";import{c as Y,i as Q,d as b,f as Le,g as pe,h as ne,j as Ae,k as Ce,E as fe,l as q,m as O,n as ye,o as V,r as ge,p as he,q as Re,t as Ie,u as I,v as oe,w as De,x as se,y as re,z as _e,A as He,B as Ge,M as Be,C as D,D as Ve,F as We,G as Je,H as ze,I as Fe,J as qe,K as Ke,L as Ue,N as Xe,O as Ye,P as me,Q as _,R as Qe,T as Ze,U as et,V as tt,W as nt,X as ae}from"./std-scene-level-DeiReu6Z.js";import"./client-Dj2xr2fw.js";const H="/__editor/play/std/level",N="std-level",ot=/^(levels\/.+|prefabs\/([^/]+)\/\2)\.blend$/,st=t=>t instanceof Error?t.message:String(t);let K=Promise.resolve();const rt=()=>K,we=t=>t.replace(/\.blend$/,".glb");async function at(){const t=await fetch(H),e=await t.json();if(!t.ok||typeof e.blenderHalf!="string")throw new Error(e.error??`${H} answered HTTP ${t.status}`);return e.blenderHalf}async function lt(t){const e=B().console,{blend:n,script:s}=t;if(s===null)return;const a=we(n);for(const l of s.unstaged)e.warn(`std's export of ${n} ran on Blender's earlier copy of a project file: ${l}`,N);if(s.output.trim()&&e.log(s.output.trimEnd(),N),s.error!==null){e.error(`std's export of ${n} failed in Blender (blend-to-scene.py): ${s.error}`,N);return}await t.carry();const c=await fetch(H,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({glb:a})}),d=await c.json();if(!c.ok)throw new Error(d.error??`${H} answered HTTP ${c.status}`);d.output?.trim()&&e.log(d.output.trimEnd(),N),d.code!==0&&e.error(`std's export of ${n} failed in Node (std level ${a}): its exit was ${String(d.code)}`,N)}function it(t){let e=null,n=!1,s=null;const a=()=>{const p=ce()?.rootPath,u=Q();if(u===void 0||p===e&&u===n||(e=p,n=u,s?.(),s=null,!n))return;const o=t.modelDocument.setSaveScript(h=>ot.test(h)?at().then(y=>({source:y,args:[we(h)]})):null),i=t.setAssetLibrary({name:"Prefabs",directory:"prefabs",importMethod:"LINK"});s=()=>{o(),i()}},c=t.modelDocument.subscribeSaved(p=>{if(p.script===null)return;const u=K.then(()=>lt(p)).catch(o=>B().console.error(`std's export of ${p.blend} did not run: ${st(o)}`,N));return K=u,u}),d=X(a),l=Y(a);return a(),()=>{c(),d(),l(),s?.()}}const dt=100;function ut(t,e,n={set:(s,a)=>setTimeout(s,a),clear:s=>clearTimeout(s),now:()=>performance.now()}){return s=>{let a=null,c=-1/0;const d=t(()=>{a===null&&(a=n.set(()=>{a=null,c=n.now(),s()},Math.max(0,c+e-n.now())))});return()=>{a!==null&&n.clear(a),a=null,d()}}}function ct(t){let e=null;return()=>{const n=t();return(e===null||e.paused!==n.paused||e.speed!==n.speed||(e.failure??null)!==(n.failure??null)||e.running!==n.running)&&(e={paused:n.paused,speed:n.speed,failure:n.failure??null,running:n.running}),e}}const pt="This project is not a std game (no std.json): `cyclotron add-play` makes it one.",A={time:0,tick:0,paused:!1,speed:1,running:!1},C={on:!1,available:!1,by:null};function R(){return ge()}const P=()=>b().playMode;function E(t){const e=t?.document;if(typeof e=="string"&&e!=="")return e;const n=P().servedModelDocument();if(n===null)throw new Error("No model document is open; open one, or name it with `document`.");return n}const ve=2e4,xe="is still opening",ft=new Set(["play","restart"]);async function yt(t){if(P().servedModelDocument()===t)return;if(!$e(t))throw new Error(`${t} is not open, so Play cannot bring it forward to play it: open it (\`editor.open('${t.replace(/^document:/,"")}')\`), then ask again.`);const e=Date.now()+ve;for(;P().servedModelDocument()!==t;){if(Date.now()>e)throw new Error(`${t} ${xe}: it was brought forward, and Blender is still reading or presenting its file. Ask again.`);await new Promise(n=>setTimeout(n,100))}}function gt(t){return t.map(e=>({...e,run:async n=>{const s=n?.document;if(typeof s!="string"||s===""){const a=await P().documentOnScreen(ve);if(a!==null&&"opening"in a)throw new Error(`${a.opening} ${xe}: Blender is reading or presenting its file, and the Game panel's controls act on it once it is on screen. Ask again.`)}else ft.has(e.id)&&await yt(s);return e.run(n)}}))}function $(){const t=R();if(t===null)throw new Error("No Play tool is registered for model documents: @volter/play is not active.");if(t.transport===void 0)throw new Error("The registered Play tool has no pause, step, speed or restart.");return t}function S(t){const e=R(),n=P().modelDocumentSource(t);return{document:t,mode:P().modelPlayMode(t),playing:e?.playing(t)??!1,script:n===void 0||e?.scriptPath===void 0?null:{path:e.scriptPath(n),exists:e.hasScript?.(n)??null},clock:e?.transport?.clock(t)??A,speeds:e?.transport?.speeds??[],autoplay:ht(t),export:V()}}function be(t,e){return t?e.on?"bot":"person":null}function ht(t){const e=R(),n=e?.transport?.autoplay?.(t)??C,s=e?.playing(t)??!1,a=Se(s,e?.transport?.clock(t)??A,n);return{...n,driver:be(s,n),why:a}}function Ee(t,e,n){return t&&e.running&&n.available?null:!t||!e.running?"not-running":"game"}function Se(t,e,n){switch(Ee(t,e,n)){case null:return null;case"game":return n.unavailable??"No autoplay for the player in view.";case"not-running":return t?`Autoplay is available once the game is running, and it is not running yet${e.failure?`: ${e.failure}`:"."}`:"Autoplay is available once the game is running, and nothing is playing; `play` starts it."}}function J(t,e){if(!$().playing(t))throw new Error(`Nothing is playing in ${t}, so there is nothing to ${e}; \`play\` starts it.`)}const mt=gt([{id:"state",run:t=>S(E(t))},{id:"mode",run:t=>{const e=E(t),n=t?.mode??t?.to;if(n!==void 0){const s=P().playModeOf(n);if(s===null)throw new Error(`mode is \`game\` or \`animation\`; got ${String(n)}.`);b().switchPlayMode(e,s)}return S(e)}},{id:"game-mode",run:t=>{const e=E(t);return b().switchPlayMode(e,"game"),S(e)}},{id:"animation-mode",run:t=>{const e=E(t);return b().switchPlayMode(e,"animation"),S(e)}},{id:"play",run:t=>{const e=E(t),n=$();return P().modelPlayMode(e)!=="game"&&b().switchPlayMode(e,"game"),n.playing(e)||n.setPlaying(e,!0),S(e)}},{id:"stop",run:t=>{const e=E(t);return $().setPlaying(e,!1),S(e)}},{id:"pause",run:async t=>{const e=E(t);return J(e,"pause"),await $().transport.setPaused(e,!0),S(e)}},{id:"resume",run:async t=>{const e=E(t);return J(e,"resume"),await $().transport.setPaused(e,!1),S(e)}},{id:"step",run:async t=>{const e=E(t);J(e,"step");const{transport:n}=$(),s=t?.count,a=s===void 0?1:typeof s=="string"&&s.trim()!==""?Number(s):typeof s=="number"?s:Number.NaN;if(!Number.isInteger(a)||a<1||a>600)throw new Error(`step's \`count\` is a whole number of frames from 1 to 600; got ${JSON.stringify(s)}.`);return await n.step(e,a),S(e)}},{id:"speed",run:async t=>{const e=E(t),{transport:n}=$(),s=t?.speed??t?.to,a=Number(typeof s=="string"?s.replace(/x$/i,""):s);if(!n.speeds.includes(a))throw new Error(`speed is one of ${n.speeds.join(", ")} (game seconds per real second); got ${JSON.stringify(s)}.`);return await n.setSpeed(e,a),S(e)}},{id:"autoplay",run:async t=>{const e=E(t),n=t?.on,s=n===!0||n==="on"||n==="true"?!0:n===!1||n==="off"||n==="false"?!1:void 0;if(s===void 0)throw new Error(`autoplay's \`on\` is true or false (\`play autoplay on [<goal>]|off\`); got ${String(n)}.`);const a=typeof t?.goal=="string"&&t.goal!==""?t.goal:void 0,c=$(),{transport:d}=c;if(d.setAutoplay===void 0)throw new Error("The registered Play tool has no autoplay.");if(s&&!c.playing(e))throw new Error(Se(!1,d.clock(e),C)??"Nothing is playing.");return await d.setAutoplay(e,s,"cli",s?a:void 0),S(e)}},{id:"restart",run:t=>{const e=E(t),n=$();return P().modelPlayMode(e)!=="game"&&b().switchPlayMode(e,"game"),n.transport.restart(e),S(e)}}]).concat([{id:"export",run:async t=>{const e=t?.target,n=t?.add;if(n!==void 0&&typeof n!="boolean")throw new Error(`export's \`add\` is true or false; got ${JSON.stringify(n)}.`);if(e!==void 0){if(!Ce(e))throw new Error(`export's \`target\` is one of ${fe.join(", ")}; got ${JSON.stringify(e)}.`);const s=await q();if(e!=="web"&&!s.includes(e)&&n!==!0)throw new Error(`${O[e]} isn't a target of this game: export it with \`add: true\` to add it first (std target add ${e}), only where the person asked for ${O[e]}.`);ye(e,n===!0)}return{export:V(),targets:await q()}}}]);function L(t){const{TIMELINE_CHROME:e}=b().timelineGeometry;return r.jsx("svg",{width:12,height:12,viewBox:"0 0 12 12","aria-hidden":"true",children:r.jsx("path",{d:t,fill:e.widgetText})})}const j={play:"M3 2l7 4-7 4z",stop:"M2.5 2.5h7v7h-7z",pause:"M3 2h2v8H3zM7 2h2v8H7z",step:"M10 2H8.5v8H10zM2.5 2v8L7.5 6z",restart:"M6 1.5V0l3 2.25-3 2.25V3a3 3 0 1 0 3 3h1.5A4.5 4.5 0 1 1 6 1.5z",capture:"M4 2l1-1h2l1 1h2.5v8h-9V2zM6 8.5a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5z"};function U(t){const e=Math.floor(t/60),n=(t-e*60).toFixed(2).padStart(5,"0");return e<60?`${e}:${n}`:`${Math.floor(e/60)}:${String(e%60).padStart(2,"0")}:${n}`}function wt({documentId:t,transport:e}){const{TIMELINE_CHROME:n}=b().timelineGeometry,s=g.useMemo(()=>ut(c=>e?.subscribeClock(c)??(()=>{}),dt),[e]),a=g.useSyncExternalStore(s,()=>{const c=t!==null&&e?e.clock(t):A;return t!==null&&(ge()?.playing(t)??!1)?c.paused?`${U(c.time)} · frame ${c.tick}`:`running · ${G(c.speed)}`:`stopped · ${G(c.speed)}`},()=>`${U(0)} · frame 0`);return r.jsx("span",{"data-testid":"model-play-clock",style:{color:n.widgetText,fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"},children:a})}function G(t){return`${t}×`}const T=t=>e=>B().console.error(`${t}: ${e instanceof Error?e.message:String(e)}`,"model-play");function vt(){const{PlayAreaButton:t,PlayModeSwitch:e,timelineGeometry:{HEADER_HEIGHT:n,TIMELINE_CHROME:s,TIMELINE_THEME:a}}=b(),{subscribePlayMode:c,playModeVersion:d}=P();g.useSyncExternalStore(c,d,d);const l=P().servedModelDocument(),p=g.useSyncExternalStore(Le,R,()=>null),u=p?.transport,o=l!==null&&(p?.playing(l)??!1),i=g.useCallback(k=>u?.subscribeClock(k)??(()=>{}),[u]),h=g.useMemo(()=>ct(()=>l!==null&&u?u.clock(l):A),[l,u]),y=g.useSyncExternalStore(i,h,()=>A),f=g.useSyncExternalStore(Y,Q,()=>{}),m=g.useSyncExternalStore(i,()=>l!==null&&u?.autoplay?u.autoplay(l):C,()=>C),w=l===null?void 0:P().modelDocumentSource(l),v=w===void 0?null:p?.scriptPath?.(w)??null,x=l!==null&&p!==null;g.useSyncExternalStore(pe,ne,ne);const M=o&&l!==null?I(l)?.lastError??null:null,W=o&&m.state?` · ${m.state}`:"",Z=w!==void 0&&w.startsWith("prefabs/")?" · a prefab: Play plays the game's levels, this prefab saved first":"",ee=l===null?"No model document is open.":f===!1?pt:o&&y.failure?`Not running — ${y.failure.replace(/\.$/,"")}. Restart (or save the game) to retry, or Stop.${W}`:o&&M!==null?`Playing — the game threw: ${M}${W}`:o?`${y.paused?"Paused":"Playing"} ${v??""}`.trim()+Z+W:(v===null?"Stopped.":`Stopped · Play runs ${v}`)+Z;return r.jsxs("div",{"data-testid":"game-panel","data-playing":o||void 0,"data-paused":o&&y.paused||void 0,"data-failed":o&&!!y.failure||void 0,style:{position:"absolute",inset:0,display:"flex",flexDirection:"column",overflow:"hidden",background:a.back,color:s.text,font:"11px Inter, system-ui, sans-serif"},children:[r.jsxs("div",{style:{height:n,flex:`0 0 ${n}px`,display:"flex",alignItems:"center",gap:s.headerGap,padding:s.headerPadding,background:a.header,borderBottom:`1px solid ${s.rule}`},children:[r.jsx(e,{title:"Game"}),r.jsx("div",{style:{flex:1}}),r.jsxs("div",{style:{display:"flex"},role:"group","aria-label":"Game transport",children:[r.jsxs(t,{testId:"model-play-button",label:o?"Stop playing (Escape)":"Play this level’s game",pressed:o,wide:!0,disabled:!x,onClick:()=>{l!==null&&p&&p.setPlaying(l,!p.playing(l))},children:[L(o?j.stop:j.play),o?"Stop":"Play"]}),u&&r.jsxs(r.Fragment,{children:[r.jsx(t,{testId:"model-play-pause",label:y.paused?"Resume":"Pause",pressed:o&&y.paused,disabled:!o,onClick:()=>{l!==null&&Promise.resolve(u.setPaused(l,!u.clock(l).paused)).catch(T("Pause"))},children:L(y.paused?j.play:j.pause)}),r.jsx(t,{testId:"model-play-step",label:"Step one frame (pauses first)",disabled:!o,onClick:()=>{l!==null&&Promise.resolve(u.step(l)).catch(T("Step"))},children:L(j.step)}),r.jsx(t,{testId:"model-play-restart",label:"Restart: the level saved, every player's page loaded again",disabled:!o,onClick:()=>{l!==null&&u.restart(l)},children:L(j.restart)}),r.jsx(t,{testId:"model-play-capture",label:"Capture the viewed player's next frame (std's receiver writes it; the log names the file)",disabled:!o,onClick:()=>{Ae().catch(T("Capture"))},children:L(j.capture)})]})]}),u&&r.jsx("div",{style:{display:"flex"},role:"group","aria-label":"Game speed",children:u.speeds.map(k=>r.jsx(t,{testId:`model-play-speed-${k}`,label:`Speed ${G(k)}`,pressed:y.speed===k,wide:!0,disabled:l===null,onClick:()=>{l!==null&&Promise.resolve(u.setSpeed(l,k)).catch(T("Speed"))},children:G(k)},k))}),r.jsx("div",{style:{flex:1}}),f===!0&&r.jsx(xt,{}),r.jsx(wt,{documentId:l,transport:u})]}),r.jsxs("div",{style:{flex:1,minHeight:0,display:"flex",alignItems:"stretch",gap:s.headerGap,padding:s.statusPadding,overflow:"hidden"},children:[r.jsxs("div",{style:{flex:"0 1 260px",minWidth:0,display:"flex",flexDirection:"column",gap:6},children:[r.jsx("span",{"data-testid":"model-play-status",title:ee,style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:ee}),u?.autoplay&&l!==null&&r.jsx(St,{documentId:l,playing:o,clock:y,autoplay:m,transport:u}),f===!0&&r.jsx(bt,{})]}),l!==null&&r.jsx(Pt,{documentId:l})]})]})}function xt(){const{PlayAreaButton:t,timelineGeometry:{TIMELINE_CHROME:e,TIMELINE_THEME:n}}=b(),s=g.useSyncExternalStore(he,V,()=>null),[a,c]=g.useState(null),[d,l]=g.useState(!1),p=g.useRef(null),u=g.useCallback(()=>{q().then(c,()=>c(null))},[]),o=s?.running===!0,i=g.useSyncExternalStore(X,()=>ce()?.rootPath??null,()=>null);g.useEffect(u,[u,o,i]),g.useEffect(()=>{if(oe(d),!d)return;const f=w=>{p.current?.contains(w.target)||l(!1)},m=w=>{w.key==="Escape"&&(w.preventDefault(),w.stopImmediatePropagation(),l(!1))};return window.addEventListener("pointerdown",f,!0),window.addEventListener("keydown",m,!0),()=>{oe(!1),window.removeEventListener("pointerdown",f,!0),window.removeEventListener("keydown",m,!0)}},[d]);const h=f=>f!=="web"&&a!==null&&!a.includes(f),y=f=>{l(!1);try{ye(f,h(f))}catch(m){T("Export")(m)}};return r.jsxs("div",{ref:p,style:{position:"relative",display:"inline-flex"},children:[r.jsx(t,{testId:"model-play-export",label:o&&s!==null?`Exporting to ${O[s.target]}`:"Export the game: to the web, or to an engine",pressed:d,wide:!0,disabled:o,onClick:()=>{d||u(),l(!d)},children:o?"Exporting…":"Export"}),d&&r.jsx("div",{role:"menu","aria-label":"Export to",style:{position:"absolute",right:0,top:"100%",marginTop:4,zIndex:1,display:"flex",flexDirection:"column",minWidth:170,background:n.header,border:`1px solid ${e.rule}`,borderRadius:e.widgetRadius},children:fe.map(f=>r.jsx("button",{type:"button",role:"menuitem","data-testid":`model-play-export-${f}`,onMouseDown:m=>m.preventDefault(),onClick:()=>y(f),style:{background:"none",border:"none",color:e.text,font:"inherit",textAlign:"left",padding:"4px 8px",cursor:"pointer"},children:h(f)?`Add ${O[f]} and export`:O[f]},f))})]})}function bt(){const{timelineGeometry:{TIMELINE_CHROME:t}}=b(),e=g.useSyncExternalStore(he,V,()=>null);if(e===null)return null;const n=O[e.target],s=Et(e,n);return r.jsx("span",{"data-testid":"model-play-export-note","data-export":e.running?"running":e.ok===!0?"exported":"failed",title:s,style:{color:t.widgetText,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0},children:s})}function Et(t,e){return t.running?`Exporting to ${e}${t.line===null?"…":` · ${t.line}`}`:t.ok===!0?`Exported to ${e}: ${t.out??""}${t.added?` · ${e} added as a target`:""}`:`Export to ${e} failed${t.line===null?"":`: ${t.line}`} (the console has every line)`}function St({documentId:t,playing:e,clock:n,autoplay:s,transport:a}){const{PlayAreaButton:c,timelineGeometry:{TIMELINE_CHROME:d,TIMELINE_THEME:l}}=b(),p=Ee(e,n,s),u=s.armed===!0,o=!e&&a.armAutoplay!==void 0,i=p==="game"?s.unavailable??"No autoplay for the player in view":p==="not-running"?o?u?"Autoplay is armed for the next Play; press to disarm":"Let the game’s bot drive your player as soon as it joins":"Autoplay is available once a player has joined":s.on?"Stop autoplay and drive yourself":"Let the game’s bot drive your player (any key or click in its page takes over)",h=p==="game"?s.unavailable??"No autoplay for the player in view":p==="not-running"?u?"Armed — turns on once your player joins":"Available once a player has joined":null,y=s.behaviors??[],[f,m]=g.useState(null),w=s.on||u?s.behavior??null:f!==null&&y.includes(f)?f:s.behavior??y[0]??null,v=be(e,s);return r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:d.headerGap,minWidth:0},children:[y.length>1&&r.jsx("select",{"data-testid":"model-play-autoplay-goal",title:"The goal Autoplay's bot plays",value:w??"",disabled:s.on,onChange:x=>{m(x.target.value),x.target.blur()},style:{background:d.widget,color:d.widgetText,border:"none",borderRadius:d.widgetRadius,font:"inherit",minWidth:0},children:y.map(x=>r.jsx("option",{value:x,children:x},x))}),r.jsx("span",{title:i,style:{display:"inline-flex"},children:r.jsx(c,{testId:"model-play-autoplay",label:i,pressed:s.on||u,wide:!0,disabled:o?!1:!e||p!==null||a.setAutoplay===void 0,onClick:()=>{const x=a.autoplay?.(t)??C;try{R()?.playing(t)??!1?Promise.resolve(a.setAutoplay?.(t,!x.on,"panel",x.on?void 0:w??void 0)).catch(T("Autoplay")):a.armAutoplay?.(t,!x.armed,w??void 0)}catch(M){T("Autoplay")(M)}},children:"Autoplay"})}),h!==null?r.jsx("span",{"data-testid":"model-play-autoplay-note","data-reason":p??void 0,style:{color:d.widgetText,minWidth:0},children:h}):e&&r.jsxs("span",{"data-testid":"model-play-driver","data-driver":v??void 0,style:{color:s.on?l.playhead:d.widgetText,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0},children:[v==="bot"?`Bot driving${s.behavior?` · ${s.behavior}`:""}`:"You’re driving",s.state?` · headless ${s.state}`:""]})]})}const z=200;function le(t){if(t===void 0)return"";try{return JSON.stringify(t)}catch{return""}}function Pt({documentId:t}){const{TIMELINE_CHROME:e,TIMELINE_THEME:n}=b().timelineGeometry,[s,a]=g.useState(""),[,c]=g.useReducer(o=>o+1,0);g.useEffect(()=>{let o=0;const i=Re(()=>{o===0&&(o=requestAnimationFrame(()=>{o=0,c()}))});return()=>{i(),cancelAnimationFrame(o)}},[]);const d=Ie(t,z,s===""?void 0:s),l=g.useRef(null),p=g.useRef(!0);g.useLayoutEffect(()=>{const o=l.current;o&&p.current&&(o.scrollTop=o.scrollHeight)});const u=d.entries.at(-1)?.seq;return r.jsxs("div",{"data-testid":"model-play-log",style:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:4},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:e.headerGap},children:[r.jsx("span",{children:"Play log"}),r.jsxs("select",{"data-testid":"model-play-log-kind","aria-label":"Show entries of kind",value:s,onChange:o=>{a(o.target.value),o.target.blur()},style:{height:e.unit,background:e.widget,color:e.widgetText,border:`1px solid ${e.widgetOutline}`,font:"inherit"},children:[r.jsx("option",{value:"",children:"All kinds"}),[...new Set([...d.kinds,...s===""?[]:[s]])].map(o=>r.jsx("option",{value:o,children:o},o))]}),r.jsx("span",{style:{color:e.widgetText},children:d.total===0?"Nothing logged yet":`${d.total} written${d.total>z?` · newest ${z} shown`:""}`})]}),r.jsx("div",{ref:l,"data-testid":"model-play-log-entries","data-newest":u,onScroll:o=>{const i=o.currentTarget;p.current=i.scrollTop+i.clientHeight>=i.scrollHeight-4},style:{flex:1,minHeight:0,overflowY:"auto",font:"12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",background:n.header,border:`1px solid ${e.rule}`,padding:"2px 6px"},children:d.entries.map(o=>r.jsxs("div",{"data-kind":o.kind,style:{display:"flex",gap:10,whiteSpace:"nowrap",color:o.source==="play"?e.widgetText:e.text},children:[r.jsx("span",{style:{flex:"0 0 auto",fontVariantNumeric:"tabular-nums"},children:U(o.simT)}),r.jsx("span",{style:{flex:"0 0 auto"},children:o.kind}),r.jsx("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},title:le(o.facts),children:le(o.facts)})]},o.seq))})]})}const ie=["state","play","stop","pause","resume","restart"],$t={"model-play":async t=>{const e=t.action;return typeof e!="string"||!ie.includes(e)?{ok:!1,error:`model-play's action is one of ${ie.join(", ")}; it was given ${JSON.stringify(e)}.`}:{ok:!0,data:{result:await ke(`volter.model-play.${e}`,{})??null}}},"model-play-log":t=>{const e=t.since,n=t.kind,s=t.documentId;return s!==void 0&&typeof s!="string"?{ok:!1,error:`model-play-log's documentId is a model document id, a string; it was given ${JSON.stringify(s)}.`}:e!==void 0&&(typeof e!="number"||!Number.isFinite(e))?{ok:!1,error:`model-play-log's since is game seconds, a number; it was given ${JSON.stringify(e)}.`}:n!==void 0&&typeof n!="string"?{ok:!1,error:`model-play-log's kind is an entry kind, a string; it was given ${JSON.stringify(n)}.`}:{ok:!0,data:{...De({...s===void 0?{}:{documentId:s},...e===void 0?{}:{since:e},...n===void 0?{}:{kind:n}})}}}};function Pe(t){return g.useSyncExternalStore(me,()=>t?D(t):!1,()=>!1)}function kt({documentId:t,onClose:e}){const n=Pe(t);return r.jsxs(Ne,{size:"compact","data-testid":"model-play-button","aria-pressed":n,disabled:!t,title:n?"Stop playing (Escape)":"Play this level’s game",onClick:()=>{e(),t&&_(t,!n)},children:[r.jsx(Oe,{icon:n?te.transport.stop:te.transport.play}),n?"Stop":"Play"]})}function Mt({documentId:t,onClose:e}){const n=Pe(t);return r.jsx(Te,{"data-testid":"model-play",disabled:!t,onSelect:()=>{e(),t&&_(t,!n)},children:n?"Stop":"Play"})}let F=null;const jt=t=>t.replace(/^document:model:/,""),Tt="This project is not a std game: it has no std.json, or no @volter-ai/std-dev among its packages (`cyclotron add-play` makes it one).";function Nt(){return Q()??null}const de="volter.@volter/editor-blender",ue="volter.@volter/editor-threejs";function Ct(t){const e=t.extensions.getExtension(de)?.exports;if(!e)throw new Error(`${de} answered no API.`);const n=new Map,s=o=>{n.set(o,e.modelDocument.flush(jt(o)).then(()=>rt()).then(()=>null,i=>i instanceof Error?i.message:String(i)))},c={Control:kt,Menu:Mt,Panel:vt,playing:D,setPlaying:(o,i)=>{i&&!D(o)&&s(o),_(o,i)},escape(o){const i=I(o);i&&i.view!=="edit"?nt("edit"):_(o,!1)},subscribe(o){const i=me(o),h=X(o),y=Y(o);return()=>{i(),h(),y()}},aspectRatio:()=>null,run(o){const i=(m,w)=>{const v=Ze(o.documentId,re);v.append("play","script-error",{phase:"stage",message:`${m}: ${w}`}),v.end({reason:"stage-failed"}),et(o.documentId,`${m}: ${w}`),o.report(m,w)},h=(n.get(o.documentId)??Promise.resolve(null)).then(m=>{n.delete(o.documentId),m!==null&&B().console.warn(`Play's save of ${o.sourcePath} failed, so the game plays its last export: ${m}`,"model-play")});let y=!1,f=null;return Xe().then(m=>{y||(m?f=Ye(o,i,h):i("The game could not be started",Tt))}),()=>{y=!0,f?.()}},transport:{speeds:Be,clock:Ge,subscribeClock(o){const i=Ue(o),h=pe(o);return()=>{i(),h()}},setPaused:(o,i)=>Ke(o,i).then(()=>{}),step:(o,i=1)=>qe(o,i).then(()=>{}),setSpeed:He,restart:o=>{D(o)&&s(o),Fe(o)},generation:_e,autoplay:o=>{const i=ze(o),h=I(o)!==null,{on:y,goal:f,goals:m,unavailable:w,headless:v}=Qe(),x={on:h&&y,available:h?w===null:i===null&&m.length>0,unavailable:h?w:null,by:null,armed:i!==null,behaviors:m,behavior:i!==null?i.goal??f:f,state:v===null?null:`${v.goal}: ${v.state==="failed"?`failed — ${v.why??"std did not say why"}`:v.state}`},M=JSON.stringify(x);return F?.key!==M&&(F={key:M,value:x}),F.value},setAutoplay:(o,i,h,y)=>{if(!I(o))throw new Error(`Nothing is playing in ${o}; \`play\` starts it, then \`play autoplay on\`.`);return tt(i,h,y)},armAutoplay:(o,i,h)=>Je(o,i,h??null)},scriptPath:()=>re,hasScript:Nt};se(e,c);const d=t.extensions.getExtension(ue)?.exports;if(!d)throw new Error(`${ue} answered no API.`);ae(d);const l=e.registerModelPlay(c),p=it(e),u=Ve();Me(t,{...$t,"std-scene":We}),je(t,"model-play",mt),t.subscriptions.push({dispose(){l(),p(),u(),se(null,null),ae(null)}})}export{Ct as activate};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as p}from"./index-Bc73pJIv.js";import"./volter-sdk-D8o6TU4A.js";import"./client-Dj2xr2fw.js";export{p as mountVolter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as r}from"./blender-properties-tab-BmudfsC3.js";import{CONSTRAINT_HEADER as e}from"./properties-constraints.inspector-DY--pvLo.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const n=[{title:"Bone Constraints",from:"Constraints",collection:!0,properties:e,andDeclared:!0}],t={id:"bone_constraint",curated:n},T="selection.inspector",u="Bone Constraints",f="properties-bone-constraints",A=140,B="object",D=r(t),E=o(t);export{E as default,f as icon,D as match,A as order,T as point,B as railGroup,u as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as t}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const s=[{title:"Transform (Pose)",from:"Pose Bone",properties:["location","lock_location","rotation_quaternion","rotation_axis_angle","rotation_euler","lock_rotation_w","lock_rotation","rotation_mode","scale","lock_scale"]},{title:"Transform",from:"Bone",properties:["head","tail","roll","length","lock"]},{title:"Bendy Bones",closed:!0,from:"Bone",properties:["bbone_segments","bbone_x","bbone_z","bbone_mapping_mode","use_endroll_as_inroll","use_scale_easing","bbone_handle_type_start","bbone_handle_use_scale_start","bbone_handle_use_ease_start","bbone_handle_type_end","bbone_handle_use_scale_end","bbone_handle_use_ease_end"]},{title:"Relations",from:"Bone",properties:["parent","children","use_relative_parent","use_connect","use_local_location","use_inherit_rotation","inherit_scale"]},{title:"Bone Collections",closed:!0,from:"Bone",properties:["collections"]},{title:"Inverse Kinematics",closed:!0,from:"Pose Bone",properties:["ik_stretch","lock_ik_x","lock_ik_y","lock_ik_z","ik_stiffness_x","ik_stiffness_y","ik_stiffness_z","use_ik_limit_x","ik_min_x","ik_max_x","use_ik_limit_y","ik_min_y","ik_max_y","use_ik_limit_z","ik_min_z","ik_max_z","use_ik_rotation_control"]},{title:"Deform",closed:!0,from:"Bone",properties:["use_deform","envelope_distance","envelope_weight","use_envelope_multiply","head_radius","tail_radius"]},{title:"Viewport Display",closed:!0,from:"Bone",properties:["hide","hide_select","display_type","color","show_wire"],sub:[{title:"Custom Shape",closed:!0,from:"Pose Bone",properties:["custom_shape","custom_shape_translation","custom_shape_rotation_euler","custom_shape_scale_xyz","use_custom_shape_bone_size","custom_shape_transform"]}]}],e={id:"bone",curated:s},u="selection.inspector",d="Bone",b="properties-bone",h=130,k="object",f=t(e),B=o(e);export{B as default,b as icon,f as match,h as order,u as point,k as railGroup,d as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,a as i}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const o=[{title:"Visibility",properties:["hide_select","hide_render"],sub:[{title:"View Layer",from:"View Layer Collection",properties:["exclude","holdout","indirect_only"]}]},{title:"Instancing",properties:["instance_offset"]},{title:"Line Art",properties:["lineart_usage","lineart_use_intersection_mask","lineart_intersection_mask","use_lineart_intersection_priority","lineart_intersection_priority"]},{title:"Exporters",properties:["exporters"]}],t={id:"collection",curated:o},d="selection.inspector",u="Collection",b="properties-collection",y=60,f="collection",h=i(t),x=e(t);export{x as default,b as icon,h as match,y as order,d as point,f as railGroup,u as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as r}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const e=["name","type","enabled","mute","influence","error_location","error_rotation","is_valid","is_override_data"],i=[{title:"Constraints",from:"Constraints",collection:!0,active:"activeConstraint",properties:e,andDeclared:!0}],t={id:"constraint",curated:i},u="selection.inspector",C="Object Constraints",_="properties-constraints",T=110,f="object",v=r(t),A=o(t);export{e as CONSTRAINT_HEADER,A as default,_ as icon,v as match,T as order,u as point,f as railGroup,C as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,b as p}from"./blender-properties-model-DD-2sMKx.js";import{b as l,a as c}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const n=[{title:"Vertex Groups",from:"Vertex Groups",collection:!0,active:"activeVertexGroup",properties:["name","index","lock_weight"]},{title:"Shape Keys",from:"Shape Keys",properties:["key_blocks","use_relative","eval_time","reference_key"]},{title:"UV Maps",properties:["uv_layers"]},{title:"Color Attributes",properties:["color_attributes"]},{title:"Attributes",properties:["attributes"]},{title:"Texture Space",closed:!0,properties:["texture_mesh","use_auto_texspace","texspace_location","texspace_size"]},{title:"Remesh",closed:!0,properties:["remesh_mode","remesh_voxel_size","remesh_voxel_adaptivity","use_remesh_fix_poles","use_remesh_preserve_volume","use_remesh_preserve_attributes"]},{title:"Geometry Data",closed:!0,properties:["has_custom_normals","total_vert_sel","total_edge_sel","total_face_sel"]},{title:"Animation",closed:!0,properties:["animation_data"]},{title:"Pose",properties:["pose_position"]},{title:"Bone Collections",closed:!0,properties:["collections_all","collections"]},{title:"Bones",from:"Bones",collection:!0,active:"activeBone",properties:["name","parent","use_connect","use_deform","head","tail","length"]},{title:"Viewport Display",closed:!0,properties:["display_type","show_names","show_bone_custom_shapes","show_bone_colors","show_axes","axes_position","relation_line_position"]},{title:"Inverse Kinematics",closed:!0,properties:["pose"]}],o={id:"data",curated:n},S="selection.inspector",A="Object Data",u={Mesh:"properties-data-mesh",Armature:"properties-data-armature",Curve:"properties-data-curve",SurfaceCurve:"properties-data-surface",MetaBall:"properties-data-meta",TextCurve:"properties-data-font",Lattice:"properties-data-lattice",Camera:"properties-data-camera",Light:"properties-data-light",Speaker:"properties-data-speaker",PointCloud:"properties-data-pointcloud",Volume:"properties-data-volume"},C=(s,a)=>{const e=i(s,a);if(e===null||e.kind!=="object")return"properties-data";const r=p();if(r.object!==e.name)return"properties-data";const t=r.context?.active?.dataType;return t==null?"properties-data-empty":u[t]??"properties-data"},T=120,k="object",B=c(o),j=l(o);export{j as default,C as icon,B as match,T as order,S as point,k as railGroup,A as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as r}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const o=[{title:"Material Slots",from:"Material Slots",collection:!0,active:"activeMaterial",properties:["name","material","link","slot_index"]},{title:"Surface",from:"Material",properties:["use_nodes","node_tree","surface_render_method","use_backface_culling"]},{title:"Volume",closed:!0,from:"Material",properties:["volume_intersection_method","displacement_method","max_vertex_displacement"]},{title:"Settings",closed:!0,from:"Material",properties:["pass_index","use_backface_culling_shadow","use_backface_culling_lightprobe_volume","use_transparent_shadow","use_transparency_overlap","use_raytrace_refraction","thickness_mode","use_thickness_from_shadow"]},{title:"Line Art",closed:!0,from:"Material",properties:["lineart"]},{title:"Viewport Display",from:"Material",properties:["diffuse_color","metallic","roughness"]},{title:"Animation",closed:!0,from:"Material",properties:["animation_data"]}],e={id:"material",curated:o},d="selection.inspector",u="Material",f="properties-material",h=160,M="object",b=r(e),g=t(e);export{g as default,f as icon,b as match,h as order,d as point,M as railGroup,u as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e,a as t}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const i=[{title:"Modifiers",from:"Modifiers",collection:!0,active:"activeModifier",properties:["name","type","show_viewport","show_render","show_in_editmode","show_on_cage","use_pin_to_last","is_active"],andDeclared:!0}],o={id:"modifier",curated:i},_="selection.inspector",f="Modifiers",b="properties-modifiers",h=80,u="object",M=t(o),w=e(o);export{w as default,b as icon,M as match,h as order,_ as point,u as railGroup,f as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as o}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const r=[{title:"Transform",properties:[{property:"location",lock:"lock_location"},{property:"rotation_quaternion",label:"Rotation",lock:"lock_rotation",firstLock:"lock_rotation_w",when:{property:"rotation_mode",is:["QUATERNION"]}},{property:"rotation_axis_angle",label:"Rotation",lock:"lock_rotation",firstLock:"lock_rotation_w",when:{property:"rotation_mode",is:["AXIS_ANGLE"]}},{property:"rotation_euler",label:"Rotation",lock:"lock_rotation",when:{property:"rotation_mode",isNot:["QUATERNION","AXIS_ANGLE"]}},{property:"rotation_mode",label:"Mode"},{property:"scale",lock:"lock_scale"}],sub:[{title:"Delta Transform",closed:!0,properties:[{property:"delta_location",label:"Location"},{property:"delta_rotation_quaternion",label:"Rotation",when:{property:"rotation_mode",is:["QUATERNION"]}},{property:"delta_rotation_euler",label:"Rotation",when:{property:"rotation_mode",isNot:["QUATERNION","AXIS_ANGLE"]}},{property:"delta_scale",label:"Scale"}]}]},{title:"Relations",closed:!0,properties:["parent","parent_type","parent_bone","parent_bone_head_tail_factor","parent_vertices","use_parent_final_indices","use_camera_lock_parent","track_axis","up_axis","pass_index"]},{title:"Collections",closed:!0,properties:["users_collection"]},{title:"Instancing",closed:!0,properties:["instance_type","use_instance_vertices_rotation","instance_collection","show_instancer_for_viewport","show_instancer_for_render"],sub:[{title:"Scale by Face Size",closed:!0,properties:["use_instance_faces_scale","instance_faces_scale"]}]},{title:"Viewport Display",closed:!0,properties:["show_name","show_axis","show_wire","show_all_edges","show_texture_space","show_in_front","display_type","color","show_bounds","display_bounds_type","display"]},{title:"Shadow Terminator",closed:!0,properties:["shadow_terminator_normal_offset","shadow_terminator_geometry_offset","shadow_terminator_shading_offset"]},{title:"Visibility",closed:!0,properties:["hide_select","hide_surface_pick","hide_viewport","hide_render","visible_camera","visible_shadow","visible_raycast","visible_diffuse","visible_glossy","visible_transmission","visible_volume_scatter","hide_probe_volume","hide_probe_sphere","hide_probe_plane","use_grease_pencil_lights","is_holdout"]},{title:"Line Art",closed:!0,properties:["lineart"]},{title:"Animation",closed:!0,properties:["animation_data"]}],e={id:"object",standing:"object",curated:r},b="selection.inspector",u="Object",h="properties-object",m=70,y="object",w=!0,f=o(e),k=t(e);export{k as default,h as icon,f as match,m as order,b as point,w as railDefault,y as railGroup,u as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as r}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const s=[{title:"Format",properties:["resolution_x","resolution_y","resolution_percentage","pixel_aspect_x","pixel_aspect_y","use_border","use_crop_to_border","fps","fps_base"]},{title:"Frame Range",properties:[{from:"Scene",property:"frame_start"},{from:"Scene",property:"frame_end"},{from:"Scene",property:"frame_step"}],sub:[{title:"Time Stretching",closed:!0,properties:["frame_map_old","frame_map_new"]}]},{title:"Stereoscopy",closed:!0,properties:["use_multiview","views_format","views"]},{title:"Output",properties:["save_output","filepath","use_file_extension","use_render_cache","use_overwrite","use_placeholder"],sub:[{title:"Color Management",closed:!0,from:"Image",properties:["color_management"]},{title:"Pixel Density",closed:!0,properties:["ppm_factor","ppm_base"]}]},{title:"Encoding",closed:!0,from:"FFmpeg",when:[{from:"Image",property:"file_format",is:["FFMPEG","XVID","H264","THEORA"]}],properties:["format","use_autosplit"],sub:[{title:"Video",from:"FFmpeg",properties:["codec",{from:"Image",property:"color_depth"},"use_lossless_output","ffmpeg_prores_profile","constant_rate_factor","custom_constant_rate_factor","ffmpeg_preset","gopsize","use_max_b_frames","max_b_frames","video_bitrate","minrate","maxrate","buffersize","muxrate","packetsize"]},{title:"Audio",from:"FFmpeg",properties:["audio_codec","audio_channels","audio_mixrate","audio_volume","audio_bitrate"]}]},{title:"Metadata",closed:!0,properties:["metadata_input","use_stamp_date","use_stamp_time","use_stamp_render_time","use_stamp_frame","use_stamp_frame_range","use_stamp_memory","use_stamp_hostname","use_stamp_camera","use_stamp_lens","use_stamp_scene","use_stamp_marker","use_stamp_filename","use_stamp_sequencer_strip"],sub:[{title:"Note",closed:!0,properties:["use_stamp_note","stamp_note_text"]},{title:"Burn Into Image",closed:!0,properties:["use_stamp","stamp_font_size","stamp_foreground","stamp_background","use_stamp_labels"]}]},{title:"Post Processing",closed:!0,properties:["use_compositing","use_sequencer","dither_intensity"]}],e={id:"output",standing:"any",curated:s},l="selection.inspector",d="Output",f="properties-output",g=20,b="scene",x=r(e),y=t(e);export{y as default,f as icon,x as match,g as order,l as point,b as railGroup,d as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r,a as i}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const e=[{from:"Settings",property:"type",is:["HAIR"]}],s=[{title:"Particle Systems",from:"Particle Systems",collection:!0,active:"activeParticleSystem",properties:["name","settings"]},{title:"Emission",from:"Settings",when:[{from:"Settings",property:"is_fluid",is:[!1]}],properties:["count",{from:"Active",property:"seed"},"hair_length","hair_step","frame_start","frame_end","lifetime","lifetime_random"],sub:[{title:"Source",closed:!0,from:"Settings",properties:["emit_from","use_modifier_stack","distribution","use_emit_random","invert_grid","hexagonal_grid","use_even_distribution","userjit","jitter_factor","grid_resolution","grid_random"]}]},{title:"Hair Dynamics",closed:!0,from:"Hair Dynamics",when:e,properties:[{from:"Active",property:"use_hair_dynamics"},"quality","pin_stiffness"],sub:[{title:"Collisions",closed:!0,from:"Hair Collisions",properties:["collision_quality","distance_min","impulse_clamp","collection"]},{title:"Structure",closed:!0,from:"Hair Dynamics",properties:["mass","bending_stiffness",{from:"Settings",property:"bending_random"},"bending_damping"]},{title:"Volume",closed:!0,from:"Hair Dynamics",properties:["air_damping","internal_friction","voxel_cell_size","density_target","density_strength"]}]},{title:"Cache",closed:!0,from:"Active",when:[{from:"Settings",property:"physics_type",isNot:["NO","KEYED"]}],properties:["point_cache"]},{title:"Velocity",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",isNot:["BOIDS"]}],properties:["normal_factor","tangent_factor","tangent_phase","object_align_factor","particle_factor","object_factor","factor_random"]},{title:"Rotation",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",isNot:["BOIDS"]}],properties:["use_rotations","rotation_mode","rotation_factor_random","phase_factor","phase_factor_random","use_dynamic_rotation"],sub:[{title:"Angular Velocity",closed:!0,from:"Settings",properties:["angular_velocity_mode","angular_velocity_factor"]}]},{title:"Physics",closed:!0,from:"Settings",properties:["physics_type","mass","use_multiply_size_mass","keyed_loops",{from:"Active",property:"use_keyed_timing"},"fluid","boids"],sub:[{title:"Forces",from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["brownian_factor","drag_factor","damping"]},{title:"Deflection",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["use_size_deflect","use_die_on_collision","collision_collection"]},{title:"Integration",closed:!0,from:"Settings",when:[{from:"Settings",property:"physics_type",is:["NEWTON","FLUID"]}],properties:["integrator","timestep","subframes","use_adaptive_subframes","courant_target"]}]},{title:"Render",closed:!0,from:"Settings",properties:["render_type","particle_size","size_random","material_slot",{from:"Active",property:"parent"}],sub:[{title:"Path",from:"Settings",when:[{from:"Settings",property:"render_type",is:["PATH"]}],properties:["use_hair_bspline","render_step"],sub:[{title:"Timing",closed:!0,from:"Settings",properties:["use_absolute_path_time","path_start","path_end","length_random"]}]},{title:"Object",from:"Settings",when:[{from:"Settings",property:"render_type",is:["OBJECT"]}],properties:["instance_object","use_global_instance","use_rotation_instance","use_scale_instance"]},{title:"Collection",from:"Settings",when:[{from:"Settings",property:"render_type",is:["COLLECTION"]}],properties:["instance_collection","use_whole_collection","use_collection_pick_random","use_global_instance","use_rotation_instance","use_scale_instance"],sub:[{title:"Use Count",closed:!0,from:"Settings",properties:["use_collection_count","instance_weights"]}]},{title:"Extra",closed:!0,from:"Settings",when:[{from:"Settings",property:"render_type",isNot:["NONE"]}],properties:["use_parent_particles","show_unborn","use_dead"]}]},{title:"Viewport Display",closed:!0,from:"Settings",properties:["display_method","display_color","color_maximum","display_percentage","display_step","display_size"]},{title:"Children",closed:!0,from:"Settings",properties:["child_type","child_percent","rendered_child_count","child_length","child_length_threshold",{from:"Active",property:"child_seed"},"virtual_parents","create_long_hair_children","child_size","child_size_random","child_radius","child_roundness"],sub:[{title:"Parting",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",is:["INTERPOLATED"]}],properties:["child_parting_factor","child_parting_min","child_parting_max"]},{title:"Clumping",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["use_clump_curve","clump_factor","clump_shape","twist","use_twist_curve"],sub:[{title:"Clump Noise",closed:!0,from:"Settings",properties:["use_clump_noise","clump_noise_size"]}]},{title:"Roughness",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["use_roughness_curve","roughness_1","roughness_1_size","roughness_endpoint","roughness_end_shape","roughness_2","roughness_2_size","roughness_2_threshold"]},{title:"Kink",closed:!0,from:"Settings",when:[{from:"Settings",property:"child_type",isNot:["NONE"]}],properties:["kink","kink_amplitude","kink_amplitude_random","kink_amplitude_clump","kink_axis","kink_axis_random","kink_frequency","kink_shape","kink_extra_steps","kink_flat"]}]},{title:"Hair Shape",closed:!0,from:"Settings",when:e,properties:["shape","root_radius","tip_radius","radius_scale","use_close_tip"]},{title:"Field Weights",closed:!0,from:"Settings",properties:["effector_weights","apply_effector_to_children","effect_hair"]},{title:"Force Field Settings",closed:!0,from:"Settings",properties:["use_self_effect","effector_amount","force_field_1","force_field_2"]},{title:"Vertex Groups",closed:!0,from:"Active",properties:["vertex_group_density","invert_vertex_group_density","vertex_group_length","invert_vertex_group_length","vertex_group_clump","invert_vertex_group_clump","vertex_group_kink","invert_vertex_group_kink","vertex_group_roughness_1","invert_vertex_group_roughness_1","vertex_group_roughness_2","invert_vertex_group_roughness_2","vertex_group_roughness_end","invert_vertex_group_roughness_end","vertex_group_twist","invert_vertex_group_twist"]},{title:"Textures",closed:!0,from:"Settings",properties:["texture_slots","active_texture"]},{title:"Animation",closed:!0,from:"Settings",properties:["animation_data"]}],t={id:"particle",curated:s},d="selection.inspector",g="Particles",f="properties-particles",h=90,y="object",S=i(t),v=r(t);export{v as default,f as icon,S as match,h as order,d as point,y as railGroup,g as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as i,a as t}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const o=[{title:"Rigid Body",from:"Rigid Body",properties:["type"],sub:[{title:"Settings",from:"Rigid Body",properties:["mass","kinematic","enabled"]},{title:"Collisions",from:"Rigid Body",properties:["collision_shape","mesh_source","use_deform"],sub:[{title:"Surface Response",closed:!0,from:"Rigid Body",properties:["friction","restitution"]},{title:"Sensitivity",closed:!0,from:"Rigid Body",properties:["use_margin","collision_margin"]},{title:"Collections",closed:!0,from:"Rigid Body",properties:["collision_collections"]}]},{title:"Dynamics",closed:!0,from:"Rigid Body",when:[{from:"Rigid Body",property:"type",is:["ACTIVE"]}],properties:["linear_damping","angular_damping"],sub:[{title:"Deactivation",closed:!0,from:"Rigid Body",properties:["use_deactivation","use_start_deactivated","deactivate_linear_velocity","deactivate_angular_velocity"]}]}]},{title:"Rigid Body Constraint",from:"Rigid Body Constraint",properties:["type"],sub:[{title:"Settings",from:"Rigid Body Constraint",properties:["enabled","disable_collisions","use_breaking","breaking_threshold"]},{title:"Objects",from:"Rigid Body Constraint",properties:["object1","object2"]},{title:"Override Iterations",closed:!0,from:"Rigid Body Constraint",properties:["use_override_solver_iterations","solver_iterations"]},{title:"Limits",closed:!0,from:"Rigid Body Constraint",properties:[],sub:[{title:"Linear",from:"Rigid Body Constraint",properties:["use_limit_lin_x","limit_lin_x_lower","limit_lin_x_upper","use_limit_lin_y","limit_lin_y_lower","limit_lin_y_upper","use_limit_lin_z","limit_lin_z_lower","limit_lin_z_upper"]},{title:"Angular",from:"Rigid Body Constraint",properties:["use_limit_ang_x","limit_ang_x_lower","limit_ang_x_upper","use_limit_ang_y","limit_ang_y_lower","limit_ang_y_upper","use_limit_ang_z","limit_ang_z_lower","limit_ang_z_upper"]}]},{title:"Motor",closed:!0,from:"Rigid Body Constraint",properties:[],sub:[{title:"Linear",from:"Rigid Body Constraint",properties:["use_motor_lin","motor_lin_target_velocity","motor_lin_max_impulse"]},{title:"Angular",from:"Rigid Body Constraint",properties:["use_motor_ang","motor_ang_target_velocity","motor_ang_max_impulse"]}]},{title:"Springs",closed:!0,from:"Rigid Body Constraint",properties:["spring_type"]}]},{title:"Cloth",from:"Cloth",properties:["quality","time_scale"],sub:[{title:"Physical Properties",from:"Cloth",properties:["mass","air_damping","bending_model"],sub:[{title:"Stiffness",from:"Cloth",properties:["tension_stiffness","compression_stiffness","shear_stiffness","bending_stiffness"]},{title:"Damping",from:"Cloth",properties:["tension_damping","compression_damping","shear_damping","bending_damping"]},{title:"Internal Springs",closed:!0,from:"Cloth",properties:["use_internal_springs","internal_spring_max_length","internal_spring_max_diversion","internal_spring_normal_check","internal_tension_stiffness","internal_compression_stiffness","internal_tension_stiffness_max","internal_compression_stiffness_max","vertex_group_intern"]},{title:"Pressure",closed:!0,from:"Cloth",properties:["use_pressure","uniform_pressure_force","use_pressure_volume","target_volume","pressure_factor","fluid_density","vertex_group_pressure"]}]},{title:"Cache",closed:!0,from:"Cloth Modifier",properties:["point_cache"]},{title:"Shape",closed:!0,from:"Cloth",properties:["vertex_group_mass","pin_stiffness","use_sewing_springs","sewing_force_max","shrink_min","use_dynamic_mesh","rest_shape_key"]},{title:"Collisions",closed:!0,from:"Cloth",properties:["collision_quality"],sub:[{title:"Object Collisions",from:"Cloth Collisions",properties:["use_collision","distance_min","impulse_clamp","vertex_group_object_collisions","collection"]},{title:"Self Collisions",from:"Cloth Collisions",properties:["use_self_collision","self_friction","self_distance_min","self_impulse_clamp"]}]},{title:"Field Weights",closed:!0,from:"Cloth",properties:["effector_weights"]}]},{title:"Soft Body",from:"Soft Body",properties:["collision_collection"],sub:[{title:"Object",closed:!0,from:"Soft Body",properties:["friction","mass","vertex_group_mass"]},{title:"Simulation",closed:!0,from:"Soft Body",properties:["speed"]},{title:"Goal",closed:!0,from:"Soft Body",properties:["use_goal","vertex_group_goal"],sub:[{title:"Strengths",closed:!0,from:"Soft Body",properties:["goal_default","goal_min","goal_max"]},{title:"Settings",closed:!0,from:"Soft Body",properties:["goal_spring","goal_friction"]}]},{title:"Edges",closed:!0,from:"Soft Body",properties:["use_edges","vertex_group_spring","pull","push","damping","plastic","bend","spring_length","use_edge_collision","use_face_collision"],sub:[{title:"Aerodynamics",closed:!0,from:"Soft Body",properties:["aerodynamics_type","aero"]},{title:"Stiffness",closed:!0,from:"Soft Body",properties:["use_stiff_quads","shear"]}]},{title:"Self Collision",closed:!0,from:"Soft Body",properties:["use_self_collision","collision_type","ball_size","ball_stiff","ball_damp"]},{title:"Solver",closed:!0,from:"Soft Body",properties:["step_min","step_max","use_auto_step","error_threshold"],sub:[{title:"Diagnostics",closed:!0,from:"Soft Body",properties:["use_diagnose","use_estimate_matrix"]},{title:"Helpers",closed:!0,from:"Soft Body",properties:["choke","fuzzy"]}]},{title:"Field Weights",closed:!0,from:"Soft Body",properties:["effector_weights"]},{title:"Cache",closed:!0,from:"Soft Body Modifier",properties:["point_cache"]}]},{title:"Force Fields",from:"Force Field",properties:["type"],sub:[{title:"Settings",from:"Force Field",properties:["shape","strength","flow","apply_to_location","apply_to_rotation","source_object","use_smoke_density","falloff_power","use_max_distance","distance_max","texture_mode","texture_nabla","use_object_coords","use_2d_force","guide_free","use_guide_path_add","use_guide_path_weight","guide_clump_amount","guide_clump_shape","guide_minimum"],sub:[{title:"Kink",from:"Force Field",when:[{from:"Force Field",property:"type",is:["GUIDE"]}],properties:["guide_kink_type","guide_kink_axis","guide_kink_frequency","guide_kink_shape","guide_kink_amplitude"]},{title:"Texture",from:"Force Field",when:[{from:"Force Field",property:"type",is:["TEXTURE"]}],properties:["texture"]}]},{title:"Falloff",from:"Force Field",when:[{from:"Force Field",property:"type",isNot:["NONE","GUIDE"]}],properties:["falloff_type"],sub:[{title:"Angular",from:"Force Field",when:[{from:"Force Field",property:"falloff_type",is:["CONE"]}],properties:["radial_falloff","use_radial_min","radial_min","use_radial_max","radial_max"]},{title:"Radial",from:"Force Field",when:[{from:"Force Field",property:"falloff_type",is:["TUBE"]}],properties:["radial_falloff","use_radial_min","radial_min","use_radial_max","radial_max"]}]}]},{title:"Collision",from:"Collision",properties:["use","absorption"],sub:[{title:"Particle",from:"Collision",properties:["permeability","stickiness","use_particle_kill","damping_factor","damping_random","friction_factor","friction_random"]},{title:"Softbody & Cloth",from:"Collision",properties:["damping","thickness_outer","thickness_inner","cloth_friction","use_culling","use_normal"]}]},{title:"Fluid",from:"Fluid",properties:["fluid_type","domain_settings","flow_settings","effector_settings"]},{title:"Dynamic Paint",from:"Dynamic Paint",properties:["ui_type","canvas_settings","brush_settings"]}],e={id:"physics",curated:o},f="selection.inspector",u="Physics",c="properties-physics",g=100,y="object",h=t(e),b=i(e);export{b as default,c as icon,h as match,g as order,f as point,y as railGroup,u as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as i,a as o}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const e=["BLENDER_EEVEE"],t=["BLENDER_WORKBENCH"],s=[{title:"Render Engine",properties:["engine"]},{title:"Sampling",engine:e,from:"EEVEE",properties:[],sub:[{title:"Viewport",from:"EEVEE",properties:["taa_samples","use_taa_reprojection","use_shadow_jitter_viewport"]},{title:"Render",from:"EEVEE",properties:["taa_render_samples"]},{title:"Shadows",closed:!0,from:"EEVEE",properties:["use_shadows","shadow_ray_count","shadow_step_count","use_volumetric_shadows","volumetric_shadow_samples","shadow_resolution_scale"]},{title:"Advanced",closed:!0,from:"EEVEE",properties:["light_threshold"]}]},{title:"Light Paths",closed:!0,engine:e,from:"EEVEE",properties:[],sub:[{title:"Clamping",from:"EEVEE",properties:[],sub:[{title:"Surface",from:"EEVEE",properties:["clamp_surface_direct","clamp_surface_indirect"]},{title:"Volume",from:"EEVEE",properties:["clamp_volume_direct","clamp_volume_indirect"]}]},{title:"Intensity",from:"EEVEE",properties:["direct_light_intensity","indirect_light_intensity"]}]},{title:"Raytracing",closed:!0,engine:e,from:"EEVEE",properties:["use_raytracing","ray_tracing_method",{from:"Raytracing",property:"resolution_scale"}],sub:[{title:"Screen Tracing",closed:!0,from:"Raytracing",properties:["screen_trace_quality","screen_trace_thickness","use_backface_hit","backface_radiance_scale"]},{title:"Denoising",closed:!0,from:"Raytracing",properties:["use_denoise","denoise_spatial","denoise_temporal","denoise_bilateral"]},{title:"Fast GI Approximation",closed:!0,from:"EEVEE",properties:["use_fast_gi",{from:"Raytracing",property:"trace_max_roughness"},"fast_gi_method","fast_gi_resolution","fast_gi_ray_count","fast_gi_step_count","fast_gi_quality","fast_gi_distance","fast_gi_thickness_near","fast_gi_bias"]}]},{title:"Volumes",closed:!0,engine:e,from:"EEVEE",properties:["volumetric_tile_size","volumetric_samples","volumetric_sample_distribution","volumetric_ray_depth"],sub:[{title:"Custom Range",closed:!0,from:"EEVEE",properties:["use_volume_custom_range","volumetric_start","volumetric_end"]}]},{title:"Depth of Field",closed:!0,engine:e,from:"EEVEE",properties:["bokeh_max_size","bokeh_threshold","bokeh_neighbor_max","use_bokeh_jittered","bokeh_overblur"]},{title:"Motion Blur",closed:!0,engine:e,properties:["use_motion_blur","motion_blur_position","motion_blur_shutter",{from:"EEVEE",property:"motion_blur_depth_scale"},{from:"EEVEE",property:"motion_blur_max"},{from:"EEVEE",property:"motion_blur_steps"}]},{title:"Film",closed:!0,engine:e,properties:["filter_size","film_transparent",{from:"EEVEE",property:"use_overscan"},{from:"EEVEE",property:"overscan_size"}]},{title:"Performance",closed:!0,engine:e,properties:["use_high_quality_normals","anisotropic_filter"],sub:[{title:"Compositor",closed:!0,properties:["compositor_device","compositor_precision"],sub:[{title:"Denoise Nodes",closed:!0,properties:["compositor_denoise_device","compositor_denoise_preview_quality","compositor_denoise_final_quality"]}]},{title:"Memory",closed:!0,from:"EEVEE",properties:["shadow_pool_size","gi_irradiance_pool_size"]},{title:"Viewport",closed:!0,properties:["preview_pixel_size"]}]},{title:"Sampling",engine:t,from:"Workbench",properties:["render_aa","viewport_aa"]},{title:"Lighting",engine:t,from:"Workbench Shading",properties:["light","studio_light","use_world_space_lighting","studiolight_rotate_z"]},{title:"Object Color",engine:t,from:"Workbench Shading",properties:["color_type","single_color"]},{title:"Options",engine:t,from:"Workbench Shading",properties:["show_backface_culling","show_object_outline","object_outline_color","show_specular_highlight","show_xray","xray_alpha","show_shadows","shadow_intensity","use_dof","show_cavity","cavity_type","cavity_ridge_factor","cavity_valley_factor","curvature_ridge_factor","curvature_valley_factor"]},{title:"Film",closed:!0,engine:t,properties:["film_transparent"]},{title:"Grease Pencil",closed:!0,from:"Grease Pencil",properties:[],sub:[{title:"Viewport",closed:!0,from:"Grease Pencil",properties:["antialias_threshold"]},{title:"Render",closed:!0,from:"Grease Pencil",properties:["antialias_threshold_render","aa_samples","motion_blur_steps"]}]},{title:"Simplify",closed:!0,properties:["use_simplify"],sub:[{title:"Viewport",properties:["simplify_subdivision","simplify_child_particles","simplify_volumes","use_simplify_normals"]},{title:"Render",properties:["simplify_subdivision_render","simplify_child_particles_render"]}]},{title:"Color Management",closed:!0,from:"View Settings",properties:[{from:"Display Device",property:"display_device"},"view_transform","look","exposure","gamma"],sub:[{title:"White Balance",closed:!0,from:"View Settings",properties:["use_white_balance","white_balance_temperature","white_balance_tint"]},{title:"Curves",closed:!0,from:"View Settings",properties:["use_curve_mapping","curve_mapping"]},{title:"Advanced",closed:!0,from:"Display Device",properties:["emulation"]}]}],r={id:"render",standing:"any",curated:s},E="selection.inspector",f="Render",h="properties-render",g=10,y="scene",b=o(r),v=i(r);export{v as default,h as icon,b as match,g as order,E as point,y as railGroup,f as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r,a as o}from"./blender-properties-tab-BmudfsC3.js";import{r as s}from"./blender-properties-model-DD-2sMKx.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const n=[{title:"Scene",properties:["camera","background_set",{property:"active_clip",label:"Active Clip"}]},{title:"Units",closed:!0,from:"Units",properties:["system","scale_length","use_separate","system_rotation","length_unit","mass_unit","time_unit","temperature_unit"]},{title:"Gravity",closed:!0,headerProperty:"use_gravity",properties:["gravity"]},{title:"Simulation",closed:!0,properties:["use_custom_simulation_range","simulation_frame_start","simulation_frame_end"]},{title:"Keying Sets",closed:!0,properties:["keying_sets"]},{title:"Audio",closed:!0,properties:["audio_volume","audio_distance_model","audio_doppler_speed","audio_doppler_factor"]},{title:"Rigid Body World",closed:!0,from:"Rigid Body World",properties:["enabled"],sub:[{title:"Settings",from:"Rigid Body World",properties:["collection","constraints","time_scale","use_split_impulse","substeps_per_frame","solver_iterations"]},{title:"Cache",closed:!0,from:"Rigid Body World",properties:["point_cache"]},{title:"Field Weights",closed:!0,from:"Rigid Body World",properties:["effector_weights"]}]},{title:"Light Probes",closed:!0,from:"EEVEE",engine:["BLENDER_EEVEE"],properties:["gi_cubemap_resolution"]},{title:"Animation",closed:!0,properties:["animation_data"]}],e={id:"scene",standing:"any",curated:n},f="selection.inspector",y="Scene",b="properties-scene",E=40,h="scene",v=(t,i)=>s(t,i)?.kind==="scene",B=o(e),S=r(e);export{S as default,b as icon,B as match,E as order,f as point,v as railDefault,h as railGroup,y as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as o,a as i}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const e=r=>[{from:"Texture",property:"type",is:[r]},{from:"Texture",property:"use_nodes",is:[!1]}],s=[{title:"Texture",from:"Texture",properties:["type","use_nodes","node_tree"]},{title:"Clouds",from:"Texture",when:e("CLOUDS"),properties:["noise_basis","noise_type","cloud_type","noise_scale","noise_depth","nabla"]},{title:"Wood",from:"Texture",when:e("WOOD"),properties:["noise_basis","wood_type","noise_basis_2","noise_type","noise_scale","turbulence","nabla"]},{title:"Marble",from:"Texture",when:e("MARBLE"),properties:["noise_basis","marble_type","noise_basis_2","noise_type","noise_scale","noise_depth","turbulence","nabla"]},{title:"Magic",from:"Texture",when:e("MAGIC"),properties:["noise_depth","turbulence"]},{title:"Blend",from:"Texture",when:e("BLEND"),properties:["progression","use_flip_axis"]},{title:"Stucci",from:"Texture",when:e("STUCCI"),properties:["noise_basis","stucci_type","noise_type","noise_scale","turbulence"]},{title:"Image",from:"Texture",when:e("IMAGE"),properties:["image","image_user"],sub:[{title:"Alpha",closed:!0,from:"Texture",properties:["use_alpha","use_calculate_alpha","invert_alpha"]},{title:"Sampling",closed:!0,from:"Texture",properties:["use_interpolation","filter_size"]},{title:"Mapping",closed:!0,from:"Texture",properties:["use_flip_axis","extension","repeat_x","repeat_y","use_mirror_x","use_mirror_y","checker_distance","use_checker_even","use_checker_odd"],sub:[{title:"Crop",closed:!0,from:"Texture",properties:["crop_min_x","crop_min_y","crop_max_x","crop_max_y"]}]}]},{title:"Musgrave",from:"Texture",when:e("MUSGRAVE"),properties:["noise_basis","musgrave_type","noise_scale","nabla","dimension_max","lacunarity","octaves","offset","noise_intensity","gain"]},{title:"Voronoi",from:"Texture",when:e("VORONOI"),properties:["distance_metric","minkovsky_exponent","color_mode","noise_intensity","noise_scale","nabla"],sub:[{title:"Feature Weights",from:"Texture",properties:["weight_1","weight_2","weight_3","weight_4"]}]},{title:"Distorted Noise",from:"Texture",when:e("DISTORTED_NOISE"),properties:["noise_basis","noise_distortion","distortion","noise_scale","nabla"]},{title:"Mapping",from:"User",properties:["texture_coords","object","uv_layer","mapping","mapping_x","mapping_y","mapping_z","offset","scale"]},{title:"Influence",closed:!0,from:"User",properties:["blend_type","color"]},{title:"Colors",closed:!0,from:"Texture",properties:["use_clamp","factor_red","factor_green","factor_blue","intensity","contrast","saturation"],sub:[{title:"Color Ramp",closed:!0,from:"Texture",properties:["use_color_ramp","color_ramp"]}]},{title:"Animation",closed:!0,from:"Texture",properties:["animation_data"]}],t={id:"texture",curated:s},d="selection.inspector",f="Texture",b="properties-texture",T=160,h="texture",y=i(t),g=o(t);export{g as default,b as icon,y as match,T as order,d as point,h as railGroup,f as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as s,a as t}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const r=[{title:"View Layer",properties:["use",{from:"Render",property:"use_single_layer"}]},{title:"Passes",properties:[],sub:[{title:"Data",engine:["BLENDER_EEVEE"],properties:["use_pass_combined","use_pass_z","use_pass_mist","use_pass_normal","use_pass_position","use_pass_vector","use_pass_grease_pencil"]},{title:"Data",engine:["BLENDER_WORKBENCH"],properties:["use_pass_combined","use_pass_z","use_pass_grease_pencil"]},{title:"Light",engine:["BLENDER_EEVEE"],properties:["use_pass_diffuse_direct","use_pass_diffuse_color","use_pass_glossy_direct","use_pass_glossy_color",{from:"EEVEE",property:"use_pass_volume_direct"},"use_pass_emit","use_pass_environment","use_pass_shadow","use_pass_ambient_occlusion",{from:"EEVEE",property:"use_pass_transparent"},{from:"EEVEE",property:"ambient_occlusion_distance"}]},{title:"Cryptomatte",closed:!0,properties:["use_pass_cryptomatte_object","use_pass_cryptomatte_material","use_pass_cryptomatte_asset","pass_cryptomatte_depth"]},{title:"Shader AOV",closed:!0,properties:["aovs"]},{title:"Light Groups",closed:!0,properties:["lightgroups"]}]},{title:"Filter",closed:!0,properties:["use_sky","use_solid","use_strand","use_volumes","use_grease_pencil","use_motion_blur"]},{title:"Override",closed:!0,properties:["material_override","world_override","samples"]}],e={id:"view_layer",standing:"any",curated:r},m="selection.inspector",d="View Layer",E="properties-view-layer",y=30,g="scene",b=t(e),f=s(e);export{f as default,E as icon,b as match,y as order,m as point,g as railGroup,d as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as t,a as o}from"./blender-properties-tab-BmudfsC3.js";import"./volter-sdk-D8o6TU4A.js";import"./blender-properties-model-DD-2sMKx.js";import"./blender-outliner-model-BqLWEXta.js";import"./blender-base64-Cxqc4R5f.js";import"./output-pass-Bw2FZb8e.js";import"./three.module-JoAAxMWl.js";import"./volter-shared-three-core-DEsIwtOu.js";import"./linear-resolve-B-MA5O31.js";const r=[{title:"Surface",engine:["BLENDER_EEVEE"],properties:["use_nodes","node_tree"]},{title:"Volume",closed:!0,engine:["BLENDER_EEVEE"],properties:["use_eevee_finite_volume"]},{title:"Mist Pass",closed:!0,from:"Mist",engine:["BLENDER_EEVEE"],properties:["start","depth","falloff"]},{title:"Settings",closed:!0,engine:["BLENDER_EEVEE"],properties:[],sub:[{title:"Light Probe",properties:["probe_resolution"]},{title:"Sun",properties:["sun_threshold","sun_angle"],sub:[{title:"Shadow",closed:!0,properties:["use_sun_shadow","use_sun_shadow_jitter","sun_shadow_jitter_overblur","sun_shadow_filter_radius","sun_shadow_maximum_resolution"]}]}]},{title:"Viewport Display",closed:!0,properties:["color"]},{title:"Animation",closed:!0,properties:["animation_data"]}],e={id:"world",standing:"any",curated:r},c="selection.inspector",E="World",m="properties-world",h=50,b="scene",f=o(e),w=t(e);export{w as default,m as icon,f as match,h as order,c as point,b as railGroup,E as title};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e={workspaceTabs:"shown",header:"shown",shelf:"shown",inspector:"properties",hierarchyTypeSuffix:"hidden",hierarchyInstanceRule:"hidden",hierarchyRestrictions:"viewport+render"};export{e as B};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as s}from"./regions-BlV6hTFd.js";const r="workspace.layout",t={id:"sculpt",title:"Sculpt",description:"ZBrush-shaped sculpting. Uses Model's arrangement until the sculpt program ships its brush rail.",requires:{documentKind:"model"},regions:{...s,header:"shown",shelf:"shown",inspector:"properties",drawer:"hidden"}};export{t as layout,r as point};
|