@volter/game-editor 0.5.67 → 0.5.68
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 +20 -20
- package/catalog/entries/blender.json +1 -1
- package/catalog/entries/music.json +3 -3
- package/catalog/project-source/src/lib/music/music-player.ts +18 -12
- package/dist/.vite/manifest.json +2307 -2166
- package/dist/assets/{AssetBudgetPanel-x_FNJbfZ.js → AssetBudgetPanel-P2PeL_X5.js} +9 -9
- package/dist/assets/{AudioViewer-BDPqHDfU.js → AudioViewer-xFb5Wv7A.js} +1 -1
- package/dist/assets/CanvasBoardDocument-BFJdTVGp.js +1 -0
- package/dist/assets/CanvasSceneViewport-vqBlOz8P.js +1 -0
- package/dist/assets/{ColorInput-QUPS1pEB.js → ColorInput-CX1UZjYO.js} +1 -1
- package/dist/assets/{EntityModelDocument-CzUHsH9E.js → EntityModelDocument-Du8wIbyK.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-ByEB7_4A.js → EnvironmentAssetDocument-_SttfMY_.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-dhG-oiqd.js → GameplaySessionTimeline-CWudWnfd.js} +1 -1
- package/dist/assets/{ImageViewer-tlVvkdM4.js → ImageViewer-shZzMd91.js} +1 -1
- package/dist/assets/InspectorObjectPreview-BMOvJaOw.js +1 -0
- package/dist/assets/{JsonAssetDocument-CPmcWFPW.js → JsonAssetDocument-D_HXneWE.js} +1 -1
- package/dist/assets/{LiveModuleDocument-DL8QHSlk.js → LiveModuleDocument-BWjOzO_6.js} +1 -1
- package/dist/assets/{LutAssetDocument-BImiug2M.js → LutAssetDocument-DIc6nsht.js} +1 -1
- package/dist/assets/ModelAssetDocument-_CqTsX_A.js +1 -0
- package/dist/assets/{NonThreeAuthoringBootstrap-B40qmGGS.js → NonThreeAuthoringBootstrap-C-V23E1e.js} +1 -1
- package/dist/assets/Object3DDocumentToolbar-BfPH9jz5.js +1 -0
- package/dist/assets/Object3DDocumentViewport-BaXWtATg.js +2 -0
- package/dist/assets/{Object3DPreview-ClYDoH2L.js → Object3DPreview-BPHEr3vI.js} +1 -1
- package/dist/assets/OnlineAssetDetail-BxibUH6K.js +1 -0
- package/dist/assets/PlayBar-DRANyO01.js +1 -0
- package/dist/assets/{QuarksAssetDocument-B-VOj-n4.js → QuarksAssetDocument-4Dne3EHx.js} +1 -1
- package/dist/assets/ReactCanvasControls-K98jOX9b.js +1 -0
- package/dist/assets/RootSelectionOverlay-BQC12Gdd.js +1 -0
- package/dist/assets/{ShaderAssetDocument-Kn8IvRGV.js → ShaderAssetDocument-W3ZjLCkt.js} +4 -4
- package/dist/assets/ShadowEditor-DP1LWynl.js +1 -0
- package/dist/assets/{SourceAssetViewer-CLQ95VSD.js → SourceAssetViewer-BGUeDAEv.js} +1 -1
- package/dist/assets/StageHost-V_0opXFt.js +2 -0
- package/dist/assets/{StoryPreviewMount-D2lg37et.js → StoryPreviewMount-Di8uMovM.js} +1 -1
- package/dist/assets/{ThreeBoardDocument-BAgHrbtu.js → ThreeBoardDocument-tgcaZDqQ.js} +2 -2
- package/dist/assets/{ThreeIsolationSceneContent-DbYIylZQ.js → ThreeIsolationSceneContent-BAKurKW5.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-WEi6C9uU.js → ToolObject3DPreview-CffvGJ1h.js} +1 -1
- package/dist/assets/Toolbar-uLgsrB2z.js +1 -0
- package/dist/assets/{TransientHint-BpDLhRLd.js → TransientHint-CgmkrmKF.js} +1 -1
- package/dist/assets/{VideoViewer-DMV8lf4P.js → VideoViewer-ClUJ6_uy.js} +1 -1
- package/dist/assets/ViewportShadingMenu-Bdkc6jcd.js +1 -0
- package/dist/assets/{active-ingest-DA426a81.js → active-ingest-CnAeQcuQ.js} +3 -3
- package/dist/assets/{animation-clock-Bm80XdqP.js → animation-clock-fLmY_3--.js} +1 -1
- package/dist/assets/{animation-mixers.service-DK64IuYq.js → animation-mixers.service-DiecMX_A.js} +1 -1
- package/dist/assets/{animation-timeline.utility-D-g0zrOl.js → animation-timeline.utility-C71vPJgs.js} +1 -1
- package/dist/assets/{asset-budget-asset.menu-CEgP0Kiw.js → asset-budget-asset.menu-BDRDWrvx.js} +1 -1
- package/dist/assets/{asset-budget.action-D4R1c3wi.js → asset-budget.action-tQmNGQHC.js} +1 -1
- package/dist/assets/{asset-budget.document-Syzjn1U1.js → asset-budget.document-BthgX37Z.js} +1 -1
- package/dist/assets/{asset-budget.menu-BbRiqXeM.js → asset-budget.menu-DfyWVH6p.js} +1 -1
- package/dist/assets/{asset-editor-persistence-BGWIqZdk.js → asset-editor-persistence-BQgjOCrm.js} +1 -1
- package/dist/assets/{asset-loaders-C0KQI5eY.js → asset-loaders-5PIUVvmH.js} +1 -1
- package/dist/assets/{asset-preview-B1tDziF1.js → asset-preview-Cv7tfD98.js} +1 -1
- package/dist/assets/{audio-unlock.service-ucMfCVBw.js → audio-unlock.service-BvHvZjzx.js} +1 -1
- package/dist/assets/{audio.utility-BmE9WMUg.js → audio.utility-D9Vk_WYS.js} +1 -1
- package/dist/assets/autoplay.service-CFJoLPLw.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-C8mFMXSr.js → babylon-authoring-adapter-Cg5ALSpr.js} +1 -1
- package/dist/assets/binding-resolver-C_9MBSMa.js +2 -0
- package/dist/assets/{blender-node-editor.document-C1YmwWls.js → blender-node-editor.document-B92MO51u.js} +1 -1
- package/dist/assets/{blender-properties-tab-B8lyjgj3.js → blender-properties-tab-CDVyDAbf.js} +1 -1
- package/dist/assets/{blender-runtime-host-CyQlImSR.js → blender-runtime-host-CuniE0sy.js} +1 -1
- package/dist/assets/{blender-runtime-skin-BK7ShZ6z.js → blender-runtime-skin-B_tOz5j5.js} +1 -1
- package/dist/assets/{blender-runtime.document-B0nVQs0P.js → blender-runtime.document-DxUwLiEW.js} +1 -1
- package/dist/assets/{blender-timeline.document-CMcdE2CK.js → blender-timeline.document-BdEEoQbK.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-CjqNo4sZ.js → blender-uv-editor.document-EMSUlRh4.js} +1 -1
- package/dist/assets/{blender-version.status-OsFoc9SA.js → blender-version.status-DtfwUahB.js} +1 -1
- package/dist/assets/{blender.command-C6NmRBo5.js → blender.command-BkBML2SY.js} +1 -1
- package/dist/assets/blender.keymap-BmOBRY7p.js +1 -0
- package/dist/assets/{board-guides-BEKPgD9M.js → board-guides-_3R1t_-2.js} +1 -1
- package/dist/assets/bridge.command-VnplZ81v.js +3 -0
- package/dist/assets/{browserAll-lF_dLQVz.js → browserAll-BCmkqg8n.js} +1 -1
- package/dist/assets/build-player.document-DV7YcJQt.js +1 -0
- package/dist/assets/build-profiles.document-CZxDuhzz.js +2 -0
- package/dist/assets/{build-progress.status-Bo1ZgJcb.js → build-progress.status-Dk5u3C67.js} +1 -1
- package/dist/assets/build-session-BGe0eGrQ.js +9 -0
- package/dist/assets/{build.action-DRX2IcYt.js → build.action-Bdj4ZEL_.js} +1 -1
- package/dist/assets/{build.command-BGvLaLG0.js → build.command-DAWiYvPa.js} +1 -1
- package/dist/assets/build.header--xqH6uTP.js +1 -0
- package/dist/assets/{build.menu-UenrjPWS.js → build.menu-BiRNC_xc.js} +1 -1
- package/dist/assets/{build.service-BIUoTY6l.js → build.service-Dw9K6VSF.js} +1 -1
- package/dist/assets/{camera-DrvaM47S.js → camera-C-qXzXFf.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-CjJALNO8.js → camera-runtime.inspector-BDrwWRlU.js} +1 -1
- package/dist/assets/canvas-design-mount-DLn49Zle.js +6 -0
- package/dist/assets/canvas-entry-runtime-DVeh71nC.js +2 -0
- package/dist/assets/{canvas-preview-frames-C0QTagA3.js → canvas-preview-frames-B5xFRjhQ.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-Dgjr-rT1.js → canvas-story-capture.service-DQ_leYyi.js} +2 -2
- package/dist/assets/{capability-coverage-DZ-onC5j.js → capability-coverage-DQgg6UJe.js} +3 -3
- package/dist/assets/{collaboration-presence-BVIQuN1l.js → collaboration-presence-BOS1t8wI.js} +1 -1
- package/dist/assets/{collider-C7SbIYKY.js → collider-Bf4Uk6LW.js} +1 -1
- package/dist/assets/{component-board.service-CWFaGMCO.js → component-board.service-CpVXGhz5.js} +2 -2
- package/dist/assets/{component-board.service-BEsFAw4_.js → component-board.service-DFSSCaCf.js} +2 -2
- package/dist/assets/{component-board.service-q_TM9BCw.js → component-board.service-DgujG90T.js} +2 -2
- package/dist/assets/{component-contracts.service-CPbfXE1h.js → component-contracts.service-Bc_2Xxh_.js} +1 -1
- package/dist/assets/{component-instance-root-B0C5oNEm.js → component-instance-root-df4ofoOR.js} +1 -1
- package/dist/assets/{component-verbs.command-oNtGgzQL.js → component-verbs.command-DGzZAV_Z.js} +1 -1
- package/dist/assets/component-verbs.service-D1rVRogp.js +1 -0
- package/dist/assets/{config-_wCzzlM_.js → config-D-EAAhqP.js} +4 -4
- package/dist/assets/{configurations-BXU4GGbV.js → configurations-_HZOWZPy.js} +1 -1
- package/dist/assets/{connection.status-Yvt0bX0r.js → connection.status-CCX-mgmr.js} +1 -1
- package/dist/assets/{constraints.inspector-4r8jWq5a.js → constraints.inspector-CwEEREsf.js} +1 -1
- package/dist/assets/{content-bounds-BeuIXKYu.js → content-bounds-DKBD7nsv.js} +1 -1
- package/dist/assets/{contract-system-adapters-Bic_7sev.js → contract-system-adapters-h6OUBRYA.js} +1 -1
- package/dist/assets/{coverage.service-DcpEoBuf.js → coverage.service-CV7b5Sqn.js} +2 -2
- package/dist/assets/create-runtime-Bg2uYMfh.js +3 -0
- package/dist/assets/{curve-DVd18iAX.js → curve-BKuiAPpj.js} +1 -1
- package/dist/assets/{data-asset-DfQ2Pjse.js → data-asset-7Nfmx-28.js} +1 -1
- package/dist/assets/{data-ref-CWnkj-HX.js → data-ref-DyFQqqX6.js} +1 -1
- package/dist/assets/debug-bridge-CESAxmlz.js +1 -0
- package/dist/assets/{debug-registry-P0_YQGWd.js → debug-registry-l7k5Hjc8.js} +1 -1
- package/dist/assets/{deferred-ingest-play-BdR4qGk6.js → deferred-ingest-play-Bej67_y9.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-DPQeHSN2.js → design-time-canvas-mount-CFW9ZWuk.js} +2 -2
- package/dist/assets/{design-time-layers-ChswRUJt.js → design-time-layers-CQgnmqc8.js} +1 -1
- package/dist/assets/{design-time-mount.service-Ks-5Wkcs.js → design-time-mount.service-DJeAPUB_.js} +2 -2
- package/dist/assets/{design-time-mount.service-Ca-DZGFV.js → design-time-mount.service-_R1UDCw3.js} +2 -2
- package/dist/assets/{design-time-react-mount-C85KfXOd.js → design-time-react-mount-CFvIk_rV.js} +1 -1
- package/dist/assets/{document-preview-three-DThkjI1S.js → document-preview-three-5cbuuJMH.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-BrLU8IJ_.js → dom-authoring-adapter-CoESNvrM.js} +1 -1
- package/dist/assets/{draco3d-B2cwv46o.js → draco3d-Sk9K4AUT.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-D4ITNbsm.js → edit-mode-audio.service-CH6J-8N7.js} +1 -1
- package/dist/assets/{edit-mode-authoring-DeCxPcHM.js → edit-mode-authoring-DBjaBTxM.js} +1 -1
- package/dist/assets/{edit-mode-networking.service-BNv-FTRh.js → edit-mode-networking.service-C4o2pGHX.js} +1 -1
- package/dist/assets/editor-api-D2azVray.js +1 -0
- package/dist/assets/{editor-layers-BDJnAAzj.js → editor-layers-B4oYfpj8.js} +1 -1
- package/dist/assets/{editor-shell-store-ChLcVeNB.js → editor-shell-store-Bh1S7M54.js} +1 -1
- package/dist/assets/{entity-object-JmYMfLsx.js → entity-object-B_5Gc0Ky.js} +1 -1
- package/dist/assets/{extend-Cc-nEa_A.js → extend-DcEyE5jI.js} +1 -1
- package/dist/assets/fork-menu-CKjNh3MO.js +1 -0
- package/dist/assets/{frame-debugger-store-DaCbAYSW.js → frame-debugger-store-D5YViF_8.js} +1 -1
- package/dist/assets/{game-contract-seams-BnPFGLll.js → game-contract-seams-C0AVYwvO.js} +1 -1
- package/dist/assets/{game-css-scope-transform-D_p7cVgW.js → game-css-scope-transform-8GOvVu1s.js} +1 -1
- package/dist/assets/game-document.service-FdG_gFPU.js +1 -0
- package/dist/assets/game-eval.command-4wa9vqWE.js +2 -0
- package/dist/assets/{game-module-access-o3iXZpCA.js → game-module-access-DulnT3NH.js} +1 -1
- package/dist/assets/game-network-Bo_nlDR5.js +22 -0
- package/dist/assets/{gameplay-export-BzYzLZPi.js → gameplay-export-K5AcStVC.js} +1 -1
- package/dist/assets/{gameplay-replay-BwdxV4oF.js → gameplay-replay-CnWnlogY.js} +1 -1
- package/dist/assets/gameplay.command-DoWqBWhH.js +1 -0
- package/dist/assets/{generation-jobs-BZhOMrp-.js → generation-jobs-CiabIfR0.js} +1 -1
- package/dist/assets/generation.service-D2yeZaJu.js +1 -0
- package/dist/assets/{generations-DVDht_31.js → generations-DU9rCeQR.js} +1 -1
- package/dist/assets/{generations.status-BvzgHlyk.js → generations.status-3CrPw_n5.js} +1 -1
- package/dist/assets/{hierarchy-marks-Cc_3lxw6.js → hierarchy-marks-C25dY2fR.js} +1 -1
- package/dist/assets/{hosted-asset-materialization-BpbnhJac.js → hosted-asset-materialization-DYdcFlDf.js} +1 -1
- package/dist/assets/{index-0Lm0Nf1M.css → index-B5WjeCHm.css} +1 -1
- package/dist/assets/{index-C1c3eOmm.js → index-BcH5GC3b.js} +1 -1
- package/dist/assets/{index-cNc-iFbq.js → index-BsYc2Oyj.js} +1 -1
- package/dist/assets/{index-SS9EugVg.js → index-C20Flc1s.js} +2 -2
- package/dist/assets/{index-Ck3JFh48.js → index-C4AUQbmq.js} +1 -1
- package/dist/assets/{index-DUZeuA7g.js → index-CC1puVjo.js} +1 -1
- package/dist/assets/{index-BRJMIUK0.js → index-CaG87ZF-.js} +321 -321
- package/dist/assets/index-CwCDkEl1.js +1 -0
- package/dist/assets/{index-C3Pw-9So.js → index-Kb9_s5aP.js} +1 -1
- package/dist/assets/{index-BeK4RPgj.js → index-n3QdTv-T.js} +1 -1
- package/dist/assets/{inference-diagnostics-xecGdohW.js → inference-diagnostics-MGcIHEX6.js} +1 -1
- package/dist/assets/{ingest-boot-viewport-DAt8WFSy.js → ingest-boot-viewport-D2okO6JI.js} +1 -1
- package/dist/assets/ingest-siblings-CkxW__go.js +1 -0
- package/dist/assets/{ingest-source-persistence-Dmdo-UBp.js → ingest-source-persistence-6peGfPAS.js} +1 -1
- package/dist/assets/{ingest.service-vbCucMz7.js → ingest.service-Cc73WMIW.js} +1 -1
- package/dist/assets/{inspect-Dr4qvDpJ.js → inspect-C8RP8G5F.js} +1 -1
- package/dist/assets/instances.command-CxKGnrNl.js +1 -0
- package/dist/assets/{json-history-resource-DwS10tqD.js → json-history-resource-CTXRV4GD.js} +1 -1
- package/dist/assets/layered-pick-B_-BRrRD.js +1 -0
- package/dist/assets/{light-DcFqVCmv.js → light-CskDQ8gF.js} +1 -1
- package/dist/assets/{live-project-verbs-C3LzprCe.js → live-project-verbs-BOAQN3ME.js} +1 -1
- package/dist/assets/{machine.document-BzZxubYQ.js → machine.document-BxOoCOo9.js} +1 -1
- package/dist/assets/{machines.finder-BR02bfVG.js → machines.finder-CqEceWzS.js} +1 -1
- package/dist/assets/{material-B_V78pTt.js → material-BwFzKPi0.js} +1 -1
- package/dist/assets/{material-factory-COz7qZhC.js → material-factory-qB9pzcQf.js} +1 -1
- package/dist/assets/{mesh-DcmO-mWI.js → mesh-5--4qA-C.js} +1 -1
- package/dist/assets/model-asset-sections.service-TZ2SaBmH.js +1 -0
- package/dist/assets/{model-inspection-CXHxrafK.js → model-inspection-MrJY0U_-.js} +1 -1
- package/dist/assets/{model-thumbnail-BEKPWg4l.js → model-thumbnail-uk-2sblh.js} +1 -1
- package/dist/assets/{models.finder-c1I0tp2M.js → models.finder-rk8dhgO8.js} +1 -1
- package/dist/assets/module-mode-B79jV5tQ.js +2 -0
- package/dist/assets/mount-canvas-ingest-root-BhaYNuhY.js +2 -0
- package/dist/assets/mount-dom-ingest-root-BQb1u0LX.js +2 -0
- package/dist/assets/mount-ingest-root-BC3-1Cw1.js +2 -0
- package/dist/assets/mount-manifest-QJOB11Kv.js +1 -0
- package/dist/assets/{mount-three-ingest-root-DVbACDUy.js → mount-three-ingest-root-DIDBfvIH.js} +1 -1
- package/dist/assets/{mounted-authoring-Clftxx0x.js → mounted-authoring-B7RL_V28.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-B4-eAYGI.js → mounted-story-viewport-source-CnYhX3vW.js} +1 -1
- package/dist/assets/{native-debug-module-2_HVupdg.js → native-debug-module-B-rWJfWE.js} +1 -1
- package/dist/assets/{navigation-CH3-zr1n.js → navigation-BVu-aVmF.js} +1 -1
- package/dist/assets/{navmesh.menu-Dfi-Pk-8.js → navmesh.menu-C3M63eR4.js} +1 -1
- package/dist/assets/{navmesh.service-Cz7QFY-M.js → navmesh.service-B0H1fUfn.js} +1 -1
- package/dist/assets/network-observer.service-CiR4Q9Q0.js +1 -0
- package/dist/assets/network.utility-CNG3eJ0E.js +1 -0
- package/dist/assets/{object3d-document-session-registry-DJDEDM0p.js → object3d-document-session-registry-OjqzJ86S.js} +2 -2
- package/dist/assets/{oid-transform-D5Kxt6ij.js → oid-transform-Bzc2ZJSH.js} +1 -1
- package/dist/assets/{particles-vRp0Lf3o.js → particles-Be7AvO4c.js} +1 -1
- package/dist/assets/pixi-authoring-adapter-B42K4md-.js +1 -0
- package/dist/assets/{pixi-live-write-target-BjDsBQbp.js → pixi-live-write-target-D56tQEe_.js} +1 -1
- package/dist/assets/play.command-CIGRq8ow.js +2 -0
- package/dist/assets/presentation-DGBuGP6i.js +1 -0
- package/dist/assets/{product-CxmUIxmr.js → product-BN31wSnB.js} +1 -1
- package/dist/assets/{profiler.action-Dzy9DuAc.js → profiler.action-D57Kj9ym.js} +1 -1
- package/dist/assets/{profiler.menu-jLDO3U6N.js → profiler.menu-Dh9Q5DDx.js} +1 -1
- package/dist/assets/{profiler.utility-Do2Bw7MY.js → profiler.utility-DLNySW3w.js} +1 -1
- package/dist/assets/{project-authoring-session-C3eusefK.js → project-authoring-session-LCJAwGrD.js} +2 -2
- package/dist/assets/{properties-bone-constraints.inspector-B_PbSMV7.js → properties-bone-constraints.inspector-CaIDq5nN.js} +1 -1
- package/dist/assets/{properties-bone.inspector-CMDEQuBd.js → properties-bone.inspector-D2fcQGMF.js} +1 -1
- package/dist/assets/{properties-collection.inspector-D7Ay8yRj.js → properties-collection.inspector-CF5AtTAd.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-DS1fZgXK.js → properties-constraints.inspector-Bj2itDrS.js} +1 -1
- package/dist/assets/{properties-data.inspector-k2pGN2Mp.js → properties-data.inspector-BfRqk0Xo.js} +1 -1
- package/dist/assets/{properties-material.inspector-Bb3yAGUx.js → properties-material.inspector-Bf8H0mvu.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-BcJfe-Wy.js → properties-modifiers.inspector-BKShc1TH.js} +1 -1
- package/dist/assets/{properties-object.inspector-CUSfXJuq.js → properties-object.inspector-YBh8ABnN.js} +1 -1
- package/dist/assets/{properties-output.inspector-BTVW2kn1.js → properties-output.inspector-CVkzfs-l.js} +1 -1
- package/dist/assets/{properties-particles.inspector-Cw0fxx3B.js → properties-particles.inspector-ChDpAq-2.js} +1 -1
- package/dist/assets/{properties-physics.inspector-C-0bD2bu.js → properties-physics.inspector-BLEM7aMj.js} +1 -1
- package/dist/assets/{properties-render.inspector-C8D5UpjX.js → properties-render.inspector-vU4D9xLL.js} +1 -1
- package/dist/assets/{properties-scene.inspector-HjK6QHGg.js → properties-scene.inspector-C-DoN-kL.js} +1 -1
- package/dist/assets/{properties-texture.inspector-CckZgUaI.js → properties-texture.inspector-DySxy1oU.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-C1ajtVSk.js → properties-view-layer.inspector-DEKxMahJ.js} +1 -1
- package/dist/assets/{properties-world.inspector-BiT_EdT-.js → properties-world.inspector-m5qL_TQV.js} +1 -1
- package/dist/assets/r3f-design-session-C0DPEChS.js +2 -0
- package/dist/assets/{r3f-physics-binding-DzrbpqjM.js → r3f-physics-binding-Bgzzd4ol.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-DbbeRcvt.js → r3f-source-authoring-adapter-C8oMjdTL.js} +2 -2
- package/dist/assets/{react-canvas-navigation-Cp3cOHJa.js → react-canvas-navigation-Jowa_lJq.js} +1 -1
- package/dist/assets/react-inspector.service-TfTdj_Qk.js +1 -0
- package/dist/assets/{react-story-board-GaXqr03H.js → react-story-board-Bx7qYytV.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-U8J7g6tH.js → react-three-rapier.esm-BR2ttgLS.js} +1 -1
- package/dist/assets/{react-world-authoring-adapter-DOjv2pYm.js → react-world-authoring-adapter-C1jPW_cN.js} +1 -1
- package/dist/assets/{realm-services-CnY105XU.js → realm-services-DefTrXnY.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-DqSW9p1v.js → reflection-probe-capture.inspector-C-6zrzZb.js} +1 -1
- package/dist/assets/{registry-CaCdF63N.js → registry-Z28XSZHF.js} +1 -1
- package/dist/assets/{relative-import-specifier-BFKIWEWs.js → relative-import-specifier-DQzkawgj.js} +1 -1
- package/dist/assets/{render-env-BkKZ4uMA.js → render-env-BZ7LsGfk.js} +1 -1
- package/dist/assets/{render-features-rxbawsRb.js → render-features-C7QwmhCo.js} +1 -1
- package/dist/assets/{render-settings-DS5leCed.js → render-settings-BBvkacR3.js} +1 -1
- package/dist/assets/{resolve-three-CVnMRHxw.js → resolve-three-C7zDbK29.js} +9 -9
- package/dist/assets/{root-seam-contract-CxLZaRio.js → root-seam-contract-rGNbiX6q.js} +1 -1
- package/dist/assets/run-selection-BUeubtHj.js +2 -0
- package/dist/assets/{scene-capture-0a-bTjT8.js → scene-capture-BTWgUzhI.js} +1 -1
- package/dist/assets/{scene-document.service-CeDwVA7t.js → scene-document.service-DJJp-la1.js} +2 -2
- package/dist/assets/{scene-framing-BQt72ZCw.js → scene-framing-PVMqGU8h.js} +1 -1
- package/dist/assets/{seeded-random-BgCwIAAU.js → seeded-random-38To73fI.js} +1 -1
- package/dist/assets/{setup-renderer-Cwkl1Ar6.js → setup-renderer-OOw1SykJ.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-DF679Ncb.js → source-object3d-authoring-adapter-RmutT5Dt.js} +1 -1
- package/dist/assets/{source-persistence-backend-CwLYVPXj.js → source-persistence-backend-HviqjKZ2.js} +1 -1
- package/dist/assets/{stage-keyboard-B8BEW592.js → stage-keyboard-DDi7S27C.js} +1 -1
- package/dist/assets/stage-overlay-set-olkNSZmq.js +1 -0
- package/dist/assets/{stage-presence-markers-DIP7YMcO.js → stage-presence-markers-cznMN_qq.js} +1 -1
- package/dist/assets/stage-transform-tools-BDUZqRIR.js +1 -0
- package/dist/assets/{standard-viewport-dressing-BCA51Tum.js → standard-viewport-dressing-BZyuxyVl.js} +1 -1
- package/dist/assets/{state-watch.action-DnR5Zjr-.js → state-watch.action-DEdb1mNa.js} +1 -1
- package/dist/assets/{state-watch.menu-wYLCLsAw.js → state-watch.menu-jWbUM3kw.js} +1 -1
- package/dist/assets/{state-watch.utility-CFG1Tu1m.js → state-watch.utility-DDmn3G25.js} +1 -1
- package/dist/assets/{story-capture-BmnwHGDV.js → story-capture-Dj1xkeKH.js} +1 -1
- package/dist/assets/{story-documents-BTo90DiA.js → story-documents-8ehMyYHo.js} +2 -2
- package/dist/assets/{story-documents.service-yagl1wGp.js → story-documents.service-BzQCuNBu.js} +1 -1
- package/dist/assets/{story-documents.service-B6v7Z-WE.js → story-documents.service-iNP-ORNr.js} +1 -1
- package/dist/assets/{story-media-presence-BqRMu572.js → story-media-presence-zTPlU9HR.js} +1 -1
- package/dist/assets/{story-pixi-preview-Da6afqLg.js → story-pixi-preview-B7THvSl7.js} +1 -1
- package/dist/assets/{story-presentation-DMSYRWaz.js → story-presentation-BLXYPadR.js} +1 -1
- package/dist/assets/{story-three-preview-R1JvrggS.js → story-three-preview-B1nNiPwP.js} +2 -2
- package/dist/assets/{studio-environment-DRxxq_QX.js → studio-environment-yaKaHPxH.js} +1 -1
- package/dist/assets/{surface-state-1lTOi8FD.js → surface-state-D9j6qNu8.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-eiQXwMIc.js → syntactic-prop-specs-BTnsMOvH.js} +1 -1
- package/dist/assets/team-playtest.service-Ds9tkO4q.js +1 -0
- package/dist/assets/{three-authoring-adapter-htbnVej2.js → three-authoring-adapter-BrkGH4cd.js} +1 -1
- package/dist/assets/three-authoring.service-DoamZDMx.js +2 -0
- package/dist/assets/{three-ingest-runtime-B7rtg3QE.js → three-ingest-runtime-CXKjNysA.js} +1 -1
- package/dist/assets/{three-integration-BdN5Nhsg.js → three-integration-CuAnYaTW.js} +2 -2
- package/dist/assets/three-integration.service-Db-VabIm.js +1 -0
- package/dist/assets/{three-TCuY32m_.js → three-oYrcK5SQ.js} +1 -1
- package/dist/assets/{three-projection-core-CG01r5Ta.js → three-projection-core-jBJVt6O0.js} +1 -1
- package/dist/assets/{three-state-DwFE3ay2.js → three-state-wXRU3rLr.js} +1 -1
- package/dist/assets/{three-story-capture.service-CvpV3v5a.js → three-story-capture.service-DMJRcqjr.js} +2 -2
- package/dist/assets/{three-story-model-C2r2BuiA.js → three-story-model-DgiAP-oQ.js} +1 -1
- package/dist/assets/{three-viewport-presentation-B0z_cECu.js → three-viewport-presentation-CgO3eWJ-.js} +1 -1
- package/dist/assets/transform-mode-request-BnKpgRUW.js +1 -0
- package/dist/assets/transport-strip-a9yLoPsI.js +1 -0
- package/dist/assets/transport.header-CpfoppXc.js +1 -0
- package/dist/assets/{tuples-DfWSY2tr.js → tuples-CKsHOV9T.js} +1 -1
- package/dist/assets/ui-board-document-DtTR_mBr.js +2 -0
- package/dist/assets/{user-data-Bpj7diUS.js → user-data-CqOoAowZ.js} +1 -1
- package/dist/assets/{utility-view-state-CAfbFbKQ.js → utility-view-state-Db97zwDz.js} +1 -1
- package/dist/assets/{viewport-door-Bj_ZIP85.js → viewport-door-DVkMQazS.js} +1 -1
- package/dist/assets/{viewport-root-presentation-vgxsTyj4.js → viewport-root-presentation-B35t51xX.js} +1 -1
- package/dist/assets/{viewport-surface-status-cwCiBGa7.js → viewport-surface-status-D5kZtFW5.js} +1 -1
- package/dist/assets/{webworkerAll-Cm3gTjWi.js → webworkerAll-CfKEb4Ao.js} +1 -1
- package/dist/assets/{workspace-arrangement-BdAlBwvd.js → workspace-arrangement-DIMM7ska.js} +1 -1
- package/dist/assets/world-documents-C4t3iOD-.js +1 -0
- package/dist/assets/world-root-stage-binding-ydl3JN1a.js +1 -0
- package/dist/assets/{xstate-animation-binding-BGLxcZT_.js → xstate-animation-binding-aQEmNSpm.js} +1 -1
- package/dist/assets/{xstate-animation-meta-D_T441Ru.js → xstate-animation-meta-CnMX1Sc1.js} +1 -1
- package/dist-node/cli.js +29 -24
- package/dist-node/create.js +14 -9
- package/package.json +18 -16
- package/template/.agents/skills/vgai-music/SKILL.md +28 -4
- package/template/package.json +13 -11
- package/template/src/input.ts +1 -1
- package/template/src/main.ts +74 -3
- package/dist/assets/CanvasBoardDocument-mxL0oJ3N.js +0 -1
- package/dist/assets/CanvasSceneViewport-C_mapCwC.js +0 -1
- package/dist/assets/InspectorObjectPreview-W-y079DS.js +0 -1
- package/dist/assets/ModelAssetDocument-De1HKuxG.js +0 -1
- package/dist/assets/Object3DDocumentToolbar-Cks81kCS.js +0 -1
- package/dist/assets/Object3DDocumentViewport-DCwiSY3O.js +0 -2
- package/dist/assets/OnlineAssetDetail-CNuwSQRQ.js +0 -1
- package/dist/assets/PlayBar-bT8Xdrap.js +0 -1
- package/dist/assets/ReactCanvasControls-CnJrPj-B.js +0 -1
- package/dist/assets/RootSelectionOverlay-CpaGluQu.js +0 -1
- package/dist/assets/ShadowEditor-CVtMlALn.js +0 -1
- package/dist/assets/StageHost-B89HKcvd.js +0 -2
- package/dist/assets/Toolbar-DkTHnQto.js +0 -1
- package/dist/assets/ViewportShadingMenu-CXPi6fl8.js +0 -1
- package/dist/assets/adapter-runtime-bindings-4cmsRvRh.js +0 -2
- package/dist/assets/autoplay.service-CjPnv3QW.js +0 -1
- package/dist/assets/binding-resolver-dE0GnZT5.js +0 -2
- package/dist/assets/blender.keymap-_rF_vRX8.js +0 -1
- package/dist/assets/bridge.command-BF00Iefm.js +0 -3
- package/dist/assets/build-profiles.document-CqNrDdh9.js +0 -2
- package/dist/assets/build-session-GZcSAfPN.js +0 -9
- package/dist/assets/build.header-Bt1kwHWl.js +0 -1
- package/dist/assets/canvas-design-mount-BbLW_Nci.js +0 -6
- package/dist/assets/canvas-entry-runtime-UNYuSfG0.js +0 -2
- package/dist/assets/component-verbs.service-CnA11bJq.js +0 -1
- package/dist/assets/create-runtime-DBfUy0SO.js +0 -3
- package/dist/assets/debug-bridge-D3_-EgRE.js +0 -1
- package/dist/assets/editor-api-BFTIRlWa.js +0 -1
- package/dist/assets/entry-adjudication-Dc18TIqT.js +0 -1
- package/dist/assets/fork-menu-DpKqRhF5.js +0 -1
- package/dist/assets/game-document.service-Chmt4065.js +0 -1
- package/dist/assets/game-eval.command-DRSvOJ_1.js +0 -2
- package/dist/assets/game-network-Ct2FQYmu.js +0 -1
- package/dist/assets/gameplay.command-Boqv1hnc.js +0 -1
- package/dist/assets/generation.service-o9aXlsx4.js +0 -1
- package/dist/assets/index-BHoAKyAC.js +0 -1
- package/dist/assets/ingest-siblings-BtiEXLnh.js +0 -1
- package/dist/assets/instances.command-BwayrqNm.js +0 -1
- package/dist/assets/layered-pick-kiQf53t5.js +0 -1
- package/dist/assets/model-asset-sections.service-CqSclZGY.js +0 -1
- package/dist/assets/module-mode-BH2R93XP.js +0 -2
- package/dist/assets/mount-canvas-ingest-root-D1z9i5B3.js +0 -2
- package/dist/assets/mount-dom-ingest-root-BAmmNxlm.js +0 -2
- package/dist/assets/mount-ingest-root-DYR0TMIt.js +0 -2
- package/dist/assets/mount-manifest-DdkFYdVA.js +0 -1
- package/dist/assets/network-observer.service-Ce83TdsU.js +0 -1
- package/dist/assets/network.utility-DFDul2Xb.js +0 -1
- package/dist/assets/pixi-authoring-adapter-BChknIdC.js +0 -1
- package/dist/assets/play-mode-DICV4cKP.js +0 -22
- package/dist/assets/play.command-NHyi5rzF.js +0 -2
- package/dist/assets/presentation-BeNFBfKg.js +0 -1
- package/dist/assets/r3f-design-session-B5GsZI5M.js +0 -2
- package/dist/assets/react-inspector.service-Bm0OnanU.js +0 -1
- package/dist/assets/run-selection-DzEkGesJ.js +0 -2
- package/dist/assets/stage-overlay-set-BGE03mqb.js +0 -1
- package/dist/assets/stage-transform-tools-BQB7EY4l.js +0 -1
- package/dist/assets/team-playtest.service-hLfjgScx.js +0 -1
- package/dist/assets/three-authoring.service-BIQAtVdX.js +0 -2
- package/dist/assets/three-integration.service-CS8Nvbd2.js +0 -1
- package/dist/assets/transform-mode-request-DzD9aUNA.js +0 -1
- package/dist/assets/transport-strip-CUjNltnb.js +0 -1
- package/dist/assets/transport.header-Bb4FpQ8J.js +0 -1
- package/dist/assets/ui-board-document-CCiiXjX9.js +0 -2
- package/dist/assets/world-documents-DBybpBq8.js +0 -1
- package/dist/assets/world-root-stage-binding-ZVYIgr74.js +0 -1
package/BUNDLED_NOTICES
CHANGED
|
@@ -735,9 +735,9 @@ Public License instead of this License. But first, please read
|
|
|
735
735
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
|
736
736
|
|
|
737
737
|
|
|
738
|
-
@volter/editor-blender@0.1.
|
|
738
|
+
@volter/editor-blender@0.1.11
|
|
739
739
|
Declared license: AGPL-3.0-only AND GPL-3.0-or-later
|
|
740
|
-
Source: the unmodified npm package @volter/editor-blender@0.1.
|
|
740
|
+
Source: the unmodified npm package @volter/editor-blender@0.1.11, from https://github.com/volter-ai/editor.git
|
|
741
741
|
|
|
742
742
|
--- packages/editor-blender/LICENSE ---
|
|
743
743
|
|
|
@@ -2176,9 +2176,9 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
2176
2176
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
2177
2177
|
SOFTWARE.
|
|
2178
2178
|
|
|
2179
|
-
@volter/editor-core@0.5.
|
|
2179
|
+
@volter/editor-core@0.5.68
|
|
2180
2180
|
Declared license: AGPL-3.0-only AND Apache-2.0
|
|
2181
|
-
Source: the unmodified npm package @volter/editor-core@0.5.
|
|
2181
|
+
Source: the unmodified npm package @volter/editor-core@0.5.68, from https://github.com/volter-ai/editor.git
|
|
2182
2182
|
|
|
2183
2183
|
--- packages/editor-core/LICENSE ---
|
|
2184
2184
|
|
|
@@ -3100,9 +3100,9 @@ server/support/ modules transferred from @vgai/sdk are Apache-2.0.
|
|
|
3100
3100
|
Their source paths and hashes are recorded in provenance/editor-server.json.
|
|
3101
3101
|
|
|
3102
3102
|
|
|
3103
|
-
@volter/editor-game@0.5.
|
|
3103
|
+
@volter/editor-game@0.5.68
|
|
3104
3104
|
Declared license: AGPL-3.0-only
|
|
3105
|
-
Source: the unmodified npm package @volter/editor-game@0.5.
|
|
3105
|
+
Source: the unmodified npm package @volter/editor-game@0.5.68, from https://github.com/volter-ai/editor.git
|
|
3106
3106
|
|
|
3107
3107
|
--- packages/editor-game/LICENSE ---
|
|
3108
3108
|
|
|
@@ -3796,9 +3796,9 @@ the Apache-2.0 @vgai/sdk package, and retains that license. It re-exports the
|
|
|
3796
3796
|
Apache-2.0 tool contract of @volter/editor-sdk.
|
|
3797
3797
|
|
|
3798
3798
|
|
|
3799
|
-
@volter/editor-project@0.5.
|
|
3799
|
+
@volter/editor-project@0.5.68
|
|
3800
3800
|
Declared license: Apache-2.0
|
|
3801
|
-
Source: the unmodified npm package @volter/editor-project@0.5.
|
|
3801
|
+
Source: the unmodified npm package @volter/editor-project@0.5.68, from https://github.com/volter-ai/editor.git
|
|
3802
3802
|
|
|
3803
3803
|
--- packages/editor-project/LICENSE ---
|
|
3804
3804
|
|
|
@@ -4006,9 +4006,9 @@ Source: the unmodified npm package @volter/editor-project@0.5.67, from https://g
|
|
|
4006
4006
|
limitations under the License.
|
|
4007
4007
|
|
|
4008
4008
|
|
|
4009
|
-
@volter/editor-react@0.5.
|
|
4009
|
+
@volter/editor-react@0.5.68
|
|
4010
4010
|
Declared license: AGPL-3.0-only
|
|
4011
|
-
Source: the unmodified npm package @volter/editor-react@0.5.
|
|
4011
|
+
Source: the unmodified npm package @volter/editor-react@0.5.68, from https://github.com/volter-ai/editor.git
|
|
4012
4012
|
|
|
4013
4013
|
--- packages/editor-react/LICENSE ---
|
|
4014
4014
|
|
|
@@ -4683,9 +4683,9 @@ The files in this package were imported from volter-ai/vgai-engine at commit
|
|
|
4683
4683
|
09c2749ce. LICENSE contains the AGPL-3.0-only license they retain.
|
|
4684
4684
|
|
|
4685
4685
|
|
|
4686
|
-
@volter/editor-sdk@0.5.
|
|
4686
|
+
@volter/editor-sdk@0.5.68
|
|
4687
4687
|
Declared license: Apache-2.0
|
|
4688
|
-
Source: the unmodified npm package @volter/editor-sdk@0.5.
|
|
4688
|
+
Source: the unmodified npm package @volter/editor-sdk@0.5.68, from https://github.com/volter-ai/editor.git
|
|
4689
4689
|
|
|
4690
4690
|
--- packages/editor-sdk/LICENSE ---
|
|
4691
4691
|
|
|
@@ -4905,9 +4905,9 @@ The project output-root policy is Apache-2.0, transferred from the original
|
|
|
4905
4905
|
SDK; its exact source is recorded in provenance/editor-server.json.
|
|
4906
4906
|
|
|
4907
4907
|
|
|
4908
|
-
@volter/editor-threejs@0.5.
|
|
4908
|
+
@volter/editor-threejs@0.5.68
|
|
4909
4909
|
Declared license: AGPL-3.0-only AND Apache-2.0
|
|
4910
|
-
Source: the unmodified npm package @volter/editor-threejs@0.5.
|
|
4910
|
+
Source: the unmodified npm package @volter/editor-threejs@0.5.68, from https://github.com/volter-ai/editor.git
|
|
4911
4911
|
|
|
4912
4912
|
--- packages/editor-threejs/LICENSE ---
|
|
4913
4913
|
|
|
@@ -5798,9 +5798,9 @@ Source revisions and original file hashes are recorded in the repository's
|
|
|
5798
5798
|
provenance/blender-integration.json and provenance/editor-host.json.
|
|
5799
5799
|
|
|
5800
5800
|
|
|
5801
|
-
@volter/editor-xstate@0.5.
|
|
5801
|
+
@volter/editor-xstate@0.5.68
|
|
5802
5802
|
Declared license: AGPL-3.0-only
|
|
5803
|
-
Source: the unmodified npm package @volter/editor-xstate@0.5.
|
|
5803
|
+
Source: the unmodified npm package @volter/editor-xstate@0.5.68, from https://github.com/volter-ai/editor.git
|
|
5804
5804
|
|
|
5805
5805
|
--- packages/editor-xstate/LICENSE ---
|
|
5806
5806
|
|
|
@@ -6475,9 +6475,9 @@ Copyright 2026 Volter AI, Inc.
|
|
|
6475
6475
|
LICENSE contains the AGPL-3.0-only license this package is distributed under.
|
|
6476
6476
|
|
|
6477
6477
|
|
|
6478
|
-
@volter/game-runtime@0.5.
|
|
6478
|
+
@volter/game-runtime@0.5.68
|
|
6479
6479
|
Declared license: Apache-2.0
|
|
6480
|
-
Source: the unmodified npm package @volter/game-runtime@0.5.
|
|
6480
|
+
Source: the unmodified npm package @volter/game-runtime@0.5.68, from https://github.com/volter-ai/editor.git
|
|
6481
6481
|
|
|
6482
6482
|
--- packages/game-runtime/LICENSE ---
|
|
6483
6483
|
|
|
@@ -6695,9 +6695,9 @@ Apache-2.0 @vgai/game-runtime package. They retain that license; LICENSE
|
|
|
6695
6695
|
contains its text.
|
|
6696
6696
|
|
|
6697
6697
|
|
|
6698
|
-
@volter/threejs-runtime@0.5.
|
|
6698
|
+
@volter/threejs-runtime@0.5.68
|
|
6699
6699
|
Declared license: Apache-2.0
|
|
6700
|
-
Source: the unmodified npm package @volter/threejs-runtime@0.5.
|
|
6700
|
+
Source: the unmodified npm package @volter/threejs-runtime@0.5.68, from https://github.com/volter-ai/editor.git
|
|
6701
6701
|
|
|
6702
6702
|
--- packages/threejs-runtime/LICENSE ---
|
|
6703
6703
|
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"id": "music",
|
|
16
16
|
"packageJson": {
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@volter/dawproject": "0.5.
|
|
19
|
-
"@volter/editor-dawproject": "0.5.
|
|
18
|
+
"@volter/dawproject": "0.5.68",
|
|
19
|
+
"@volter/editor-dawproject": "0.5.68"
|
|
20
20
|
},
|
|
21
21
|
"vgaiTools": [
|
|
22
22
|
"./src/tools/music-render.tool.ts"
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
"vgai-music"
|
|
28
28
|
],
|
|
29
29
|
"title": "Music (rendered pieces)",
|
|
30
|
-
"version": "0.4.
|
|
30
|
+
"version": "0.4.2"
|
|
31
31
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The game's MUSIC, played from a piece's render (`render-piece`'s output folder): the looped
|
|
3
|
-
* mix, a section loop per `<Marker>` (`--sections`), the stems,
|
|
4
|
-
* (`--one-shot`), all through the game's own Web Audio graph.
|
|
3
|
+
* mix, a section loop per `<Marker>` (`--sections`), a loop per launcher `<Scene>`, the stems,
|
|
4
|
+
* and one-shot stingers (`--one-shot`), all through the game's own Web Audio graph.
|
|
5
5
|
*
|
|
6
6
|
* horizontal `queue('Battle')` switches loops on the next bar line of what is playing
|
|
7
7
|
* (`barSeconds` in the report), or at its loop end; the old loop fades out
|
|
@@ -27,6 +27,8 @@ export interface MusicRender {
|
|
|
27
27
|
readonly barSeconds: readonly number[];
|
|
28
28
|
/** A section per marker: `start` is its second in the whole piece, where its loop begins. */
|
|
29
29
|
readonly sections?: readonly { readonly name: string; readonly start: number; readonly seconds: number; readonly file: string; readonly fileM4a?: string }[];
|
|
30
|
+
/** A loop per launcher scene (one state of the music), `bars` whole bars from its own start. */
|
|
31
|
+
readonly scenes?: readonly { readonly name: string; readonly bars: number; readonly seconds: number; readonly file: string; readonly fileM4a?: string }[];
|
|
30
32
|
readonly stems?: { readonly files?: readonly { readonly track: string; readonly file: string; readonly fileM4a?: string }[] };
|
|
31
33
|
}
|
|
32
34
|
|
|
@@ -35,7 +37,7 @@ export interface MusicRender {
|
|
|
35
37
|
* that cannot decode Vorbis (Safari on iOS before 17.4) gets the same loop from its `.m4a`.
|
|
36
38
|
*/
|
|
37
39
|
export async function loadMusic(context: BaseAudioContext, baseUrl: string, render: MusicRender): Promise<Map<string, AudioBuffer>> {
|
|
38
|
-
const entries = [render, ...(render.sections ?? []), ...(render.stems?.files ?? [])];
|
|
40
|
+
const entries = [render, ...(render.sections ?? []), ...(render.scenes ?? []), ...(render.stems?.files ?? [])];
|
|
39
41
|
const base = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
|
|
40
42
|
const decode = async (file: string): Promise<AudioBuffer> => {
|
|
41
43
|
const response = await fetch(new URL(file, base));
|
|
@@ -65,7 +67,7 @@ interface Playing {
|
|
|
65
67
|
export interface MusicPlayer {
|
|
66
68
|
/** The player's output; connect it where the game's music bus is. */
|
|
67
69
|
readonly output: GainNode;
|
|
68
|
-
/** Start a section's loop (by marker name), or the whole piece's with `null`, at `when` (now). */
|
|
70
|
+
/** Start a section's loop (by marker name) or a scene's (by scene name), or the whole piece's with `null`, at `when` (now). */
|
|
69
71
|
play(section: string | null, options?: { stems?: boolean; when?: number }): void;
|
|
70
72
|
/** Switch to another loop at the next bar line, or at the playing loop's end. Returns the context time it switches. */
|
|
71
73
|
queue(section: string | null, options?: { at?: 'bar' | 'end'; fade?: number; stems?: boolean }): number;
|
|
@@ -104,20 +106,24 @@ export function createMusicPlayer(options: {
|
|
|
104
106
|
};
|
|
105
107
|
|
|
106
108
|
const start = (name: string | null, stems: boolean, when: number): Playing => {
|
|
107
|
-
const section = name === null ?
|
|
108
|
-
|
|
109
|
-
if (
|
|
110
|
-
|
|
109
|
+
const section = name === null ? undefined : render.sections?.find((candidate) => candidate.name === name);
|
|
110
|
+
const scene = name === null ? undefined : render.scenes?.find((candidate) => candidate.name === name);
|
|
111
|
+
if (section && scene) throw new Error(`"${name}" names both a section and a scene in this render; rename one of them.`);
|
|
112
|
+
if (name !== null && !section && !scene) {
|
|
113
|
+
throw new Error(`No section or scene "${name}" in this render (sections render with --sections; scenes always render).`);
|
|
114
|
+
}
|
|
115
|
+
if (stems && (section || scene)) throw new Error('Stems are rendered for the whole piece, not per section or scene.');
|
|
116
|
+
const files = stems ? (render.stems?.files ?? []).map((stem) => [stem.track, stem.file] as const) : [[name ?? 'mix', (section ?? scene)?.file ?? render.file] as const];
|
|
111
117
|
if (files.length === 0) throw new Error('This render has no stems.');
|
|
112
118
|
// The loop is the decoded buffer's own length (the context may resample the file); its bar
|
|
113
119
|
// lines are the piece's that fall inside it, from its start. A marker off a downbeat starts a
|
|
114
120
|
// loop mid-bar, and its bar lines are still the piece's.
|
|
115
121
|
const seconds = buffer(files[0]![1]).duration;
|
|
116
122
|
const from = section?.start ?? 0;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
seconds,
|
|
120
|
-
|
|
123
|
+
// A scene's loop is its own: its bar lines divide it evenly, from its start.
|
|
124
|
+
const bars = scene
|
|
125
|
+
? [...Array.from({ length: scene.bars }, (_, bar) => (bar * seconds) / scene.bars), seconds]
|
|
126
|
+
: [...render.barSeconds.map((second) => second - from).filter((second) => second >= -1e-6 && second < seconds - 1e-3), seconds];
|
|
121
127
|
const gain = context.createGain();
|
|
122
128
|
gain.connect(output);
|
|
123
129
|
const sources = new Map<string, { source: AudioBufferSourceNode; gain: GainNode }>();
|