@volter/game-editor 0.5.67 → 0.5.69

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.
Files changed (568) hide show
  1. package/BUNDLED_NOTICES +10954 -5077
  2. package/LICENSE +1 -1
  3. package/LICENSE-BLENDER +2 -2
  4. package/NOTICE +2 -2
  5. package/additions/canvas/package.json +8 -0
  6. package/additions/canvas/src/canvas-mount.ts +46 -0
  7. package/additions/canvas/src/scene2d.tsx +18 -0
  8. package/catalog/entries/bake.json +1 -1
  9. package/catalog/entries/blender.json +3 -3
  10. package/catalog/entries/music.json +6 -6
  11. package/catalog/project-source/LICENSE +1 -1
  12. package/catalog/project-source/src/contributions/bake.kind.ts +2 -2
  13. package/catalog/project-source/src/contributions/builder-document.tsx +1 -1
  14. package/catalog/project-source/src/contributions/builder-ui.tsx +3 -3
  15. package/catalog/project-source/src/contributions/module-source.ts +4 -4
  16. package/catalog/project-source/src/lib/music/music-player.ts +18 -12
  17. package/catalog/project-source/src/lib/reflections/volume-reflection-material.ts +59 -59
  18. package/catalog/project-source/src/lib/static-batch/Frozen.tsx +1 -1
  19. package/catalog/project-source/src/lib/static-batch/mutation-watch.ts +1 -1
  20. package/catalog/project-source/src/tools/bake-preview.tool.ts +9 -9
  21. package/dist/.vite/manifest.json +4106 -3965
  22. package/dist/assets/{AssetBudgetPanel-x_FNJbfZ.js → AssetBudgetPanel-BMR3AQhc.js} +10 -10
  23. package/dist/assets/AudioViewer-DESxi7pU.js +1 -0
  24. package/dist/assets/CanvasBoardDocument-Q_nrYFlB.js +1 -0
  25. package/dist/assets/CanvasSceneViewport-WZMoKy_F.js +1 -0
  26. package/dist/assets/ColorInput-C2EK-OnD.js +1 -0
  27. package/dist/assets/{EntityModelDocument-CzUHsH9E.js → EntityModelDocument-B_4ENTCq.js} +1 -1
  28. package/dist/assets/{EnvironmentAssetDocument-ByEB7_4A.js → EnvironmentAssetDocument-BZBp6OFJ.js} +1 -1
  29. package/dist/assets/{GameplaySessionTimeline-dhG-oiqd.js → GameplaySessionTimeline-1ivaucpv.js} +1 -1
  30. package/dist/assets/ImageViewer-D16OExYu.js +1 -0
  31. package/dist/assets/{InspectorCanvasPreview-CEr_Kxna.js → InspectorCanvasPreview-BrFjhoiD.js} +1 -1
  32. package/dist/assets/InspectorObjectPreview-CY5xVsPR.js +1 -0
  33. package/dist/assets/JsonAssetDocument-CvjTlcdr.js +2 -0
  34. package/dist/assets/{LiveModuleDocument-DL8QHSlk.js → LiveModuleDocument-ne1o9giX.js} +1 -1
  35. package/dist/assets/{LutAssetDocument-BImiug2M.js → LutAssetDocument-Cp0v-O7q.js} +1 -1
  36. package/dist/assets/ModelAssetDocument-Ceu7OIN9.js +1 -0
  37. package/dist/assets/{NonThreeAuthoringBootstrap-B40qmGGS.js → NonThreeAuthoringBootstrap-DiElZf-e.js} +1 -1
  38. package/dist/assets/Object3DDocumentToolbar-BLNamqii.js +1 -0
  39. package/dist/assets/Object3DDocumentViewport-D6QoHfa_.js +2 -0
  40. package/dist/assets/{Object3DPreview-ClYDoH2L.js → Object3DPreview-ZVokr044.js} +1 -1
  41. package/dist/assets/OnlineAssetDetail-Dnckd7zB.js +1 -0
  42. package/dist/assets/PlayBar-DsMitSgy.js +1 -0
  43. package/dist/assets/{QuarksAssetDocument-B-VOj-n4.js → QuarksAssetDocument-B5J8uHFM.js} +1 -1
  44. package/dist/assets/ReactCanvasControls-CmfvxJYY.js +1 -0
  45. package/dist/assets/RootSelectionOverlay-BWsNiSuM.js +1 -0
  46. package/dist/assets/{ShaderAssetDocument-Kn8IvRGV.js → ShaderAssetDocument-CT7XzsZq.js} +5 -5
  47. package/dist/assets/ShadowEditor-YO5KEfnz.js +1 -0
  48. package/dist/assets/{SourceAssetViewer-CLQ95VSD.js → SourceAssetViewer-FSLup2km.js} +1 -1
  49. package/dist/assets/StageHost-DYfGYwvq.js +2 -0
  50. package/dist/assets/{StoryPreviewMount-D2lg37et.js → StoryPreviewMount-BhvT5QlB.js} +1 -1
  51. package/dist/assets/ThreeBoardDocument-B-z2nwnH.js +2 -0
  52. package/dist/assets/{ThreeIsolationSceneContent-DbYIylZQ.js → ThreeIsolationSceneContent-B5pU4Y6k.js} +1 -1
  53. package/dist/assets/{ToolObject3DPreview-WEi6C9uU.js → ToolObject3DPreview-VtraiQ4Q.js} +1 -1
  54. package/dist/assets/Toolbar-M62Gob9T.js +1 -0
  55. package/dist/assets/{TransientHint-BpDLhRLd.js → TransientHint-Cc40mHWE.js} +1 -1
  56. package/dist/assets/VideoViewer-BxcUwXQm.js +1 -0
  57. package/dist/assets/ViewportShadingMenu-BoMPnTVh.js +1 -0
  58. package/dist/assets/active-ingest-0QjJWb7i.js +3 -0
  59. package/dist/assets/{animation-clock-Bm80XdqP.js → animation-clock-BXEwUJtz.js} +1 -1
  60. package/dist/assets/animation-mixers.service-C-Ko4KzM.js +1 -0
  61. package/dist/assets/animation-timeline.utility-Bl15-rYb.js +1 -0
  62. package/dist/assets/{asset-budget-asset.menu-CEgP0Kiw.js → asset-budget-asset.menu-BUa3g0Wy.js} +1 -1
  63. package/dist/assets/{asset-budget.action-D4R1c3wi.js → asset-budget.action-Dl5eVPIo.js} +1 -1
  64. package/dist/assets/{asset-budget.document-Syzjn1U1.js → asset-budget.document-DJylQ-0h.js} +1 -1
  65. package/dist/assets/{asset-budget.menu-BbRiqXeM.js → asset-budget.menu-BJtvNMLj.js} +1 -1
  66. package/dist/assets/asset-editor-persistence-BIbf5u0Q.js +1 -0
  67. package/dist/assets/asset-loaders-DoNflsHL.js +2 -0
  68. package/dist/assets/{asset-preview-B1tDziF1.js → asset-preview-DxlSdRZn.js} +1 -1
  69. package/dist/assets/{audio-unlock.service-ucMfCVBw.js → audio-unlock.service-CTaiyXF9.js} +1 -1
  70. package/dist/assets/audio.utility-CEmNc68t.js +1 -0
  71. package/dist/assets/autoplay.service-BZLSUyL8.js +1 -0
  72. package/dist/assets/{babylon-authoring-adapter-C8mFMXSr.js → babylon-authoring-adapter-BZvV2bz_.js} +1 -1
  73. package/dist/assets/binding-resolver-DGbk9_XR.js +2 -0
  74. package/dist/assets/blender-emscripten-engine-B7lfg-RX.js +2 -0
  75. package/dist/assets/{blender-node-editor.document-C1YmwWls.js → blender-node-editor.document-wXJobGNH.js} +1 -1
  76. package/dist/assets/{blender-properties-tab-B8lyjgj3.js → blender-properties-tab-7GFf80ev.js} +1 -1
  77. package/dist/assets/{blender-runtime-host-CyQlImSR.js → blender-runtime-host-CILxrx5T.js} +2 -2
  78. package/dist/assets/{blender-runtime-skin-BK7ShZ6z.js → blender-runtime-skin-Cd5lQYsC.js} +7 -7
  79. package/dist/assets/{blender-runtime.document-B0nVQs0P.js → blender-runtime.document-C0r_R49S.js} +7 -7
  80. package/dist/assets/{blender-timeline.document-CMcdE2CK.js → blender-timeline.document-BaISZMBc.js} +1 -1
  81. package/dist/assets/{blender-uv-editor.document-CjqNo4sZ.js → blender-uv-editor.document-CT_fsyyA.js} +1 -1
  82. package/dist/assets/blender-version.status-DzEx7u7k.js +1 -0
  83. package/dist/assets/blender-wali-engine-DOiQCBXH.js +2 -0
  84. package/dist/assets/{blender.command-C6NmRBo5.js → blender.command-DdiKd8mZ.js} +1 -1
  85. package/dist/assets/blender.keymap-BmOBRY7p.js +1 -0
  86. package/dist/assets/blender.status-BMETIbb2.js +1 -0
  87. package/dist/assets/board-guides-CjHQ9Ynm.js +1 -0
  88. package/dist/assets/body-marks-C1LxJtQb.js +1 -0
  89. package/dist/assets/bridge.command-DXUeavn5.js +3 -0
  90. package/dist/assets/{browserAll-lF_dLQVz.js → browserAll-Dg46xT22.js} +1 -1
  91. package/dist/assets/build-player.document-BHwVV3K0.js +1 -0
  92. package/dist/assets/build-profiles.document-HkpS-Kxa.js +2 -0
  93. package/dist/assets/build-progress.status-u1J0Rm1D.js +1 -0
  94. package/dist/assets/build-session-BLboUUbw.js +9 -0
  95. package/dist/assets/{build.action-DRX2IcYt.js → build.action-C00DL83N.js} +1 -1
  96. package/dist/assets/{build.command-BGvLaLG0.js → build.command-Cjk_NY75.js} +1 -1
  97. package/dist/assets/build.header-BWNmNWFT.js +1 -0
  98. package/dist/assets/{build.menu-UenrjPWS.js → build.menu-BBYtqCIq.js} +1 -1
  99. package/dist/assets/{build.service-BIUoTY6l.js → build.service-DOU15tKN.js} +1 -1
  100. package/dist/assets/{camera-DrvaM47S.js → camera-7DGyYW7Y.js} +1 -1
  101. package/dist/assets/{camera-runtime.inspector-CjJALNO8.js → camera-runtime.inspector-n-jiOR-3.js} +1 -1
  102. package/dist/assets/canvas-design-mount-CSRHU-ag.js +6 -0
  103. package/dist/assets/canvas-entry-runtime-BST8yRuK.js +2 -0
  104. package/dist/assets/{canvas-preview-frames-C0QTagA3.js → canvas-preview-frames-Cja32aW2.js} +1 -1
  105. package/dist/assets/{canvas-story-capture.service-Dgjr-rT1.js → canvas-story-capture.service-D5R5HJ8n.js} +2 -2
  106. package/dist/assets/capability-coverage-ByWftxk4.js +7 -0
  107. package/dist/assets/{collaboration-presence-BVIQuN1l.js → collaboration-presence-D6MC9xJN.js} +1 -1
  108. package/dist/assets/{collider-C7SbIYKY.js → collider-B78EcUc9.js} +1 -1
  109. package/dist/assets/{component-board.service-BEsFAw4_.js → component-board.service-BaQI5Oas.js} +2 -2
  110. package/dist/assets/component-board.service-CkjrsD8x.js +2 -0
  111. package/dist/assets/{component-board.service-CWFaGMCO.js → component-board.service-Dvjz_g-x.js} +2 -2
  112. package/dist/assets/component-contracts.service-C3-AXQp7.js +1 -0
  113. package/dist/assets/component-instance-root-DLI40MiB.js +1 -0
  114. package/dist/assets/{component-verbs.command-oNtGgzQL.js → component-verbs.command-Brr_WcaR.js} +1 -1
  115. package/dist/assets/component-verbs.service-DC2sC3j3.js +1 -0
  116. package/dist/assets/{config-_wCzzlM_.js → config-BI_7osdR.js} +3 -3
  117. package/dist/assets/{configurations-BXU4GGbV.js → configurations-XP9YLkrt.js} +1 -1
  118. package/dist/assets/connection.status-BhRwcFx0.js +1 -0
  119. package/dist/assets/{constraint-5KLYpGm7.js → constraint-Bp1l8hY-.js} +1 -1
  120. package/dist/assets/constraints.inspector-Dm1cycK3.js +1 -0
  121. package/dist/assets/{content-bounds-BeuIXKYu.js → content-bounds-DROIchTa.js} +1 -1
  122. package/dist/assets/{contract-system-adapters-Bic_7sev.js → contract-system-adapters-Cn7OW_ay.js} +1 -1
  123. package/dist/assets/coverage.service-l42ty7lr.js +3 -0
  124. package/dist/assets/create-runtime-B_uTwsmi.js +3 -0
  125. package/dist/assets/curve-THOUsg-j.js +1 -0
  126. package/dist/assets/{data-asset-DfQ2Pjse.js → data-asset-DAANayR6.js} +1 -1
  127. package/dist/assets/data-check-core-CHqar_E8.js +1 -0
  128. package/dist/assets/data-ref-CN34UeVw.js +1 -0
  129. package/dist/assets/debug-bridge-BD1XVAIB.js +1 -0
  130. package/dist/assets/debug-registry-ggQWxtu-.js +1 -0
  131. package/dist/assets/{deferred-ingest-play-BdR4qGk6.js → deferred-ingest-play-B2JUlwlT.js} +2 -2
  132. package/dist/assets/{design-time-canvas-mount-DPQeHSN2.js → design-time-canvas-mount-as9cN9I6.js} +2 -2
  133. package/dist/assets/design-time-layers-BRseeSmV.js +1 -0
  134. package/dist/assets/{design-time-mount.service-Ks-5Wkcs.js → design-time-mount.service-BTVu3yKo.js} +2 -2
  135. package/dist/assets/{design-time-mount.service-Ca-DZGFV.js → design-time-mount.service-DKvc7lVK.js} +2 -2
  136. package/dist/assets/design-time-react-mount-C7rB56QD.js +1 -0
  137. package/dist/assets/{document-preview-three-DThkjI1S.js → document-preview-three-CxmRhCcV.js} +1 -1
  138. package/dist/assets/{dom-authoring-adapter-BrLU8IJ_.js → dom-authoring-adapter-L8OzXfmE.js} +1 -1
  139. package/dist/assets/{draco3d-B2cwv46o.js → draco3d-BjNuXv66.js} +1 -1
  140. package/dist/assets/{edit-mode-audio.service-D4ITNbsm.js → edit-mode-audio.service-BwI5u845.js} +1 -1
  141. package/dist/assets/edit-mode-authoring-D5f7aHHl.js +1 -0
  142. package/dist/assets/{edit-mode-networking.service-BNv-FTRh.js → edit-mode-networking.service-DqP_4lbI.js} +1 -1
  143. package/dist/assets/editor-api-BM7H_F4G.js +1 -0
  144. package/dist/assets/{editor-layers-BDJnAAzj.js → editor-layers-D-CTUqco.js} +1 -1
  145. package/dist/assets/editor-presentation-activity-CqJH4G9t.js +1 -0
  146. package/dist/assets/{editor-shell-store-ChLcVeNB.js → editor-shell-store-DHVWS8cE.js} +1 -1
  147. package/dist/assets/{entity-object-JmYMfLsx.js → entity-object-MKYemTFM.js} +1 -1
  148. package/dist/assets/{extend-Cc-nEa_A.js → extend-BrgqZiMY.js} +1 -1
  149. package/dist/assets/fork-menu-DE2MK3Nq.js +1 -0
  150. package/dist/assets/{frame-debugger-store-DaCbAYSW.js → frame-debugger-store-BXoLKTdZ.js} +1 -1
  151. package/dist/assets/game-audio-BeCyd0Ha.js +1 -0
  152. package/dist/assets/{game-contract-seams-BnPFGLll.js → game-contract-seams-tyKDsfaP.js} +1 -1
  153. package/dist/assets/{game-css-scope-transform-D_p7cVgW.js → game-css-scope-transform-DcjrwtVc.js} +2 -2
  154. package/dist/assets/game-document.service-CTb2itHQ.js +1 -0
  155. package/dist/assets/game-eval.command-CpDKXOQU.js +2 -0
  156. package/dist/assets/game-module-access-BTInp2NG.js +1 -0
  157. package/dist/assets/game-network-DW5ARz4R.js +22 -0
  158. package/dist/assets/{gameplay-export-BzYzLZPi.js → gameplay-export-cHk3v9y-.js} +1 -1
  159. package/dist/assets/gameplay-replay-HRenPTtU.js +1 -0
  160. package/dist/assets/gameplay.command-DcY2lKKX.js +1 -0
  161. package/dist/assets/generation-CdOATubd.css +1 -0
  162. package/dist/assets/{generation-jobs-BZhOMrp-.js → generation-jobs-CJBehuUp.js} +1 -1
  163. package/dist/assets/generation.service-BMOc-C9i.js +1 -0
  164. package/dist/assets/{generations-DVDht_31.js → generations-ssgVOe_6.js} +1 -1
  165. package/dist/assets/generations.status-B_SmPReI.js +1 -0
  166. package/dist/assets/hierarchy-marks-BuCO8Ke-.js +1 -0
  167. package/dist/assets/hierarchy-marks-CsTaTkc7.js +1 -0
  168. package/dist/assets/hosted-asset-materialization-CiXZI85V.js +2 -0
  169. package/dist/assets/{ibl-override-material-CiKkaOTW.js → ibl-override-material-CMo_a49U.js} +1 -1
  170. package/dist/assets/index-B0S4fQQV.js +1 -0
  171. package/dist/assets/{index-C3Pw-9So.js → index-B9bd4k-t.js} +1 -1
  172. package/dist/assets/index-BMxv2MNV.js +1 -0
  173. package/dist/assets/{index-DUZeuA7g.js → index-Bm4_DmRO.js} +1 -1
  174. package/dist/assets/{index-cNc-iFbq.js → index-BvBlIRwM.js} +1 -1
  175. package/dist/assets/{index-Ck3JFh48.js → index-BweKDdi_.js} +1 -1
  176. package/dist/assets/{index-BRJMIUK0.js → index-C5ZAyrKq.js} +346 -345
  177. package/dist/assets/index-CPiRKiDC.css +1 -0
  178. package/dist/assets/index-CfpGZrbC.js +1 -0
  179. package/dist/assets/index-Czvj6whv.js +1 -0
  180. package/dist/assets/{index-SS9EugVg.js → index-DgPDGGSV.js} +2 -2
  181. package/dist/assets/{inference-diagnostics-xecGdohW.js → inference-diagnostics-DLt9ql9I.js} +1 -1
  182. package/dist/assets/{ingest-boot-viewport-DAt8WFSy.js → ingest-boot-viewport-BXVXjYpG.js} +1 -1
  183. package/dist/assets/ingest-siblings-DWJ7OGB_.js +1 -0
  184. package/dist/assets/ingest-source-persistence-6ShMoSCa.js +1 -0
  185. package/dist/assets/ingest.service-BBbX8ibg.js +1 -0
  186. package/dist/assets/{inspect-Dr4qvDpJ.js → inspect-Cz3Zyx_1.js} +1 -1
  187. package/dist/assets/inspection-D8fZOHCM.js +1 -0
  188. package/dist/assets/instances.command-BrdlngrL.js +1 -0
  189. package/dist/assets/{json-history-resource-DwS10tqD.js → json-history-resource-Uqrihfc8.js} +1 -1
  190. package/dist/assets/layered-pick-CAVQMPI7.js +1 -0
  191. package/dist/assets/{light-DcFqVCmv.js → light-CqzsCWeJ.js} +1 -1
  192. package/dist/assets/{live-project-verbs-C3LzprCe.js → live-project-verbs-CdFmLYOo.js} +1 -1
  193. package/dist/assets/{machine.document-BzZxubYQ.js → machine.document-DRIFOVaa.js} +1 -1
  194. package/dist/assets/{machines.finder-BR02bfVG.js → machines.finder-DPCT6few.js} +1 -1
  195. package/dist/assets/material-BVApn1V_.js +1 -0
  196. package/dist/assets/{material-factory-COz7qZhC.js → material-factory-B_75xxFD.js} +1 -1
  197. package/dist/assets/{mesh-DcmO-mWI.js → mesh-DdA3mExo.js} +1 -1
  198. package/dist/assets/model-asset-sections-D1uxOu2v.css +1 -0
  199. package/dist/assets/model-asset-sections.service-CJnSIckZ.js +1 -0
  200. package/dist/assets/{model-inspection-CXHxrafK.js → model-inspection-DvspbmJl.js} +1 -1
  201. package/dist/assets/{model-thumbnail-BEKPWg4l.js → model-thumbnail-BmQs-h6t.js} +1 -1
  202. package/dist/assets/{models.finder-c1I0tp2M.js → models.finder-Qv_Hsccy.js} +1 -1
  203. package/dist/assets/module-mode-MJ4Gbsry.js +2 -0
  204. package/dist/assets/mount-canvas-ingest-root-BxtM8OaB.js +2 -0
  205. package/dist/assets/mount-dom-ingest-root-pGatqO46.js +2 -0
  206. package/dist/assets/mount-ingest-root-C7jb-mCl.js +2 -0
  207. package/dist/assets/mount-manifest-BfoHBuzn.js +1 -0
  208. package/dist/assets/mount-readiness-DyAd17pe.js +4 -0
  209. package/dist/assets/mount-three-ingest-root-Boa5mcaF.js +1 -0
  210. package/dist/assets/{mounted-authoring-Clftxx0x.js → mounted-authoring-DxMISwvR.js} +1 -1
  211. package/dist/assets/{mounted-story-viewport-source-B4-eAYGI.js → mounted-story-viewport-source-DfnLxI1f.js} +1 -1
  212. package/dist/assets/{native-debug-module-2_HVupdg.js → native-debug-module-BlrALjM3.js} +1 -1
  213. package/dist/assets/{navigation-CH3-zr1n.js → navigation-CqG5o5AR.js} +1 -1
  214. package/dist/assets/{navmesh.menu-Dfi-Pk-8.js → navmesh.menu-D4TdVDhe.js} +1 -1
  215. package/dist/assets/{navmesh.service-Cz7QFY-M.js → navmesh.service-DWKT5ruQ.js} +1 -1
  216. package/dist/assets/network-observer.service-ZRAquNq4.js +1 -0
  217. package/dist/assets/network.utility-DjeOEvAY.js +1 -0
  218. package/dist/assets/object-marks-BnvSuCTt.js +1 -0
  219. package/dist/assets/{object3d-authoring-subject-BDrxd1GA.js → object3d-authoring-subject-XccsO0xG.js} +1 -1
  220. package/dist/assets/{object3d-document-session-registry-DJDEDM0p.js → object3d-document-session-registry-CMRJdFp6.js} +2 -2
  221. package/dist/assets/{oid-transform-D5Kxt6ij.js → oid-transform-DaA6yW6o.js} +1 -1
  222. package/dist/assets/{particles-vRp0Lf3o.js → particles-DsQRcDBY.js} +1 -1
  223. package/dist/assets/{performance-profiler-OwnXQX0M.js → performance-profiler-CMbwGBuk.js} +1 -1
  224. package/dist/assets/pixi-authoring-adapter-BoBt8bB5.js +1 -0
  225. package/dist/assets/pixi-live-write-target-CYZgvC6U.js +1 -0
  226. package/dist/assets/play.command-D9JGJP-e.js +2 -0
  227. package/dist/assets/pose-guard-CLabLSzf.js +1 -0
  228. package/dist/assets/presentation-COhHQdmR.js +1 -0
  229. package/dist/assets/{product-CxmUIxmr.js → product-CaRGoiIH.js} +1 -1
  230. package/dist/assets/{profiler.action-Dzy9DuAc.js → profiler.action-Cz7HYWjh.js} +1 -1
  231. package/dist/assets/{profiler.menu-jLDO3U6N.js → profiler.menu-D5aR_FBy.js} +1 -1
  232. package/dist/assets/profiler.utility-KwxlIPKb.js +1 -0
  233. package/dist/assets/{project-authoring-session-C3eusefK.js → project-authoring-session-DKXHVwxO.js} +2 -2
  234. package/dist/assets/project-provenance-BGnJXJwa.js +1 -0
  235. package/dist/assets/{properties-bone-constraints.inspector-B_PbSMV7.js → properties-bone-constraints.inspector-Bo-sU8eR.js} +1 -1
  236. package/dist/assets/{properties-bone.inspector-CMDEQuBd.js → properties-bone.inspector-BQiWplQv.js} +1 -1
  237. package/dist/assets/{properties-collection.inspector-D7Ay8yRj.js → properties-collection.inspector-C5BnR-GE.js} +1 -1
  238. package/dist/assets/{properties-constraints.inspector-DS1fZgXK.js → properties-constraints.inspector-CyheU12R.js} +1 -1
  239. package/dist/assets/{properties-data.inspector-k2pGN2Mp.js → properties-data.inspector-CkycARja.js} +1 -1
  240. package/dist/assets/{properties-material.inspector-Bb3yAGUx.js → properties-material.inspector-Bl_PUmY-.js} +1 -1
  241. package/dist/assets/{properties-modifiers.inspector-BcJfe-Wy.js → properties-modifiers.inspector-j7SnOxQq.js} +1 -1
  242. package/dist/assets/{properties-object.inspector-CUSfXJuq.js → properties-object.inspector-DcR3MGLK.js} +1 -1
  243. package/dist/assets/{properties-output.inspector-BTVW2kn1.js → properties-output.inspector-BLjw6K4b.js} +1 -1
  244. package/dist/assets/{properties-particles.inspector-Cw0fxx3B.js → properties-particles.inspector-BUIm2-Jf.js} +1 -1
  245. package/dist/assets/{properties-physics.inspector-C-0bD2bu.js → properties-physics.inspector-DNvRcxb6.js} +1 -1
  246. package/dist/assets/{properties-render.inspector-C8D5UpjX.js → properties-render.inspector-8FMZ-qoZ.js} +1 -1
  247. package/dist/assets/{properties-scene.inspector-HjK6QHGg.js → properties-scene.inspector-Dx7_z75k.js} +1 -1
  248. package/dist/assets/{properties-texture.inspector-CckZgUaI.js → properties-texture.inspector-WT15951-.js} +1 -1
  249. package/dist/assets/{properties-view-layer.inspector-C1ajtVSk.js → properties-view-layer.inspector-P7VNTdqr.js} +1 -1
  250. package/dist/assets/{properties-world.inspector-BiT_EdT-.js → properties-world.inspector-B3t1q8TF.js} +1 -1
  251. package/dist/assets/r3f-design-session-lsbFnoWH.js +2 -0
  252. package/dist/assets/{r3f-physics-binding-DzrbpqjM.js → r3f-physics-binding-Cx8yhuwt.js} +1 -1
  253. package/dist/assets/{r3f-source-authoring-adapter-DbbeRcvt.js → r3f-source-authoring-adapter-jH3G0TeH.js} +2 -2
  254. package/dist/assets/react-canvas-navigation-B_gOe3CI.js +1 -0
  255. package/dist/assets/react-inspector.service-CZf1vfdX.js +1 -0
  256. package/dist/assets/react-story-board-CCm2Opwn.js +1 -0
  257. package/dist/assets/{react-three-rapier.esm-U8J7g6tH.js → react-three-rapier.esm-CHXGG51p.js} +1 -1
  258. package/dist/assets/react-world-authoring-adapter-CnzxMtYz.js +1 -0
  259. package/dist/assets/{realm-services-CnY105XU.js → realm-services-Do9J6nsb.js} +1 -1
  260. package/dist/assets/reflection-probe-capture.inspector-BAjjIybz.js +1 -0
  261. package/dist/assets/{reflection-probe-BHNGwVyz.js → reflection-probe-sIto9mh0.js} +1 -1
  262. package/dist/assets/registry-Xnduk02T.js +1 -0
  263. package/dist/assets/{relative-import-specifier-BFKIWEWs.js → relative-import-specifier-CPFTrxi4.js} +1 -1
  264. package/dist/assets/{render-env-BkKZ4uMA.js → render-env-YJlI8K0i.js} +1 -1
  265. package/dist/assets/{render-features-rxbawsRb.js → render-features-DMSV2qKJ.js} +1 -1
  266. package/dist/assets/{render-settings-DS5leCed.js → render-settings-CRyDhHyz.js} +1 -1
  267. package/dist/assets/{resolve-three-CVnMRHxw.js → resolve-three-D27rMc37.js} +19 -19
  268. package/dist/assets/root-seam-contract-gjWUd5uu.js +1 -0
  269. package/dist/assets/run-selection-B0jOdyYt.js +2 -0
  270. package/dist/assets/scene-capture-Di9cM1p4.js +1 -0
  271. package/dist/assets/scene-document.service-XxGs4HHE.js +2 -0
  272. package/dist/assets/{scene-framing-BQt72ZCw.js → scene-framing-DkZKDwH3.js} +1 -1
  273. package/dist/assets/{scene-index--lRWLEmW.js → scene-index-DHeKmalD.js} +1 -1
  274. package/dist/assets/{scene-query-s1y04OVB.js → scene-query-ByZtXA2m.js} +1 -1
  275. package/dist/assets/seeded-random-BJthDRMu.js +1 -0
  276. package/dist/assets/{session-CTXsU1lK.js → session-x8E_NJk2.js} +34 -34
  277. package/dist/assets/{setup-renderer-Cwkl1Ar6.js → setup-renderer-F9mG7t6r.js} +1 -1
  278. package/dist/assets/{source-object3d-authoring-adapter-DF679Ncb.js → source-object3d-authoring-adapter-CvmFpSUj.js} +1 -1
  279. package/dist/assets/{source-persistence-backend-CwLYVPXj.js → source-persistence-backend-au3WtEn6.js} +1 -1
  280. package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js} +1 -1
  281. package/dist/assets/{stage-keyboard-B8BEW592.js → stage-keyboard-BQkndG_D.js} +1 -1
  282. package/dist/assets/stage-overlay-set-g6eWhuRv.js +1 -0
  283. package/dist/assets/stage-presence-markers-0CDfO5f4.js +1 -0
  284. package/dist/assets/stage-transform-tools-BzPl7OIo.js +1 -0
  285. package/dist/assets/standard-viewport-dressing-BW-dM_1h.js +24 -0
  286. package/dist/assets/{state-watch.action-DnR5Zjr-.js → state-watch.action-Z1nQ5awu.js} +1 -1
  287. package/dist/assets/{state-watch.menu-wYLCLsAw.js → state-watch.menu-CQHGUF3W.js} +1 -1
  288. package/dist/assets/state-watch.utility-DCIg2i79.js +1 -0
  289. package/dist/assets/{story-capture-BmnwHGDV.js → story-capture-BIrjDKeY.js} +1 -1
  290. package/dist/assets/story-documents-BvG2xeaR.js +3 -0
  291. package/dist/assets/{story-documents.service-B6v7Z-WE.js → story-documents.service-DOSEa3ja.js} +1 -1
  292. package/dist/assets/{story-documents.service-yagl1wGp.js → story-documents.service-y1m7XGMJ.js} +1 -1
  293. package/dist/assets/{story-media-presence-BqRMu572.js → story-media-presence-HLV-KaMj.js} +1 -1
  294. package/dist/assets/{story-pixi-preview-Da6afqLg.js → story-pixi-preview-CMhho2gG.js} +1 -1
  295. package/dist/assets/{story-presentation-DMSYRWaz.js → story-presentation-CYhVv8Ku.js} +1 -1
  296. package/dist/assets/story-three-preview-CgcLF5lE.js +2 -0
  297. package/dist/assets/{structural-ids-Br2zjINh.js → structural-ids-BOo2BRoY.js} +1 -1
  298. package/dist/assets/studio-environment-R9qXUUcC.js +2 -0
  299. package/dist/assets/{surface-state-1lTOi8FD.js → surface-state-D8Qnowo6.js} +1 -1
  300. package/dist/assets/{syntactic-prop-specs-eiQXwMIc.js → syntactic-prop-specs-8gkBuc5j.js} +1 -1
  301. package/dist/assets/team-playtest.service-BBMZ2iyk.js +1 -0
  302. package/dist/assets/{three-TCuY32m_.js → three-DiL6vMXq.js} +1 -1
  303. package/dist/assets/three-authoring-adapter-CkLR2zGf.js +1 -0
  304. package/dist/assets/three-authoring.service-CovhlCGx.js +2 -0
  305. package/dist/assets/{three-ingest-runtime-B7rtg3QE.js → three-ingest-runtime-CwTqAHgX.js} +1 -1
  306. package/dist/assets/{three-integration-BdN5Nhsg.js → three-integration-DXOFI88n.js} +2 -2
  307. package/dist/assets/three-integration.service-rCAqpqSp.js +1 -0
  308. package/dist/assets/three-projection-core-B7Lf8tOp.js +1 -0
  309. package/dist/assets/{three-state-DwFE3ay2.js → three-state-BCACvUtm.js} +1 -1
  310. package/dist/assets/{three-story-capture.service-CvpV3v5a.js → three-story-capture.service-rTFKNtHA.js} +2 -2
  311. package/dist/assets/{three-story-model-C2r2BuiA.js → three-story-model-BjKr7OMn.js} +1 -1
  312. package/dist/assets/three-viewport-presentation-CBzvc2v2.js +141 -0
  313. package/dist/assets/tools-DfctM216.js +1 -0
  314. package/dist/assets/transform-mode-request-DlEApNrA.js +1 -0
  315. package/dist/assets/transport-strip-xCg94CuI.js +1 -0
  316. package/dist/assets/transport.header-BRtdky0x.js +1 -0
  317. package/dist/assets/{trigger-volume-DP0G1VBe.js → trigger-volume-BLkHmfm9.js} +1 -1
  318. package/dist/assets/tuples-BDz3wbQL.js +1 -0
  319. package/dist/assets/ui-board-document-DvbK_HVN.js +2 -0
  320. package/dist/assets/{user-data-Bpj7diUS.js → user-data-C84W0V47.js} +1 -1
  321. package/dist/assets/user-data-CODoGZqA.js +1 -0
  322. package/dist/assets/{utility-view-state-CAfbFbKQ.js → utility-view-state-CDRxZSo-.js} +1 -1
  323. package/dist/assets/viewport-door-BARIpMu-.js +1 -0
  324. package/dist/assets/{viewport-root-presentation-vgxsTyj4.js → viewport-root-presentation-hRLF0BeO.js} +1 -1
  325. package/dist/assets/{viewport-surface-status-cwCiBGa7.js → viewport-surface-status-TUfhXKR9.js} +1 -1
  326. package/dist/assets/{webworkerAll-Cm3gTjWi.js → webworkerAll-PJtcQ1FD.js} +1 -1
  327. package/dist/assets/worker-BtXrsgFy.js +2 -0
  328. package/dist/assets/workspace-arrangement-DqG5sUns.js +1 -0
  329. package/dist/assets/world-documents-D69XaqUX.js +1 -0
  330. package/dist/assets/world-root-stage-binding-BgZWZEuD.js +1 -0
  331. package/dist/assets/{xstate-animation-binding-BGLxcZT_.js → xstate-animation-binding-CIyLzGHs.js} +1 -1
  332. package/dist/assets/{xstate-animation-meta-D_T441Ru.js → xstate-animation-meta-CbYWup3R.js} +1 -1
  333. package/dist/volter-shared-react.json +10 -0
  334. package/dist/volter-shared-three.json +3 -0
  335. package/dist-node/cli.js +253 -210
  336. package/dist-node/create.js +103 -82
  337. package/package.json +23 -20
  338. package/src/contributions.d.ts +1 -1
  339. package/src/index.ts +10 -10
  340. package/starter/cube.py +1 -1
  341. package/template/.agents/references/project-manual.md +17 -17
  342. package/template/.agents/skills/editor/SKILL.md +6 -6
  343. package/template/.agents/skills/editor/agents/openai.yaml +3 -3
  344. package/template/.agents/skills/editor/references/editor-control.md +62 -62
  345. package/template/{.claude/skills/vgai-3d-models → .agents/skills/volter-3d-models}/SKILL.md +3 -3
  346. package/template/{.github/skills/vgai-ingest-existing-game → .agents/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  347. package/template/.agents/skills/{vgai-music → volter-music}/SKILL.md +35 -11
  348. package/template/{.claude/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/SKILL.md +9 -9
  349. package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  350. package/template/{.github/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  351. package/template/.claude/skills/editor/SKILL.md +6 -6
  352. package/template/.claude/skills/editor/agents/openai.yaml +3 -3
  353. package/template/.claude/skills/editor/references/editor-control.md +62 -62
  354. package/template/{.agents/skills/vgai-3d-models → .claude/skills/volter-3d-models}/SKILL.md +3 -3
  355. package/template/{.agents/skills/vgai-ingest-existing-game → .claude/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  356. package/template/{.github/skills/vgai-threejs-authoring → .claude/skills/volter-threejs-authoring}/SKILL.md +9 -9
  357. package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  358. package/template/.claude/skills/{vgai-threejs-authoring → volter-threejs-authoring}/references/helper-catalog.md +1 -1
  359. package/template/.github/copilot-instructions.md +1 -1
  360. package/template/.github/skills/editor/SKILL.md +6 -6
  361. package/template/.github/skills/editor/agents/openai.yaml +3 -3
  362. package/template/.github/skills/editor/references/editor-control.md +62 -62
  363. package/template/.github/skills/{vgai-3d-models → volter-3d-models}/SKILL.md +3 -3
  364. package/template/{.claude/skills/vgai-ingest-existing-game → .github/skills/volter-ingest-existing-game}/SKILL.md +2 -2
  365. package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/SKILL.md +9 -9
  366. package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  367. package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  368. package/template/.mcp.json +3 -3
  369. package/template/AGENTS.md +24 -23
  370. package/template/DEVLOG.md +1 -1
  371. package/template/IDIOMS.md +3 -3
  372. package/template/LICENSE +3 -3
  373. package/template/README.md +12 -12
  374. package/template/check-idioms.ts +51 -51
  375. package/template/manifest-entry-modules-plugin.ts +17 -4
  376. package/template/package.json +12 -12
  377. package/template/server/loopback.ts +1 -1
  378. package/template/server/main.ts +4 -4
  379. package/template/server/rooms/arena-room.ts +8 -8
  380. package/template/server/rooms/game-room.ts +8 -8
  381. package/template/server/rooms.ts +2 -2
  382. package/template/src/bot/QaTester.tsx +1 -1
  383. package/template/src/bot/bot-station.ts +2 -2
  384. package/template/src/bot/tester-station.ts +1 -1
  385. package/template/src/contributions/README.md +1 -1
  386. package/template/src/contributions/analytics.analytics.tsx +1 -1
  387. package/template/src/contributions/data.document.tsx +2 -2
  388. package/template/src/contributions/pages.finder.ts +1 -1
  389. package/template/src/contributions/tester.inspector.tsx +2 -2
  390. package/template/src/contributions/use-game-modules.ts +1 -1
  391. package/template/src/input.ts +2 -2
  392. package/template/src/lib/reflections/volume-reflection-material.ts +59 -59
  393. package/template/src/lib/static-batch/Frozen.tsx +1 -1
  394. package/template/src/lib/static-batch/mutation-watch.ts +1 -1
  395. package/template/src/main.ts +58 -6
  396. package/template/src/manifest-entry-modules.d.ts +12 -1
  397. package/template/src/prefabs/HeroBox.stories.tsx +1 -1
  398. package/template/src/world.tsx +1 -1
  399. package/template/tsconfig.json +1 -1
  400. package/template/validate-manifest.ts +3 -3
  401. package/template/vite.config.ts +11 -11
  402. package/template/{vgai.adapter.ts → volter.adapter.ts} +1 -1
  403. package/template/{vgai.project.json → volter.project.json} +2 -2
  404. package/template-dotfiles/gitignore +27 -27
  405. package/workbench/src/media/game-cover.css +11 -11
  406. package/workbench/src/product.contribution.ts +28 -28
  407. package/workbench/src/{vgaiGameSkew.ts → volterGameSkew.ts} +16 -16
  408. package/dist/assets/AudioViewer-BDPqHDfU.js +0 -1
  409. package/dist/assets/CanvasBoardDocument-mxL0oJ3N.js +0 -1
  410. package/dist/assets/CanvasSceneViewport-C_mapCwC.js +0 -1
  411. package/dist/assets/ColorInput-QUPS1pEB.js +0 -1
  412. package/dist/assets/ImageViewer-tlVvkdM4.js +0 -1
  413. package/dist/assets/InspectorObjectPreview-W-y079DS.js +0 -1
  414. package/dist/assets/JsonAssetDocument-CPmcWFPW.js +0 -2
  415. package/dist/assets/ModelAssetDocument-De1HKuxG.js +0 -1
  416. package/dist/assets/Object3DDocumentToolbar-Cks81kCS.js +0 -1
  417. package/dist/assets/Object3DDocumentViewport-DCwiSY3O.js +0 -2
  418. package/dist/assets/OnlineAssetDetail-CNuwSQRQ.js +0 -1
  419. package/dist/assets/PlayBar-bT8Xdrap.js +0 -1
  420. package/dist/assets/ReactCanvasControls-CnJrPj-B.js +0 -1
  421. package/dist/assets/RootSelectionOverlay-CpaGluQu.js +0 -1
  422. package/dist/assets/ShadowEditor-CVtMlALn.js +0 -1
  423. package/dist/assets/StageHost-B89HKcvd.js +0 -2
  424. package/dist/assets/ThreeBoardDocument-BAgHrbtu.js +0 -2
  425. package/dist/assets/Toolbar-DkTHnQto.js +0 -1
  426. package/dist/assets/VideoViewer-DMV8lf4P.js +0 -1
  427. package/dist/assets/ViewportShadingMenu-CXPi6fl8.js +0 -1
  428. package/dist/assets/active-ingest-DA426a81.js +0 -3
  429. package/dist/assets/adapter-runtime-bindings-4cmsRvRh.js +0 -2
  430. package/dist/assets/animation-mixers.service-DK64IuYq.js +0 -1
  431. package/dist/assets/animation-timeline.utility-D-g0zrOl.js +0 -1
  432. package/dist/assets/asset-editor-persistence-BGWIqZdk.js +0 -1
  433. package/dist/assets/asset-loaders-C0KQI5eY.js +0 -2
  434. package/dist/assets/audio.utility-BmE9WMUg.js +0 -1
  435. package/dist/assets/autoplay.service-CjPnv3QW.js +0 -1
  436. package/dist/assets/binding-resolver-dE0GnZT5.js +0 -2
  437. package/dist/assets/blender-emscripten-engine-BeWFjMn-.js +0 -2
  438. package/dist/assets/blender-version.status-OsFoc9SA.js +0 -1
  439. package/dist/assets/blender-wali-engine-da698rDf.js +0 -2
  440. package/dist/assets/blender.keymap-_rF_vRX8.js +0 -1
  441. package/dist/assets/blender.status-ujwGU6dU.js +0 -1
  442. package/dist/assets/board-guides-BEKPgD9M.js +0 -1
  443. package/dist/assets/body-marks-RKb_LTwL.js +0 -1
  444. package/dist/assets/bridge.command-BF00Iefm.js +0 -3
  445. package/dist/assets/build-profiles.document-CqNrDdh9.js +0 -2
  446. package/dist/assets/build-progress.status-Bo1ZgJcb.js +0 -1
  447. package/dist/assets/build-session-GZcSAfPN.js +0 -9
  448. package/dist/assets/build.header-Bt1kwHWl.js +0 -1
  449. package/dist/assets/canvas-design-mount-BbLW_Nci.js +0 -6
  450. package/dist/assets/canvas-entry-runtime-UNYuSfG0.js +0 -2
  451. package/dist/assets/capability-coverage-DZ-onC5j.js +0 -7
  452. package/dist/assets/component-board.service-q_TM9BCw.js +0 -2
  453. package/dist/assets/component-contracts.service-CPbfXE1h.js +0 -1
  454. package/dist/assets/component-instance-root-B0C5oNEm.js +0 -1
  455. package/dist/assets/component-verbs.service-CnA11bJq.js +0 -1
  456. package/dist/assets/connection.status-Yvt0bX0r.js +0 -1
  457. package/dist/assets/constraints.inspector-4r8jWq5a.js +0 -1
  458. package/dist/assets/coverage.service-DcpEoBuf.js +0 -3
  459. package/dist/assets/create-runtime-DBfUy0SO.js +0 -3
  460. package/dist/assets/curve-DVd18iAX.js +0 -1
  461. package/dist/assets/data-check-core-CQEjuFyt.js +0 -1
  462. package/dist/assets/data-ref-CWnkj-HX.js +0 -1
  463. package/dist/assets/debug-bridge-D3_-EgRE.js +0 -1
  464. package/dist/assets/debug-registry-P0_YQGWd.js +0 -1
  465. package/dist/assets/design-time-layers-ChswRUJt.js +0 -1
  466. package/dist/assets/design-time-react-mount-C85KfXOd.js +0 -1
  467. package/dist/assets/edit-mode-authoring-DeCxPcHM.js +0 -1
  468. package/dist/assets/editor-api-BFTIRlWa.js +0 -1
  469. package/dist/assets/editor-presentation-activity-C7SNSmTd.js +0 -1
  470. package/dist/assets/entry-adjudication-Dc18TIqT.js +0 -1
  471. package/dist/assets/fork-menu-DpKqRhF5.js +0 -1
  472. package/dist/assets/game-audio-CaGKzia4.js +0 -1
  473. package/dist/assets/game-document.service-Chmt4065.js +0 -1
  474. package/dist/assets/game-eval.command-DRSvOJ_1.js +0 -2
  475. package/dist/assets/game-module-access-o3iXZpCA.js +0 -1
  476. package/dist/assets/game-network-Ct2FQYmu.js +0 -1
  477. package/dist/assets/gameplay-replay-BwdxV4oF.js +0 -1
  478. package/dist/assets/gameplay.command-Boqv1hnc.js +0 -1
  479. package/dist/assets/generation-DhwCUHPf.css +0 -1
  480. package/dist/assets/generation.service-o9aXlsx4.js +0 -1
  481. package/dist/assets/generations.status-BvzgHlyk.js +0 -1
  482. package/dist/assets/hierarchy-marks-BLPfSIym.js +0 -1
  483. package/dist/assets/hierarchy-marks-Cc_3lxw6.js +0 -1
  484. package/dist/assets/hosted-asset-materialization-BpbnhJac.js +0 -2
  485. package/dist/assets/index-0Lm0Nf1M.css +0 -1
  486. package/dist/assets/index-BHoAKyAC.js +0 -1
  487. package/dist/assets/index-BeK4RPgj.js +0 -1
  488. package/dist/assets/index-C1c3eOmm.js +0 -1
  489. package/dist/assets/index.module-Ycad3DJq.js +0 -1
  490. package/dist/assets/ingest-siblings-BtiEXLnh.js +0 -1
  491. package/dist/assets/ingest-source-persistence-Dmdo-UBp.js +0 -1
  492. package/dist/assets/ingest.service-vbCucMz7.js +0 -1
  493. package/dist/assets/inspection-CObLhnrs.js +0 -1
  494. package/dist/assets/instances.command-BwayrqNm.js +0 -1
  495. package/dist/assets/layered-pick-kiQf53t5.js +0 -1
  496. package/dist/assets/material-B_V78pTt.js +0 -1
  497. package/dist/assets/model-asset-sections-CFvvihfx.css +0 -1
  498. package/dist/assets/model-asset-sections.service-CqSclZGY.js +0 -1
  499. package/dist/assets/module-mode-BH2R93XP.js +0 -2
  500. package/dist/assets/mount-canvas-ingest-root-D1z9i5B3.js +0 -2
  501. package/dist/assets/mount-dom-ingest-root-BAmmNxlm.js +0 -2
  502. package/dist/assets/mount-ingest-root-DYR0TMIt.js +0 -2
  503. package/dist/assets/mount-manifest-DdkFYdVA.js +0 -1
  504. package/dist/assets/mount-readiness-Ds0HvvLH.js +0 -4
  505. package/dist/assets/mount-three-ingest-root-DVbACDUy.js +0 -1
  506. package/dist/assets/network-observer.service-Ce83TdsU.js +0 -1
  507. package/dist/assets/network.utility-DFDul2Xb.js +0 -1
  508. package/dist/assets/object-marks-DwvIEBOK.js +0 -1
  509. package/dist/assets/pixi-authoring-adapter-BChknIdC.js +0 -1
  510. package/dist/assets/pixi-live-write-target-BjDsBQbp.js +0 -1
  511. package/dist/assets/play-mode-DICV4cKP.js +0 -22
  512. package/dist/assets/play.command-NHyi5rzF.js +0 -2
  513. package/dist/assets/pose-guard-DILO6gGq.js +0 -1
  514. package/dist/assets/presentation-BeNFBfKg.js +0 -1
  515. package/dist/assets/profiler.utility-Do2Bw7MY.js +0 -1
  516. package/dist/assets/project-provenance-4ldz-EOG.js +0 -1
  517. package/dist/assets/r3f-design-session-B5GsZI5M.js +0 -2
  518. package/dist/assets/react-canvas-navigation-Cp3cOHJa.js +0 -1
  519. package/dist/assets/react-inspector.service-Bm0OnanU.js +0 -1
  520. package/dist/assets/react-story-board-GaXqr03H.js +0 -1
  521. package/dist/assets/react-world-authoring-adapter-DOjv2pYm.js +0 -1
  522. package/dist/assets/reflection-probe-capture.inspector-DqSW9p1v.js +0 -1
  523. package/dist/assets/registry-CaCdF63N.js +0 -1
  524. package/dist/assets/root-seam-contract-CxLZaRio.js +0 -1
  525. package/dist/assets/run-selection-DzEkGesJ.js +0 -2
  526. package/dist/assets/scene-capture-0a-bTjT8.js +0 -1
  527. package/dist/assets/scene-document.service-CeDwVA7t.js +0 -2
  528. package/dist/assets/seeded-random-BgCwIAAU.js +0 -1
  529. package/dist/assets/stage-overlay-set-BGE03mqb.js +0 -1
  530. package/dist/assets/stage-presence-markers-DIP7YMcO.js +0 -1
  531. package/dist/assets/stage-transform-tools-BQB7EY4l.js +0 -1
  532. package/dist/assets/standard-viewport-dressing-BCA51Tum.js +0 -24
  533. package/dist/assets/state-watch.utility-CFG1Tu1m.js +0 -1
  534. package/dist/assets/story-documents-BTo90DiA.js +0 -3
  535. package/dist/assets/story-three-preview-R1JvrggS.js +0 -2
  536. package/dist/assets/studio-environment-DRxxq_QX.js +0 -2
  537. package/dist/assets/team-playtest.service-hLfjgScx.js +0 -1
  538. package/dist/assets/three-authoring-adapter-htbnVej2.js +0 -1
  539. package/dist/assets/three-authoring.service-BIQAtVdX.js +0 -2
  540. package/dist/assets/three-integration.service-CS8Nvbd2.js +0 -1
  541. package/dist/assets/three-projection-core-CG01r5Ta.js +0 -1
  542. package/dist/assets/three-viewport-presentation-B0z_cECu.js +0 -141
  543. package/dist/assets/tools-B_NJsk05.js +0 -1
  544. package/dist/assets/transform-mode-request-DzD9aUNA.js +0 -1
  545. package/dist/assets/transport-strip-CUjNltnb.js +0 -1
  546. package/dist/assets/transport.header-Bb4FpQ8J.js +0 -1
  547. package/dist/assets/tuples-DfWSY2tr.js +0 -1
  548. package/dist/assets/ui-board-document-CCiiXjX9.js +0 -2
  549. package/dist/assets/user-data-dHvLdpwM.js +0 -1
  550. package/dist/assets/viewport-door-Bj_ZIP85.js +0 -1
  551. package/dist/assets/worker-CC9Ug5Ei.js +0 -2
  552. package/dist/assets/workspace-arrangement-BdAlBwvd.js +0 -1
  553. package/dist/assets/world-documents-DBybpBq8.js +0 -1
  554. package/dist/assets/world-root-stage-binding-ZVYIgr74.js +0 -1
  555. package/dist/vgai-shared-react.json +0 -10
  556. package/dist/vgai-shared-three.json +0 -3
  557. package/template/.agents/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  558. package/template/.claude/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  559. package/template/.github/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  560. /package/dist/assets/{vgai-shared-fontawesome-CU65D4Ij.js → volter-shared-fontawesome-CU65D4Ij.js} +0 -0
  561. /package/dist/assets/{vgai-shared-jsx-dev-runtime-DFDKL7fx.js → volter-shared-jsx-dev-runtime-DFDKL7fx.js} +0 -0
  562. /package/dist/assets/{vgai-shared-jsx-runtime-DIqBpTut.js → volter-shared-jsx-runtime-DIqBpTut.js} +0 -0
  563. /package/dist/assets/{vgai-shared-react-BT7rMc2H.js → volter-shared-react-BT7rMc2H.js} +0 -0
  564. /package/dist/assets/{vgai-shared-react-dom-DFajMqMT.js → volter-shared-react-dom-DFajMqMT.js} +0 -0
  565. /package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → volter-shared-react-dom-client-S0ozfl6_.js} +0 -0
  566. /package/dist/assets/{vgai-shared-three-DH4yxKwt.js → volter-shared-three-DH4yxKwt.js} +0 -0
  567. /package/template/{.vgai → .volter}/assets.json +0 -0
  568. /package/template/{.vgai → .volter}/provenance.json +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vgai-music
2
+ name: volter-music
3
3
  description: Compose this game's music as code the person edits with you in the editor's DAW, render it to seamless OGG loops, section loops, stems and stingers, and play them in the game. Use when asked to write, arrange, revise or deliver music or a stinger.
4
4
  ---
5
5
 
@@ -13,10 +13,10 @@ gesture they make rewrites the literal it touched in this same file.
13
13
 
14
14
  ## Set up once
15
15
 
16
- 1. `npm run --silent vgai -- add music`: adds `@volter/dawproject` (the elements) and
16
+ 1. `npm run --silent volter -- add music`: adds `@volter/dawproject` (the elements) and
17
17
  `@volter/editor-dawproject` (the document, the renderer, the checks), copies
18
18
  `src/lib/music/music-player.ts` and the render tool, and selects the piece finder in
19
- `vgai.adapter.ts` (`documents.find`: `{ finder: 'piecesFromModules', include:
19
+ `volter.adapter.ts` (`documents.find`: `{ finder: 'piecesFromModules', include:
20
20
  ['src/music/**/*.tsx'] }`), so every piece under `src/music/` opens as a document. When the
21
21
  adapter is not a literal `defineAdapter({ … })` table it cannot edit, it says so and prints
22
22
  the selection to add by hand.
@@ -71,7 +71,29 @@ export default function Theme() {
71
71
  stage; `role="submix"` makes a GROUP: the `<Track>`s written inside that `<Track>` sum into its
72
72
  strip (its devices, sends, fader, pan) instead of the master, and a solo on it solos them all. Devices on any channel, in order: `equalizer` (`bands: [{ type, freq, gain, q }]`,
73
73
  types `highPass lowPass lowShelf highShelf bell`), `compressor` (`threshold ratio attack
74
- release knee makeup`), `limiter` (`ceiling release`), `convolution` (`ir predelay wet`).
74
+ release knee makeup`, and `sidechain: "<track>"` to compress on another track's signal, as a pad
75
+ ducks under the melody), `limiter` (`ceiling release`), `convolution` (`ir predelay wet`).
76
+ - Movement: `<Lfo target="volume" shape="sine" period="w" depth={3} />` in a `<Channel>` swings
77
+ its volume ±3 dB once a bar (`target` `volume`, `pan` or `send:<bus>`; `shape` `sine triangle
78
+ square saw`; `period` a note value or beats, so it follows the tempo; `phase` 0–1), adding to
79
+ the written value or to the track's lane for that target. The DAWproject export writes it out
80
+ as automation points.
81
+ - Scenes: `<Scene name="Combat">` (a `<Project>` child, after the tracks) holds a
82
+ `<ClipSlot track="Bass"><Clip bars={1}>…</Clip></ClipSlot>` per track that plays in it. A slot's
83
+ clip has no `at`; its notes count from its own start as bar 1 (`at="1:2.5"`), and it loops. A
84
+ scene is one state of the game's music (explore, combat, calm): launched, each of its tracks
85
+ loops its clip from the next bar and every other track stops. The piece still needs its
86
+ arrangement; the scenes render beside it.
87
+ - A recording: a clip holding `<Audio file="audio/take.wav" offset={0.5} gain={-6} />` instead of
88
+ notes plays that WAV (a path from the project folder) from `offset` seconds into it, at `gain`
89
+ dB, for the clip's `bars`; its track needs no instrument device. `check-piece` names a file
90
+ that is not there, and the DAWproject export embeds each recording.
91
+ - A clip may hold several recordings of one part: `<Audio file take="1" />`, `<Audio file
92
+ take="2" />`, … (a looped audio recording writes one per pass); the newest plays, and
93
+ `<Comp take="1" at="5:3" />` plays take 1 from 5:3 on. Leave a person's comp as they set it.
94
+ - A take a person records (Rec in the transport) arrives as notes at their played timing,
95
+ 480 ticks a beat (`at="3:2.097917"`, `dur="0.8375"`), in the clip that holds it or a new
96
+ `<Clip name="take">`; quantize it only if they ask.
75
97
  - Code that generates notes spells them with `formatAt(beats, beatsPerBar)` and
76
98
  `formatPitch(midi)` from `@volter/dawproject`.
77
99
 
@@ -159,7 +181,8 @@ Literal `<Note>`s are WRITTEN: the person drags, adds, deletes and reshapes them
159
181
  Use code for material that follows a rule (a pad over the chord table), literals for what a
160
182
  person will shape (melodies, bass lines). When they want to shape generated material, the clip
161
183
  editor's Freeze writes it out, or run
162
- `npx tsx node_modules/@volter/editor-dawproject/scripts/freeze-clip.ts src/music/<piece>.tsx --track <name> --clip <n>`.
184
+ `npx tsx node_modules/@volter/editor-dawproject/scripts/freeze-clip.ts src/music/<piece>.tsx --track <name> --clip <n>`
185
+ (`--scene <name>` instead of `--clip` for that track's launcher slot in a scene).
163
186
 
164
187
  Before rewriting a section, read what the person changed (`git diff`, `git log -p`): change
165
188
  only what you were asked to, and leave their edits where they put them.
@@ -202,11 +225,11 @@ Say what the numbers show; never claim how something sounds.
202
225
 
203
226
  The game ships the piece as mastered audio, never as its code. Render it with the project's
204
227
  render tool, which writes into `public/music/<piece>/` and records every file it writes in
205
- `.vgai/provenance.json`:
228
+ `.volter/provenance.json`:
206
229
 
207
230
  ```bash
208
- npm run --silent vgai -- eval 'return await tools.run("project.music.render", { piece: "src/music/theme.tsx", sections: true }, { confirm: true })'
209
- npm run --silent vgai -- eval 'return await tools.run("project.music.render", { piece: "src/music/victory.tsx", oneShot: true }, { confirm: true })'
231
+ npm run --silent volter -- eval 'return await tools.run("project.music.render", { piece: "src/music/theme.tsx", sections: true }, { confirm: true })'
232
+ npm run --silent volter -- eval 'return await tools.run("project.music.render", { piece: "src/music/victory.tsx", oneShot: true }, { confirm: true })'
210
233
  ```
211
234
 
212
235
  The answer's `data.report` is the render's `report.json`. For a draft you only want to measure,
@@ -215,10 +238,11 @@ renders the same files outside `public/`, unrecorded.
215
238
 
216
239
  - The folder gets the whole piece as a seamless loop (`theme.ogg`; `theme.wav` carries a
217
240
  `smpl` loop), `sections/<marker>.ogg` with `--sections` (each section its own seamless loop,
218
- at the whole mix's level), `stems/<track>.ogg`, and `report.json`. Every `.ogg` has an `.m4a`
241
+ at the whole mix's level), `scenes/<scene>.ogg` for every `<Scene>` (its loop as long as its
242
+ clips take to come round together, at the same level), `stems/<track>.ogg`, and `report.json`. Every `.ogg` has an `.m4a`
219
243
  (AAC) beside it for browsers that cannot decode Vorbis; `loadMusic` falls back to it.
220
244
  - The same piece renders to the same bytes every time, so an unchanged piece re-rendered leaves
221
- `.vgai/provenance.json` unchanged.
245
+ `.volter/provenance.json` unchanged.
222
246
  - `--one-shot` is a stinger: one pass and its reverb tail, no loop.
223
247
  - Loudness defaults to −18 LUFS integrated (`--target portable`); `--target console` is −24.
224
248
  The true peak stays under −1 dBTP.
@@ -234,7 +258,7 @@ import { createMusicPlayer, loadMusic } from './lib/music/music-player';
234
258
  const render = await (await fetch('/music/theme/report.json')).json();
235
259
  const buffers = await loadMusic(context, '/music/theme/', render);
236
260
  const music = createMusicPlayer({ context, destination: musicBus, render, buffers });
237
- music.play('Explore'); // a section's loop, by its marker
261
+ music.play('Explore'); // a section's loop, by its marker, or a scene's, by its name
238
262
  music.queue('Battle'); // switch on the next bar line; the old loop fades out
239
263
  music.stinger(victory, 'bar'); // a one-shot (rendered with --one-shot) on the next bar line
240
264
  ```
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: vgai-threejs-authoring
3
- description: Build, rig, animate, diagnose, and visually refine polished native Three.js scenes and procedural assets with direct Object3D code, reusable construction helpers, geometry libraries, and an inspect-render-critique loop. Use for procedural models, rigid mechanical armatures, environments, static props, stylized materials, lighting, cameras, scene composition, or an agent-focused Blender-like workflow. Use vgai-3d-models when the result should be a Blender source document with an exported GLB. Do not use for Blender bpy work or imported skeletal retargeting.
2
+ name: volter-threejs-authoring
3
+ description: Build, rig, animate, diagnose, and visually refine polished native Three.js scenes and procedural assets with direct Object3D code, reusable construction helpers, geometry libraries, and an inspect-render-critique loop. Use for procedural models, rigid mechanical armatures, environments, static props, stylized materials, lighting, cameras, scene composition, or an agent-focused Blender-like workflow. Use volter-3d-models when the result should be a Blender source document with an exported GLB. Do not use for Blender bpy work or imported skeletal retargeting.
4
4
  ---
5
5
 
6
- # VGAI Three.js Authoring
6
+ # VOLTER Three.js Authoring
7
7
 
8
8
  Author ordinary project source against Three.js. Treat the source module and
9
9
  live `Object3D` graph as truth. Use helpers for leverage, not as a replacement
@@ -14,7 +14,7 @@ scene language.
14
14
  1. Read the project instructions and architecture.
15
15
  2. Locate the Three root or modeling build entry, existing helpers,
16
16
  renderer setup, and verification commands.
17
- 3. Start or reuse the VGAI editor immediately and keep it open.
17
+ 3. Start or reuse the VOLTER editor immediately and keep it open.
18
18
  4. Capture a fixed-camera visual baseline.
19
19
  5. Inspect the live hierarchy, selected-object facts, renderer state, and
20
20
  console before changing code.
@@ -23,7 +23,7 @@ Never introduce a parallel entity tree, semantic operation log, generated
23
23
  scene JSON, or wrapper around ordinary Three.js access for agent control. Give
24
24
  important objects stable `Object3D.name` values or project metadata.
25
25
 
26
- Use `vgai-3d-models` for Blender-sourced assets; prefab placement, stories and the
26
+ Use `volter-3d-models` for Blender-sourced assets; prefab placement, stories and the
27
27
  naming floor are in `.agents/references/project-manual.md`.
28
28
 
29
29
  ## Choose the lowest sufficient layer
@@ -67,7 +67,7 @@ Use raw Three.js whenever a helper becomes awkward.
67
67
  Keep shader source in ordinary `.vert`, `.frag`, or `.glsl` files and bind it
68
68
  with `THREE.ShaderMaterial` directly. A sibling `name.vert.glsl` +
69
69
  `name.frag.glsl` pair is the portable convention Asset Lab recognizes; it is
70
- not a VGAI format. Keep authored uniform defaults, defines, textures, and
70
+ not a VOLTER format. Keep authored uniform defaults, defines, textures, and
71
71
  material composition beside the owning material in TS/TSX, where the runtime
72
72
  actually reads them. Never add a `.shader.json`, uniform sidecar, or generated
73
73
  shader graph to duplicate those facts.
@@ -86,7 +86,7 @@ postprocessing, or the game's actual texture bindings.
86
86
  ## Compose postprocessing directly
87
87
 
88
88
  When a game needs postprocessing, add `@react-three/postprocessing` to that
89
- project and import its components directly. Do not create a VGAI chain file,
89
+ project and import its components directly. Do not create a VOLTER chain file,
90
90
  effect registry, wrapper component, or JSON descriptor. The owning scene's JSX
91
91
  is already the ordered chain; conditionally render one effect to bypass it and
92
92
  move its JSX child to reorder it. Keep the finishing order restrained: render,
@@ -267,12 +267,12 @@ is `npx volter-game-editor screenshot`, and the module lane is the asset loop:
267
267
  the camera. The corollary is a real blind spot: an asset lane auto-frames
268
268
  its subject, so it can NEVER show you a wrong origin, a floating contact
269
269
  plane, or a scale that disagrees with the world. Only a scene shot can —
270
- `npx volter-game-editor screenshot` with no target (play mode, whole stack) or `vgai
270
+ `npx volter-game-editor screenshot` with no target (play mode, whole stack) or `volter-game-editor
271
271
  screenshot <entityId>` (one entity where it stands, under the scene's own
272
272
  lighting).
273
273
 
274
274
  > Engine-repo aside — not for game projects. When you are working inside the
275
- > vgai engine checkout itself (no game project, no editor session), the
275
+ > volter engine checkout itself (no game project, no editor session), the
276
276
  > equivalent is `node packages/engine/e2e/turntable/capture.mjs <subject>`,
277
277
  > run from the checkout root; it boots and tears down its own server. Point
278
278
  > it at your own builder with `capture.mjs file --module
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "VOLTER Three.js Authoring"
3
+ short_description: "Build polished native Three.js scenes and assets"
4
+ default_prompt: "Use $volter-threejs-authoring to build and visually refine native Three.js source without introducing a parallel scene model."
@@ -5,7 +5,7 @@ small project helper, or a specialist geometry library.
5
5
 
6
6
  **MODELING IS BLENDER'S.** A model is a `.blend`, authored in the real Blender
7
7
  running headless in the editor tab, and a game loads the GLB it exports. Reach
8
- for `vgai-3d-models` (bpy through the Blender MCP).
8
+ for `volter-3d-models` (bpy through the Blender MCP).
9
9
 
10
10
  **Add a capability before you look for its source.** Everything under
11
11
  `src/lib/` below is a CAPABILITY, not scaffold contents — a fresh project has
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  name: editor
3
- description: Launch, control, inspect, and verify a VGAI game through its live visual editor. Use for editor sessions, Play mode, selection, hierarchy or inspector work, screenshots, status, logs, restart after setup changes, or the live playtest loop.
3
+ description: Launch, control, inspect, and verify a VOLTER game through its live visual editor. Use for editor sessions, Play mode, selection, hierarchy or inspector work, screenshots, status, logs, restart after setup changes, or the live playtest loop.
4
4
  ---
5
5
 
6
- # Control the VGAI editor
6
+ # Control the VOLTER editor
7
7
 
8
8
  ## Open the observable session
9
9
 
10
10
  1. Run `npm run dev` from the game project. Let it auto-open unless the run is
11
11
  genuinely unattended CI.
12
12
  2. Tell the user the printed editor URL and keep the process running.
13
- 3. Run `npm run --silent vgai -- status`; require `connected: true` before treating the
13
+ 3. Run `npm run --silent volter -- status`; require `connected: true` before treating the
14
14
  response as live state. A running server without a browser tab only has a
15
15
  cached snapshot.
16
16
  4. Use Play mode for user-visible game runs. The standalone page
@@ -18,8 +18,8 @@ description: Launch, control, inspect, and verify a VGAI game through its live v
18
18
  exported it refuses to mount, so the editor is the one surface for a game
19
19
  in development.
20
20
 
21
- Always invoke the scaffold-pinned CLI as `npm run --silent vgai -- <verb>`. Never use
22
- a bare global `vgai` command, which may come from a different checkout.
21
+ Always invoke the scaffold-pinned CLI as `npm run --silent volter -- <verb>`. Never use
22
+ a bare global `volter` command, which may come from a different checkout.
23
23
 
24
24
  ## Verify the loop
25
25
 
@@ -38,7 +38,7 @@ a bare global `vgai` command, which may come from a different checkout.
38
38
  - Read persisted Play logs and visible pixels as well as state. Screenshots
39
39
  must make the result being claimed legible.
40
40
  - **Every `npx volter-game-editor play` records video automatically** — the ack prints the
41
- recording path (`.vgai/recordings/play-latest.webm`, replaced by the next
41
+ recording path (`.volter/recordings/play-latest.webm`, replaced by the next
42
42
  play; `npx volter-game-editor play --record <name>` keeps a clip forever), play auto-stops
43
43
  after 2 idle minutes, and stopping finalizes the WebM. A claim about
44
44
  MOTION (an effect, an animation, a stutter, anything that lives between
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "Control the VGAI Editor"
3
- short_description: "Operate and inspect the live VGAI editor"
4
- default_prompt: "Use $editor to open, control, inspect, and verify this game in the VGAI editor."
2
+ display_name: "Control the VOLTER Editor"
3
+ short_description: "Operate and inspect the live VOLTER editor"
4
+ default_prompt: "Use $editor to open, control, inspect, and verify this game in the VOLTER editor."
@@ -4,14 +4,14 @@
4
4
 
5
5
  - [CLI invocation](#cli-invocation--use-the-project-local-cli)
6
6
  - [Quick start](#quick-start)
7
- - [Connection precondition](#precondition-most-verbs-need-a-connected-browser-tab-not-just-vgai-edit-running)
8
- - [**Drive the running game — `npx volter-game-editor eval`**](#drive-the-running-game--vgai-eval-the-general-door)
7
+ - [Connection precondition](#precondition-most-verbs-need-a-connected-browser-tab-not-just-volter-edit-running)
8
+ - [**Drive the running game — `npx volter-game-editor eval`**](#drive-the-running-game--volter-eval-the-general-door)
9
9
  - [CLI reference](#cli-reference)
10
10
  - [Entity IDs](#entity-ids)
11
11
  - [Typical workflows](#typical-workflows)
12
12
  - [SDK](#sdk-programmatic-access)
13
13
 
14
- Use the `vgai` CLI to create projects, launch the editor, and control it programmatically. The editor is a browser-based WebGL app; the CLI sends commands to it over HTTP.
14
+ Use the `volter` CLI to create projects, launch the editor, and control it programmatically. The editor is a browser-based WebGL app; the CLI sends commands to it over HTTP.
15
15
 
16
16
  **Driving a running GAME is a different question from driving the editor**, and
17
17
  it has one answer: `npx volter-game-editor eval`. Read that section before the verb list — the
@@ -19,31 +19,31 @@ verbs cover the editor, and a game's own commands are never verbs.
19
19
 
20
20
  ## CLI invocation — use the project-local CLI
21
21
 
22
- Inside this scaffold, invoke every CLI verb as `npm run --silent vgai -- <verb>`. The
22
+ Inside this scaffold, invoke every CLI verb as `npm run --silent volter -- <verb>`. The
23
23
  script points at the versioned `@volter/game-editor` installed with this project. Never
24
- use a bare global `vgai` command here: another installation can own that binary
24
+ use a bare global `volter` command here: another installation can own that binary
25
25
  and can silently target the wrong session or apply different manifest rules.
26
26
 
27
27
  ## Quick Start
28
28
 
29
29
  ```bash
30
- npm run --silent vgai -- create "My Game" # Scaffold a new project in ./my-game
30
+ npm run --silent volter -- create "My Game" # Scaffold a new project in ./my-game
31
31
  cd my-game
32
- npm run --silent vgai -- edit . # Launch editor + open browser
33
- npm run --silent vgai -- play # Enter play mode
34
- npm run --silent vgai -- restart # Remount all game roots — acks only when the session is READY
32
+ npm run --silent volter -- edit . # Launch editor + open browser
33
+ npm run --silent volter -- play # Enter play mode
34
+ npm run --silent volter -- restart # Remount all game roots — acks only when the session is READY
35
35
  # again (relay up, tab attached, play measured running); exits
36
36
  # non-zero naming the gap otherwise. No sleep-then-play dance.
37
- npm run --silent vgai -- status # Check editor state
38
- npm run --silent vgai -- eval --list # Everything you can drive — ask this FIRST
37
+ npm run --silent volter -- status # Check editor state
38
+ npm run --silent volter -- eval --list # Everything you can drive — ask this FIRST
39
39
  ```
40
40
 
41
41
  **Port cross-talk:** the default editor port (5173) is shared across every
42
- VGAI project on the machine. `npm run --silent vgai -- edit .` never silently retargets a
42
+ VOLTER project on the machine. `npm run --silent volter -- edit .` never silently retargets a
43
43
  DIFFERENT project's already-running editor — if one is already open
44
44
  elsewhere, this one starts a second instance on a fresh free port and prints
45
45
  that URL instead (use `--switch` to retarget the existing one on purpose).
46
- If you might have another vgai project's tab open in the browser already,
46
+ If you might have another volter-game-editor project's tab open in the browser already,
47
47
  don't assume it's this project: read the URL `npx volter-game-editor edit` actually prints
48
48
  (check `npx volter-game-editor sessions` to see every live session's port → project), or pass
49
49
  `npx volter-game-editor edit --port <n>` to pin an explicit port for this project so a stale
@@ -74,7 +74,7 @@ one legitimate case is a fully unattended CI job that then drives the
74
74
  editor itself, e.g. via Playwright:
75
75
 
76
76
  ```bash
77
- npm run --silent vgai -- edit . --no-open # ONLY when no human could be watching (e.g. CI)
77
+ npm run --silent volter -- edit . --no-open # ONLY when no human could be watching (e.g. CI)
78
78
  ```
79
79
 
80
80
  ```ts
@@ -85,7 +85,7 @@ npm run --silent vgai -- edit . --no-open # ONLY when no human could be watching
85
85
  await page.goto('http://localhost:5173', { waitUntil: 'load' });
86
86
  ```
87
87
 
88
- Once that page has loaded, it registers as a connected client and `vgai
88
+ Once that page has loaded, it registers as a connected client and `volter-game-editor
89
89
  status`/`npx volter-game-editor play`/etc. from another shell will reach it for real.
90
90
 
91
91
  ## Drive the running game — `npx volter-game-editor eval`, the general door
@@ -97,12 +97,12 @@ is no command registry, provider registry, or fixed game vocabulary to learn.
97
97
  `{ editor, game, page, tools, session }` from `@volter/game-live` already in scope:
98
98
 
99
99
  ```bash
100
- npm run --silent vgai -- eval --list # what's in scope (no session needed)
101
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const arena = await modules("src/sim/arena.ts"); return arena.readArena(); })'
102
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const arena = await modules("src/sim/arena.ts"); arena.setupBossWave(); return arena.readArena(); })'
103
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("sweep"); })'
104
- npm run --silent vgai -- eval 'await game.waitSimTime({simSeconds: 4})'
105
- npm run --silent vgai -- eval 'await editor.grid(false)' # the editor half, same door
100
+ npm run --silent volter -- eval --list # what's in scope (no session needed)
101
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const arena = await modules("src/sim/arena.ts"); return arena.readArena(); })'
102
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const arena = await modules("src/sim/arena.ts"); arena.setupBossWave(); return arena.readArena(); })'
103
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("sweep"); })'
104
+ npm run --silent volter -- eval 'await game.waitSimTime({simSeconds: 4})'
105
+ npm run --silent volter -- eval 'await editor.grid(false)' # the editor half, same door
106
106
  ```
107
107
 
108
108
  `--list` walks the live binding objects themselves rather than a written list,
@@ -112,7 +112,7 @@ template's `src/tools/use-game-modules.ts` shows how a literal contribution
112
112
  reads the exact same running instances.
113
113
 
114
114
  **NEVER pilot a realtime game from the developer REPL, with synthetic key
115
- events, rAF loops, wall-clock sleeps, or direct `window.__vgai*`/scene-graph
115
+ events, rAF loops, wall-clock sleeps, or direct `window.__volter*`/scene-graph
116
116
  reads.** Arrange expensive preconditions with exported setup functions, then
117
117
  hire the resident tester to act through the game's real input store.
118
118
  `waitSimTime` advances deterministically even while the editor tab is HIDDEN.
@@ -137,9 +137,9 @@ providers every other tool reads.
137
137
  ### Project Management (no running editor needed)
138
138
 
139
139
  ```bash
140
- npm run --silent vgai -- create <name> [location] # Empty project (default location: ./<name>)
141
- npm run --silent vgai -- create <name> [location] --template game # Game composition; also empty, website, models
142
- npm run --silent vgai -- edit [project-path] # Launch editor for project (default: cwd).
140
+ npm run --silent volter -- create <name> [location] # Empty project (default location: ./<name>)
141
+ npm run --silent volter -- create <name> [location] --template game # Game composition; also empty, website, models
142
+ npm run --silent volter -- edit [project-path] # Launch editor for project (default: cwd).
143
143
  # Reuses the session already serving THIS
144
144
  # project; otherwise starts a NEW instance on
145
145
  # a free port rather than silently retargeting
@@ -148,15 +148,15 @@ npm run --silent vgai -- edit [project-path] # Launch editor for project
148
148
  # --switch retarget an existing instance
149
149
  # instead of starting a new one
150
150
  # --port <n> force a port for a fresh instance
151
- npm run --silent vgai -- sessions # List live editor sessions (port -> project)
151
+ npm run --silent volter -- sessions # List live editor sessions (port -> project)
152
152
  ```
153
153
 
154
154
  ### Scene & Project Info (needs running editor)
155
155
 
156
156
  ```bash
157
- npm run --silent vgai -- open <path> # Switch project in running editor
158
- npm run --silent vgai -- project # Show current project info
159
- npm run --silent vgai -- projects # List recent projects
157
+ npm run --silent volter -- open <path> # Switch project in running editor
158
+ npm run --silent volter -- project # Show current project info
159
+ npm run --silent volter -- projects # List recent projects
160
160
  ```
161
161
 
162
162
  `open` / `project` / `projects` stay first-class for a concrete reason: project
@@ -166,11 +166,11 @@ management lives on `EditorClient` and was never lifted onto `@volter/editor-liv
166
166
  ### Play Control
167
167
 
168
168
  ```bash
169
- npm run --silent vgai -- play # Enter play mode
170
- npm run --silent vgai -- restart # Dispose + remount every game root — waits out a relaunching dev
169
+ npm run --silent volter -- play # Enter play mode
170
+ npm run --silent volter -- restart # Dispose + remount every game root — waits out a relaunching dev
171
171
  # server, re-ensures the one tab, and acks only once play is
172
172
  # measured running (a failure names the next step)
173
- npm run --silent vgai -- stop # Exit play mode
173
+ npm run --silent volter -- stop # Exit play mode
174
174
  ```
175
175
 
176
176
  `pause` / `resume` / `step` were REMOVED — `npx volter-game-editor eval 'editor.pause()'`,
@@ -191,16 +191,16 @@ exposes, so they were deleted rather than kept as aliases. Typing one now
191
191
  errors with its exact replacement:
192
192
 
193
193
  ```bash
194
- npm run --silent vgai -- eval 'editor.select("<entityId>")' # or "all"
195
- npm run --silent vgai -- eval 'editor.deselect()'
196
- npm run --silent vgai -- eval 'editor.focus("<entityId>")' # omit arg = current selection
197
- npm run --silent vgai -- eval 'editor.view("top")' # top|front|right|perspective
198
- npm run --silent vgai -- eval 'editor.showPanel("inspector")' # viewport|inspector|console|build
199
- npm run --silent vgai -- eval 'editor.openAsset("<path>", "<kind>")'
200
- npm run --silent vgai -- eval 'editor.grid(false)'
201
- npm run --silent vgai -- eval 'editor.helpers(true)'
202
- npm run --silent vgai -- eval 'editor.stats(true)'
203
- npm run --silent vgai -- eval 'editor.shading("wireframe")' # solid|unlit|wireframe|normals|overdraw
194
+ npm run --silent volter -- eval 'editor.select("<entityId>")' # or "all"
195
+ npm run --silent volter -- eval 'editor.deselect()'
196
+ npm run --silent volter -- eval 'editor.focus("<entityId>")' # omit arg = current selection
197
+ npm run --silent volter -- eval 'editor.view("top")' # top|front|right|perspective
198
+ npm run --silent volter -- eval 'editor.showPanel("inspector")' # viewport|inspector|console|build
199
+ npm run --silent volter -- eval 'editor.openAsset("<path>", "<kind>")'
200
+ npm run --silent volter -- eval 'editor.grid(false)'
201
+ npm run --silent volter -- eval 'editor.helpers(true)'
202
+ npm run --silent volter -- eval 'editor.stats(true)'
203
+ npm run --silent volter -- eval 'editor.shading("wireframe")' # solid|unlit|wireframe|normals|overdraw
204
204
  ```
205
205
 
206
206
  The advantage is not brevity — it is that one door composes. Selecting an
@@ -208,7 +208,7 @@ entity, framing it, and capturing the result is a single round trip instead of
208
208
  four processes:
209
209
 
210
210
  ```bash
211
- npm run --silent vgai -- eval 'await editor.select(id); await editor.focus(); await editor.shading("wireframe"); return editor.screenshot()'
211
+ npm run --silent volter -- eval 'await editor.select(id); await editor.focus(); await editor.shading("wireframe"); return editor.screenshot()'
212
212
  ```
213
213
 
214
214
  Shading is temporary, render-only editor state: it never rewrites scene or
@@ -222,7 +222,7 @@ bounds toggles; use `setHelperType()` through the SDK when you need one category
222
222
  ### State
223
223
 
224
224
  ```bash
225
- npm run --silent vgai -- status # Print full editor state as JSON
225
+ npm run --silent volter -- status # Print full editor state as JSON
226
226
  ```
227
227
 
228
228
  The `status` command returns:
@@ -240,9 +240,9 @@ The `status` command returns:
240
240
  ### Verification — the LIVE playtest, in as many seats as it needs
241
241
 
242
242
  ```bash
243
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); mechanic.<setup>(); return mechanic.<read>(); })'
244
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("<goal>"); })'
245
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.describeTester(); })'
243
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); mechanic.<setup>(); return mechanic.<read>(); })'
244
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("<goal>"); })'
245
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.describeTester(); })'
246
246
  ```
247
247
 
248
248
  Verification IS the interactive playtest: cheats set the situation, the
@@ -270,7 +270,7 @@ functions, which is exactly why the door is general.
270
270
 
271
271
  ```bash
272
272
  --url <url> # Editor URL (default: http://localhost:5173)
273
- # Also: VGAI_EDITOR_URL env var
273
+ # Also: VOLTER_EDITOR_URL env var
274
274
  ```
275
275
 
276
276
  ## Entity IDs
@@ -278,7 +278,7 @@ functions, which is exactly why the door is general.
278
278
  Entity ids are minted by the active authoring adapter (a three world's are
279
279
  keyed on the OID its source carries — stable across reloads). To find one:
280
280
 
281
- 1. `npm run --silent vgai -- eval 'return editor.hierarchy()'` — the hierarchy panel's
281
+ 1. `npm run --silent volter -- eval 'return editor.hierarchy()'` — the hierarchy panel's
282
282
  rows as data, each with its `id` and label
283
283
  2. Use that id with `editor.select("<id>")` / `editor.focus("<id>")` through
284
284
  `npx volter-game-editor eval`
@@ -288,29 +288,29 @@ keyed on the OID its source carries — stable across reloads). To find one:
288
288
  ### Start a new project from scratch
289
289
 
290
290
  ```bash
291
- npm run --silent vgai -- create "My Platformer"
291
+ npm run --silent volter -- create "My Platformer"
292
292
  cd my-platformer
293
- npm run --silent vgai -- edit .
293
+ npm run --silent volter -- edit .
294
294
  ```
295
295
 
296
296
  ### Show the user an entity you just created/modified
297
297
 
298
298
  ```bash
299
299
  # After editing the world's TSX source — select and frame the entity in one round trip:
300
- npm run --silent vgai -- eval 'await editor.select("<entity-id>"); await editor.focus()'
300
+ npm run --silent volter -- eval 'await editor.select("<entity-id>"); await editor.focus()'
301
301
  ```
302
302
 
303
303
  ### Test gameplay
304
304
 
305
305
  ```bash
306
- npm run --silent vgai -- play
307
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); mechanic.<setup>(); return mechanic.<read>(); })'
308
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("<goal>"); })'
309
- npm run --silent vgai -- eval 'await game.waitSimTime({simSeconds: 5})'
310
- npm run --silent vgai -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); return mechanic.<read>(); })'
311
- npm run --silent vgai -- screenshot # and LOOK at the pixels
312
- npm run --silent vgai -- restart # after an init-time source change
313
- npm run --silent vgai -- stop
306
+ npm run --silent volter -- play
307
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); mechanic.<setup>(); return mechanic.<read>(); })'
308
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const tester = await modules("src/bot/tester-station.ts"); return tester.hireTester("<goal>"); })'
309
+ npm run --silent volter -- eval 'await game.waitSimTime({simSeconds: 5})'
310
+ npm run --silent volter -- eval 'return game.run(async ({ modules }) => { const mechanic = await modules("src/sim/<mechanic>.ts"); return mechanic.<read>(); })'
311
+ npm run --silent volter -- screenshot # and LOOK at the pixels
312
+ npm run --silent volter -- restart # after an init-time source change
313
+ npm run --silent volter -- stop
314
314
  ```
315
315
 
316
316
  Arrange and read through the mechanic's own exported functions; let the
@@ -321,7 +321,7 @@ disagrees.
321
321
  ### Debug a specific view angle
322
322
 
323
323
  ```bash
324
- npm run --silent vgai -- eval 'await editor.view("top"); await editor.shading("wireframe"); await editor.helpers(true)'
324
+ npm run --silent volter -- eval 'await editor.view("top"); await editor.shading("wireframe"); await editor.helpers(true)'
325
325
  ```
326
326
 
327
327
  ## SDK (Programmatic Access)
@@ -358,6 +358,6 @@ the right import for editor-only automation that has no game running — plus th
358
358
  handful of project-management calls (`createProject()`, `openProject()`,
359
359
  `getProject()`, `listRecentProjects()`) that `@volter/editor-live` does not re-expose.
360
360
 
361
- Run `npm run --silent vgai -- eval --list` for the current member list on every binding.
361
+ Run `npm run --silent volter -- eval --list` for the current member list on every binding.
362
362
  It walks the live objects at runtime, so it is accurate in a way this page
363
363
  cannot promise to be.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: vgai-3d-models
2
+ name: volter-3d-models
3
3
  description: Model and revise game props with ordinary Blender Python through the Blender MCP and export the asset for a reusable Three.js prefab. Use when asked to model a prop, shape, machine, or other game object. For placement, stories and gameplay follow .agents/references/project-manual.md; for procedural geometry generated during gameplay use ordinary Three.js.
4
4
  ---
5
5
 
@@ -12,7 +12,7 @@ Blender coordinates are **Z-up**, distances are metres, and angles are radians.
12
12
 
13
13
  Start the game's editor with `npm run dev` **in the background**, keep it running
14
14
  while authoring, and tell the user its URL. Connect the project's `blender`
15
- server in `.mcp.json` (`npm run --silent vgai -- blender-mcp`).
15
+ server in `.mcp.json` (`npm run --silent volter -- blender-mcp`).
16
16
  The **Model** document is your Blender viewport; the **Scene** composes game
17
17
  objects. Inspect the model there, then inspect its placement in the game.
18
18
 
@@ -43,7 +43,7 @@ For an asset revision, edit it in Blender and re-export to the same asset path.
43
43
  Check its game placements and preserve the selected starter's studio and
44
44
  verification requirements. Before handoff, run the game's build and inspect the
45
45
  exported game. Keep input assets and runtime exports in version control;
46
- keep scratch files in `.vgai/tmp/`.
46
+ keep scratch files in `.volter/tmp/`.
47
47
 
48
48
  For animation and skinning, a static mesh export is not proof that an animated
49
49
  character is game-ready.
@@ -1,8 +1,8 @@
1
1
  ---
2
- name: vgai-ingest-existing-game
2
+ name: volter-ingest-existing-game
3
3
  description: >
4
4
  Take an existing, unmodified web game (three.js, PixiJS, or React) to FULL
5
- vgai editor integration: mount it through the adapter seam, declare its
5
+ volter editor integration: mount it through the adapter seam, declare its
6
6
  real capabilities through the game contract, drive every adapter slot to a
7
7
  terminal state (implemented, or verified implemented-empty), and prove it
8
8
  live through the product's own doors. Use when asked to ingest, adapt,
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: vgai-threejs-authoring
3
- description: Build, rig, animate, diagnose, and visually refine polished native Three.js scenes and procedural assets with direct Object3D code, reusable construction helpers, geometry libraries, and an inspect-render-critique loop. Use for procedural models, rigid mechanical armatures, environments, static props, stylized materials, lighting, cameras, scene composition, or an agent-focused Blender-like workflow. Use vgai-3d-models when the result should be a Blender source document with an exported GLB. Do not use for Blender bpy work or imported skeletal retargeting.
2
+ name: volter-threejs-authoring
3
+ description: Build, rig, animate, diagnose, and visually refine polished native Three.js scenes and procedural assets with direct Object3D code, reusable construction helpers, geometry libraries, and an inspect-render-critique loop. Use for procedural models, rigid mechanical armatures, environments, static props, stylized materials, lighting, cameras, scene composition, or an agent-focused Blender-like workflow. Use volter-3d-models when the result should be a Blender source document with an exported GLB. Do not use for Blender bpy work or imported skeletal retargeting.
4
4
  ---
5
5
 
6
- # VGAI Three.js Authoring
6
+ # VOLTER Three.js Authoring
7
7
 
8
8
  Author ordinary project source against Three.js. Treat the source module and
9
9
  live `Object3D` graph as truth. Use helpers for leverage, not as a replacement
@@ -14,7 +14,7 @@ scene language.
14
14
  1. Read the project instructions and architecture.
15
15
  2. Locate the Three root or modeling build entry, existing helpers,
16
16
  renderer setup, and verification commands.
17
- 3. Start or reuse the VGAI editor immediately and keep it open.
17
+ 3. Start or reuse the VOLTER editor immediately and keep it open.
18
18
  4. Capture a fixed-camera visual baseline.
19
19
  5. Inspect the live hierarchy, selected-object facts, renderer state, and
20
20
  console before changing code.
@@ -23,7 +23,7 @@ Never introduce a parallel entity tree, semantic operation log, generated
23
23
  scene JSON, or wrapper around ordinary Three.js access for agent control. Give
24
24
  important objects stable `Object3D.name` values or project metadata.
25
25
 
26
- Use `vgai-3d-models` for Blender-sourced assets; prefab placement, stories and the
26
+ Use `volter-3d-models` for Blender-sourced assets; prefab placement, stories and the
27
27
  naming floor are in `.agents/references/project-manual.md`.
28
28
 
29
29
  ## Choose the lowest sufficient layer
@@ -67,7 +67,7 @@ Use raw Three.js whenever a helper becomes awkward.
67
67
  Keep shader source in ordinary `.vert`, `.frag`, or `.glsl` files and bind it
68
68
  with `THREE.ShaderMaterial` directly. A sibling `name.vert.glsl` +
69
69
  `name.frag.glsl` pair is the portable convention Asset Lab recognizes; it is
70
- not a VGAI format. Keep authored uniform defaults, defines, textures, and
70
+ not a VOLTER format. Keep authored uniform defaults, defines, textures, and
71
71
  material composition beside the owning material in TS/TSX, where the runtime
72
72
  actually reads them. Never add a `.shader.json`, uniform sidecar, or generated
73
73
  shader graph to duplicate those facts.
@@ -86,7 +86,7 @@ postprocessing, or the game's actual texture bindings.
86
86
  ## Compose postprocessing directly
87
87
 
88
88
  When a game needs postprocessing, add `@react-three/postprocessing` to that
89
- project and import its components directly. Do not create a VGAI chain file,
89
+ project and import its components directly. Do not create a VOLTER chain file,
90
90
  effect registry, wrapper component, or JSON descriptor. The owning scene's JSX
91
91
  is already the ordered chain; conditionally render one effect to bypass it and
92
92
  move its JSX child to reorder it. Keep the finishing order restrained: render,
@@ -267,12 +267,12 @@ is `npx volter-game-editor screenshot`, and the module lane is the asset loop:
267
267
  the camera. The corollary is a real blind spot: an asset lane auto-frames
268
268
  its subject, so it can NEVER show you a wrong origin, a floating contact
269
269
  plane, or a scale that disagrees with the world. Only a scene shot can —
270
- `npx volter-game-editor screenshot` with no target (play mode, whole stack) or `vgai
270
+ `npx volter-game-editor screenshot` with no target (play mode, whole stack) or `volter-game-editor
271
271
  screenshot <entityId>` (one entity where it stands, under the scene's own
272
272
  lighting).
273
273
 
274
274
  > Engine-repo aside — not for game projects. When you are working inside the
275
- > vgai engine checkout itself (no game project, no editor session), the
275
+ > volter engine checkout itself (no game project, no editor session), the
276
276
  > equivalent is `node packages/engine/e2e/turntable/capture.mjs <subject>`,
277
277
  > run from the checkout root; it boots and tears down its own server. Point
278
278
  > it at your own builder with `capture.mjs file --module
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "VOLTER Three.js Authoring"
3
+ short_description: "Build polished native Three.js scenes and assets"
4
+ default_prompt: "Use $volter-threejs-authoring to build and visually refine native Three.js source without introducing a parallel scene model."