@volter/game-editor 0.5.68 → 0.5.70

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 (551) hide show
  1. package/BUNDLED_NOTICES +10941 -5080
  2. package/LICENSE +9 -10
  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 +5 -5
  11. package/catalog/project-source/LICENSE +6 -6
  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/reflections/volume-reflection-material.ts +59 -59
  17. package/catalog/project-source/src/lib/static-batch/Frozen.tsx +1 -1
  18. package/catalog/project-source/src/lib/static-batch/mutation-watch.ts +1 -1
  19. package/catalog/project-source/src/tools/bake-preview.tool.ts +9 -9
  20. package/dist/.vite/manifest.json +4026 -4026
  21. package/dist/assets/{AssetBudgetPanel-P2PeL_X5.js → AssetBudgetPanel-DpXsaQ6w.js} +4 -4
  22. package/dist/assets/AudioViewer-BdTHfNhD.js +1 -0
  23. package/dist/assets/{CanvasBoardDocument-BFJdTVGp.js → CanvasBoardDocument-DY-7zohc.js} +1 -1
  24. package/dist/assets/CanvasSceneViewport-57CEFqSM.js +1 -0
  25. package/dist/assets/ColorInput-Co6tCY9p.js +1 -0
  26. package/dist/assets/{EntityModelDocument-Du8wIbyK.js → EntityModelDocument-C-lhKrxv.js} +1 -1
  27. package/dist/assets/{EnvironmentAssetDocument-_SttfMY_.js → EnvironmentAssetDocument-BNe6ANTN.js} +1 -1
  28. package/dist/assets/{GameplaySessionTimeline-CWudWnfd.js → GameplaySessionTimeline-CryFYfYN.js} +1 -1
  29. package/dist/assets/ImageViewer-DiD2yIG4.js +1 -0
  30. package/dist/assets/{InspectorCanvasPreview-CEr_Kxna.js → InspectorCanvasPreview-BrFjhoiD.js} +1 -1
  31. package/dist/assets/InspectorObjectPreview-BBVO8bDT.js +1 -0
  32. package/dist/assets/JsonAssetDocument-xyXetSbl.js +2 -0
  33. package/dist/assets/{LiveModuleDocument-BWjOzO_6.js → LiveModuleDocument-BiAunjHS.js} +1 -1
  34. package/dist/assets/{LutAssetDocument-DIc6nsht.js → LutAssetDocument-5sW-5rb0.js} +1 -1
  35. package/dist/assets/{ModelAssetDocument-_CqTsX_A.js → ModelAssetDocument-Bdy7x47a.js} +1 -1
  36. package/dist/assets/{NonThreeAuthoringBootstrap-C-V23E1e.js → NonThreeAuthoringBootstrap-BP-1bVEr.js} +1 -1
  37. package/dist/assets/Object3DDocumentToolbar-CvnSLDPI.js +1 -0
  38. package/dist/assets/Object3DDocumentViewport-BE_OPc8T.js +2 -0
  39. package/dist/assets/{Object3DPreview-BPHEr3vI.js → Object3DPreview-D3w_dKrX.js} +1 -1
  40. package/dist/assets/OnlineAssetDetail-BnT8_p1W.js +1 -0
  41. package/dist/assets/PlayBar-C8Mn-EI0.js +1 -0
  42. package/dist/assets/{QuarksAssetDocument-4Dne3EHx.js → QuarksAssetDocument-DLMH5Csk.js} +1 -1
  43. package/dist/assets/ReactCanvasControls-rNz8syVB.js +1 -0
  44. package/dist/assets/RootSelectionOverlay-Cn2Rbr1N.js +1 -0
  45. package/dist/assets/{ShaderAssetDocument-W3ZjLCkt.js → ShaderAssetDocument-CsJCsNfA.js} +4 -4
  46. package/dist/assets/ShadowEditor-jB05hr1W.js +1 -0
  47. package/dist/assets/{SourceAssetViewer-BGUeDAEv.js → SourceAssetViewer-D0NgGrER.js} +1 -1
  48. package/dist/assets/StageHost-B3Yt4I7r.js +2 -0
  49. package/dist/assets/{StoryPreviewMount-Di8uMovM.js → StoryPreviewMount-CzzRn24c.js} +1 -1
  50. package/dist/assets/ThreeBoardDocument-BoHTN4Vl.js +2 -0
  51. package/dist/assets/{ThreeIsolationSceneContent-BAKurKW5.js → ThreeIsolationSceneContent-BM-0S6J5.js} +1 -1
  52. package/dist/assets/{ToolObject3DPreview-CffvGJ1h.js → ToolObject3DPreview-BeM_kx_u.js} +1 -1
  53. package/dist/assets/Toolbar-BZyog9MR.js +1 -0
  54. package/dist/assets/{TransientHint-CgmkrmKF.js → TransientHint-RJEkOJoy.js} +1 -1
  55. package/dist/assets/VideoViewer-CxajgKrf.js +1 -0
  56. package/dist/assets/ViewportShadingMenu-S2lADFJg.js +1 -0
  57. package/dist/assets/active-ingest-CjZtqL7Q.js +3 -0
  58. package/dist/assets/{animation-clock-fLmY_3--.js → animation-clock-CWVW-mqY.js} +1 -1
  59. package/dist/assets/animation-mixers.service-CpoYw8cs.js +1 -0
  60. package/dist/assets/animation-timeline.utility-CEerojaB.js +1 -0
  61. package/dist/assets/{asset-budget-asset.menu-BDRDWrvx.js → asset-budget-asset.menu-Bk6scVWQ.js} +1 -1
  62. package/dist/assets/{asset-budget.action-tQmNGQHC.js → asset-budget.action-DtBDSfDj.js} +1 -1
  63. package/dist/assets/{asset-budget.document-BthgX37Z.js → asset-budget.document-R2zyoJ8E.js} +1 -1
  64. package/dist/assets/{asset-budget.menu-DfyWVH6p.js → asset-budget.menu-D6jza5Bc.js} +1 -1
  65. package/dist/assets/asset-editor-persistence-DrgwOZIW.js +1 -0
  66. package/dist/assets/asset-loaders-CUeYIjeH.js +2 -0
  67. package/dist/assets/{asset-preview-Cv7tfD98.js → asset-preview-CQfnI2cX.js} +1 -1
  68. package/dist/assets/{audio-unlock.service-BvHvZjzx.js → audio-unlock.service-W3UBKsw9.js} +1 -1
  69. package/dist/assets/audio.utility-qrXBdGXg.js +1 -0
  70. package/dist/assets/autoplay.service-DQD3Swo9.js +1 -0
  71. package/dist/assets/{babylon-authoring-adapter-Cg5ALSpr.js → babylon-authoring-adapter-CS9LZNmz.js} +1 -1
  72. package/dist/assets/binding-resolver-B9VI52zt.js +2 -0
  73. package/dist/assets/blender-emscripten-engine-Cd6az4pU.js +2 -0
  74. package/dist/assets/{blender-node-editor.document-B92MO51u.js → blender-node-editor.document-BWLFvA2g.js} +1 -1
  75. package/dist/assets/{blender-properties-tab-CDVyDAbf.js → blender-properties-tab-BSmWG9d0.js} +1 -1
  76. package/dist/assets/{blender-runtime-host-CuniE0sy.js → blender-runtime-host-Cbkie7m4.js} +2 -2
  77. package/dist/assets/{blender-runtime-skin-B_tOz5j5.js → blender-runtime-skin-C_ATCb-z.js} +7 -7
  78. package/dist/assets/{blender-runtime.document-DxUwLiEW.js → blender-runtime.document-P9zdgwMt.js} +7 -7
  79. package/dist/assets/{blender-timeline.document-BdEEoQbK.js → blender-timeline.document-DRwySEJO.js} +1 -1
  80. package/dist/assets/{blender-uv-editor.document-EMSUlRh4.js → blender-uv-editor.document-CmLoL2Vo.js} +1 -1
  81. package/dist/assets/blender-version.status-CP4Jqkry.js +1 -0
  82. package/dist/assets/blender-wali-engine-CZcS3eAd.js +2 -0
  83. package/dist/assets/{blender.command-BkBML2SY.js → blender.command-BYGm0Q_s.js} +1 -1
  84. package/dist/assets/blender.status-BMETIbb2.js +1 -0
  85. package/dist/assets/board-guides-BG-MHK2G.js +1 -0
  86. package/dist/assets/body-marks-C1LxJtQb.js +1 -0
  87. package/dist/assets/{bridge.command-VnplZ81v.js → bridge.command-DpUNErKN.js} +3 -3
  88. package/dist/assets/{browserAll-BCmkqg8n.js → browserAll-DES3i79H.js} +1 -1
  89. package/dist/assets/{build-player.document-DV7YcJQt.js → build-player.document-B42HrdSU.js} +1 -1
  90. package/dist/assets/build-profiles.document-Di5CQoH9.js +2 -0
  91. package/dist/assets/build-progress.status-B4te7-3j.js +1 -0
  92. package/dist/assets/{build-session-BGe0eGrQ.js → build-session-Yw4JoE8T.js} +2 -2
  93. package/dist/assets/{build.action-Bdj4ZEL_.js → build.action-B-DBpUj6.js} +1 -1
  94. package/dist/assets/{build.command-DAWiYvPa.js → build.command-CfWoHNp0.js} +1 -1
  95. package/dist/assets/build.header-BaURztYD.js +1 -0
  96. package/dist/assets/{build.menu-BiRNC_xc.js → build.menu-BFBn-dPJ.js} +1 -1
  97. package/dist/assets/{build.service-Dw9K6VSF.js → build.service-D8gYWB3n.js} +1 -1
  98. package/dist/assets/{camera-C-qXzXFf.js → camera-C-uR_xQp.js} +1 -1
  99. package/dist/assets/{camera-runtime.inspector-BDrwWRlU.js → camera-runtime.inspector-BOGGEqVq.js} +1 -1
  100. package/dist/assets/{canvas-design-mount-DLn49Zle.js → canvas-design-mount-DamLAaWn.js} +4 -4
  101. package/dist/assets/canvas-entry-runtime-a6N7Rsrj.js +2 -0
  102. package/dist/assets/{canvas-preview-frames-B5xFRjhQ.js → canvas-preview-frames-XbrKuyJu.js} +1 -1
  103. package/dist/assets/{canvas-story-capture.service-DQ_leYyi.js → canvas-story-capture.service-DYRdEzkG.js} +2 -2
  104. package/dist/assets/capability-coverage-7wKVA3PF.js +7 -0
  105. package/dist/assets/{collaboration-presence-BOS1t8wI.js → collaboration-presence-DaVKEfxs.js} +1 -1
  106. package/dist/assets/{collider-Bf4Uk6LW.js → collider-BEwlgkG5.js} +1 -1
  107. package/dist/assets/component-board.service-BWSBM2Bb.js +2 -0
  108. package/dist/assets/{component-board.service-DFSSCaCf.js → component-board.service-C9ZouakC.js} +2 -2
  109. package/dist/assets/{component-board.service-CpVXGhz5.js → component-board.service-D2eGKqHf.js} +2 -2
  110. package/dist/assets/component-contracts.service-D0uElctD.js +1 -0
  111. package/dist/assets/component-instance-root-C1Xf4SwR.js +1 -0
  112. package/dist/assets/{component-verbs.command-DGzZAV_Z.js → component-verbs.command-N-Tj8KOS.js} +1 -1
  113. package/dist/assets/{component-verbs.service-D1rVRogp.js → component-verbs.service-CWh4mQ7X.js} +1 -1
  114. package/dist/assets/{config-D-EAAhqP.js → config-hmmj-QHZ.js} +4 -4
  115. package/dist/assets/{configurations-_HZOWZPy.js → configurations-B9Pi_eRN.js} +1 -1
  116. package/dist/assets/connection.status-C2HPxoww.js +1 -0
  117. package/dist/assets/{constraint-5KLYpGm7.js → constraint-Bp1l8hY-.js} +1 -1
  118. package/dist/assets/constraints.inspector-D-h1f3K2.js +1 -0
  119. package/dist/assets/{content-bounds-DKBD7nsv.js → content-bounds-7UyI42Vj.js} +1 -1
  120. package/dist/assets/{contract-system-adapters-h6OUBRYA.js → contract-system-adapters-Bq1LGdjs.js} +1 -1
  121. package/dist/assets/coverage.service-BiBikIsV.js +3 -0
  122. package/dist/assets/{create-runtime-Bg2uYMfh.js → create-runtime-Cx-q5z2y.js} +2 -2
  123. package/dist/assets/curve-Co_mro-I.js +1 -0
  124. package/dist/assets/{data-asset-7Nfmx-28.js → data-asset-Ckx4D_U_.js} +1 -1
  125. package/dist/assets/data-check-core-CHqar_E8.js +1 -0
  126. package/dist/assets/data-ref-70PUrMuT.js +1 -0
  127. package/dist/assets/debug-bridge-CarsgKpm.js +1 -0
  128. package/dist/assets/debug-registry-DgYNlhH_.js +1 -0
  129. package/dist/assets/{deferred-ingest-play-Bej67_y9.js → deferred-ingest-play-Bpdhu2i-.js} +2 -2
  130. package/dist/assets/{design-time-canvas-mount-CFW9ZWuk.js → design-time-canvas-mount-Ca9Q75Ui.js} +2 -2
  131. package/dist/assets/design-time-layers-BIb71snu.js +1 -0
  132. package/dist/assets/{design-time-mount.service-DJeAPUB_.js → design-time-mount.service-DL6ZK2TQ.js} +2 -2
  133. package/dist/assets/{design-time-mount.service-_R1UDCw3.js → design-time-mount.service-zKUVjKAu.js} +2 -2
  134. package/dist/assets/design-time-react-mount-NrWimSxY.js +1 -0
  135. package/dist/assets/{document-preview-three-5cbuuJMH.js → document-preview-three-DoDs6q1q.js} +1 -1
  136. package/dist/assets/{dom-authoring-adapter-CoESNvrM.js → dom-authoring-adapter-adLQog9l.js} +1 -1
  137. package/dist/assets/{draco3d-Sk9K4AUT.js → draco3d-aUvQF1Zx.js} +1 -1
  138. package/dist/assets/{edit-mode-audio.service-CH6J-8N7.js → edit-mode-audio.service-CHZ1ultu.js} +1 -1
  139. package/dist/assets/edit-mode-authoring-ZQuUwc6e.js +1 -0
  140. package/dist/assets/{edit-mode-networking.service-C4o2pGHX.js → edit-mode-networking.service-C7fk2fL1.js} +1 -1
  141. package/dist/assets/editor-api-C8MUOrwt.js +1 -0
  142. package/dist/assets/{editor-layers-B4oYfpj8.js → editor-layers-CGX7iCSP.js} +1 -1
  143. package/dist/assets/editor-presentation-activity-CqJH4G9t.js +1 -0
  144. package/dist/assets/{editor-shell-store-Bh1S7M54.js → editor-shell-store-BRqB1JZO.js} +1 -1
  145. package/dist/assets/{entity-object-B_5Gc0Ky.js → entity-object--ZpqIat7.js} +1 -1
  146. package/dist/assets/{extend-DcEyE5jI.js → extend-BZQIQ18F.js} +1 -1
  147. package/dist/assets/{fork-menu-CKjNh3MO.js → fork-menu-CziehkPx.js} +1 -1
  148. package/dist/assets/{frame-debugger-store-D5YViF_8.js → frame-debugger-store-BOQjrPsh.js} +1 -1
  149. package/dist/assets/game-audio-BeCyd0Ha.js +1 -0
  150. package/dist/assets/{game-contract-seams-C0AVYwvO.js → game-contract-seams-Dgqv6S8X.js} +1 -1
  151. package/dist/assets/{game-css-scope-transform-8GOvVu1s.js → game-css-scope-transform-anfk8vP_.js} +2 -2
  152. package/dist/assets/game-document.service-CqmgrRUA.js +1 -0
  153. package/dist/assets/game-eval.command-CoetFm6_.js +2 -0
  154. package/dist/assets/game-module-access-Cg1EB8Mx.js +1 -0
  155. package/dist/assets/game-network-BqI-Ehz0.js +22 -0
  156. package/dist/assets/{gameplay-export-K5AcStVC.js → gameplay-export-D0hZoeSg.js} +1 -1
  157. package/dist/assets/gameplay-replay-BHz6VAVa.js +1 -0
  158. package/dist/assets/{gameplay.command-DoWqBWhH.js → gameplay.command-CPc9GKuW.js} +1 -1
  159. package/dist/assets/generation-CdOATubd.css +1 -0
  160. package/dist/assets/{generation-jobs-CiabIfR0.js → generation-jobs-D-zXQNZI.js} +1 -1
  161. package/dist/assets/generation.service-Bwt9lQEG.js +1 -0
  162. package/dist/assets/{generations-DU9rCeQR.js → generations-d-U9lCVo.js} +1 -1
  163. package/dist/assets/generations.status-BQ8xhaLN.js +1 -0
  164. package/dist/assets/hierarchy-marks-CndAXtie.js +1 -0
  165. package/dist/assets/hierarchy-marks-CsTaTkc7.js +1 -0
  166. package/dist/assets/hosted-asset-materialization-r2vKfJGY.js +2 -0
  167. package/dist/assets/{ibl-override-material-CiKkaOTW.js → ibl-override-material-CMo_a49U.js} +1 -1
  168. package/dist/assets/index-BMxv2MNV.js +1 -0
  169. package/dist/assets/index-BPVnvJfX.js +1 -0
  170. package/dist/assets/{index-C4AUQbmq.js → index-BqzpzjSB.js} +1 -1
  171. package/dist/assets/{index-CC1puVjo.js → index-CMU7lnXk.js} +1 -1
  172. package/dist/assets/index-CPiRKiDC.css +1 -0
  173. package/dist/assets/{index-CaG87ZF-.js → index-Cr9NTnJp.js} +271 -270
  174. package/dist/assets/index-DSMLYme2.js +1 -0
  175. package/dist/assets/index-DoGlzvsX.js +1 -0
  176. package/dist/assets/{index-BsYc2Oyj.js → index-dlvCCB72.js} +1 -1
  177. package/dist/assets/{index-Kb9_s5aP.js → index-xjc_62Ha.js} +1 -1
  178. package/dist/assets/{index-C20Flc1s.js → index-z0_InXxO.js} +2 -2
  179. package/dist/assets/{inference-diagnostics-MGcIHEX6.js → inference-diagnostics-D5jfxI5p.js} +1 -1
  180. package/dist/assets/{ingest-boot-viewport-D2okO6JI.js → ingest-boot-viewport-Be0v44yf.js} +1 -1
  181. package/dist/assets/ingest-siblings-BowXSozE.js +1 -0
  182. package/dist/assets/ingest-source-persistence-BGIvThcv.js +1 -0
  183. package/dist/assets/ingest.service-wVm-ZcTI.js +1 -0
  184. package/dist/assets/{inspect-C8RP8G5F.js → inspect-CN92MgRT.js} +1 -1
  185. package/dist/assets/inspection-D8fZOHCM.js +1 -0
  186. package/dist/assets/instances.command-B6gJuL1Z.js +1 -0
  187. package/dist/assets/{json-history-resource-CTXRV4GD.js → json-history-resource-C9G_vCX9.js} +1 -1
  188. package/dist/assets/{layered-pick-B_-BRrRD.js → layered-pick-D9tIz_m7.js} +1 -1
  189. package/dist/assets/{light-CskDQ8gF.js → light-BGbl1a8K.js} +1 -1
  190. package/dist/assets/{live-project-verbs-BOAQN3ME.js → live-project-verbs-p1sdTwhF.js} +1 -1
  191. package/dist/assets/{machine.document-BxOoCOo9.js → machine.document-C1acXU7l.js} +1 -1
  192. package/dist/assets/{machines.finder-CqEceWzS.js → machines.finder-sOxNTYPx.js} +1 -1
  193. package/dist/assets/material-D7289cYI.js +1 -0
  194. package/dist/assets/{material-factory-qB9pzcQf.js → material-factory-D0T-DH8c.js} +1 -1
  195. package/dist/assets/{mesh-5--4qA-C.js → mesh-1A-HHxD6.js} +1 -1
  196. package/dist/assets/model-asset-sections-D1uxOu2v.css +1 -0
  197. package/dist/assets/model-asset-sections.service-DF-mllTL.js +1 -0
  198. package/dist/assets/{model-inspection-MrJY0U_-.js → model-inspection-CuVwNVvv.js} +1 -1
  199. package/dist/assets/{model-thumbnail-uk-2sblh.js → model-thumbnail-xm1Fabi2.js} +1 -1
  200. package/dist/assets/{models.finder-rk8dhgO8.js → models.finder-DrvU1qGk.js} +1 -1
  201. package/dist/assets/module-mode-BHOAAbgO.js +2 -0
  202. package/dist/assets/mount-canvas-ingest-root-aVZkVNh4.js +2 -0
  203. package/dist/assets/mount-dom-ingest-root-eOOGPaxi.js +2 -0
  204. package/dist/assets/{mount-ingest-root-BC3-1Cw1.js → mount-ingest-root-BsWbEvr_.js} +2 -2
  205. package/dist/assets/{mount-manifest-QJOB11Kv.js → mount-manifest-t6ipNsoF.js} +1 -1
  206. package/dist/assets/mount-readiness-DyAd17pe.js +4 -0
  207. package/dist/assets/mount-three-ingest-root-DIR0wKrN.js +1 -0
  208. package/dist/assets/{mounted-authoring-B7RL_V28.js → mounted-authoring-DX3DC9PJ.js} +1 -1
  209. package/dist/assets/{mounted-story-viewport-source-CnYhX3vW.js → mounted-story-viewport-source-D8FqGpci.js} +1 -1
  210. package/dist/assets/{native-debug-module-B-rWJfWE.js → native-debug-module-CB738yQu.js} +1 -1
  211. package/dist/assets/{navigation-BVu-aVmF.js → navigation-B9ihB0qU.js} +1 -1
  212. package/dist/assets/{navmesh.menu-C3M63eR4.js → navmesh.menu-CPxr9LPT.js} +1 -1
  213. package/dist/assets/{navmesh.service-B0H1fUfn.js → navmesh.service-BAtili_Y.js} +1 -1
  214. package/dist/assets/network-observer.service-CqTuZNtI.js +1 -0
  215. package/dist/assets/network.utility-CclYEmfV.js +1 -0
  216. package/dist/assets/object-marks-BnvSuCTt.js +1 -0
  217. package/dist/assets/{object3d-authoring-subject-BDrxd1GA.js → object3d-authoring-subject-XccsO0xG.js} +1 -1
  218. package/dist/assets/{object3d-document-session-registry-OjqzJ86S.js → object3d-document-session-registry-BWeuL0nf.js} +2 -2
  219. package/dist/assets/{oid-transform-Bzc2ZJSH.js → oid-transform-BYeAsBKI.js} +1 -1
  220. package/dist/assets/{particles-Be7AvO4c.js → particles-BXiQDiB-.js} +1 -1
  221. package/dist/assets/{performance-profiler-OwnXQX0M.js → performance-profiler-CMbwGBuk.js} +1 -1
  222. package/dist/assets/pixi-authoring-adapter-CPsN0Yk7.js +1 -0
  223. package/dist/assets/pixi-live-write-target-BUbt5ixX.js +1 -0
  224. package/dist/assets/{play.command-CIGRq8ow.js → play.command-Bz5Ra6Uj.js} +2 -2
  225. package/dist/assets/pose-guard-CLabLSzf.js +1 -0
  226. package/dist/assets/presentation-C7ZHYsKF.js +1 -0
  227. package/dist/assets/{product-BN31wSnB.js → product-MSpbAqgo.js} +1 -1
  228. package/dist/assets/{profiler.action-D57Kj9ym.js → profiler.action-1Jbc-7Q4.js} +1 -1
  229. package/dist/assets/{profiler.menu-Dh9Q5DDx.js → profiler.menu-C544DxWZ.js} +1 -1
  230. package/dist/assets/profiler.utility-QnzedS3X.js +1 -0
  231. package/dist/assets/{project-authoring-session-LCJAwGrD.js → project-authoring-session-BhNfg7TY.js} +2 -2
  232. package/dist/assets/project-provenance-BGnJXJwa.js +1 -0
  233. package/dist/assets/{properties-bone-constraints.inspector-CaIDq5nN.js → properties-bone-constraints.inspector-DRCPfugt.js} +1 -1
  234. package/dist/assets/{properties-bone.inspector-D2fcQGMF.js → properties-bone.inspector-CYHeZX0p.js} +1 -1
  235. package/dist/assets/{properties-collection.inspector-CF5AtTAd.js → properties-collection.inspector-DtGhPkiU.js} +1 -1
  236. package/dist/assets/{properties-constraints.inspector-Bj2itDrS.js → properties-constraints.inspector-TIyIV777.js} +1 -1
  237. package/dist/assets/{properties-data.inspector-BfRqk0Xo.js → properties-data.inspector-vA0MTaup.js} +1 -1
  238. package/dist/assets/{properties-material.inspector-Bf8H0mvu.js → properties-material.inspector-C73spBQh.js} +1 -1
  239. package/dist/assets/{properties-modifiers.inspector-BKShc1TH.js → properties-modifiers.inspector-9oyLBBE0.js} +1 -1
  240. package/dist/assets/{properties-object.inspector-YBh8ABnN.js → properties-object.inspector-7BuiUgbd.js} +1 -1
  241. package/dist/assets/{properties-output.inspector-CVkzfs-l.js → properties-output.inspector-CjYAggz2.js} +1 -1
  242. package/dist/assets/{properties-particles.inspector-ChDpAq-2.js → properties-particles.inspector-DpSfjykX.js} +1 -1
  243. package/dist/assets/{properties-physics.inspector-BLEM7aMj.js → properties-physics.inspector-BUTvmfU9.js} +1 -1
  244. package/dist/assets/{properties-render.inspector-vU4D9xLL.js → properties-render.inspector-CEdsDqbI.js} +1 -1
  245. package/dist/assets/{properties-scene.inspector-C-DoN-kL.js → properties-scene.inspector-4kp0sLNw.js} +1 -1
  246. package/dist/assets/{properties-texture.inspector-DySxy1oU.js → properties-texture.inspector-Ckpqy9eo.js} +1 -1
  247. package/dist/assets/{properties-view-layer.inspector-DEKxMahJ.js → properties-view-layer.inspector-CQIFbY8-.js} +1 -1
  248. package/dist/assets/{properties-world.inspector-m5qL_TQV.js → properties-world.inspector-xZgNV6rI.js} +1 -1
  249. package/dist/assets/r3f-design-session-D8VF-hty.js +2 -0
  250. package/dist/assets/{r3f-physics-binding-Bgzzd4ol.js → r3f-physics-binding-oippu1v_.js} +1 -1
  251. package/dist/assets/{r3f-source-authoring-adapter-C8oMjdTL.js → r3f-source-authoring-adapter-CZJX6VLM.js} +1 -1
  252. package/dist/assets/react-canvas-navigation-DuzvnFoN.js +1 -0
  253. package/dist/assets/react-inspector.service-CV4p6nrb.js +1 -0
  254. package/dist/assets/react-story-board-mhldts6w.js +1 -0
  255. package/dist/assets/{react-three-rapier.esm-BR2ttgLS.js → react-three-rapier.esm-Bo9LjrZe.js} +1 -1
  256. package/dist/assets/react-world-authoring-adapter-CuyruDfq.js +1 -0
  257. package/dist/assets/{realm-services-DefTrXnY.js → realm-services-BtiLE3a-.js} +1 -1
  258. package/dist/assets/reflection-probe-capture.inspector-mrrOHs-9.js +1 -0
  259. package/dist/assets/{reflection-probe-BHNGwVyz.js → reflection-probe-sIto9mh0.js} +1 -1
  260. package/dist/assets/registry-DpUr2YIM.js +1 -0
  261. package/dist/assets/{relative-import-specifier-DQzkawgj.js → relative-import-specifier-CyT6yU4l.js} +1 -1
  262. package/dist/assets/{render-env-BZ7LsGfk.js → render-env-C63BGT5v.js} +1 -1
  263. package/dist/assets/{render-features-C7QwmhCo.js → render-features-CBl6rom9.js} +1 -1
  264. package/dist/assets/{render-settings-BBvkacR3.js → render-settings-DjarlnjI.js} +1 -1
  265. package/dist/assets/resolve-three-OiswFiIS.js +702 -0
  266. package/dist/assets/root-seam-contract-BYLQx4CQ.js +1 -0
  267. package/dist/assets/{run-selection-BUeubtHj.js → run-selection-BMu0v3qC.js} +1 -1
  268. package/dist/assets/scene-capture-BLf3lJ44.js +1 -0
  269. package/dist/assets/scene-document.service-CjPDph5k.js +2 -0
  270. package/dist/assets/{scene-framing-PVMqGU8h.js → scene-framing-BhNk0WhI.js} +1 -1
  271. package/dist/assets/{scene-index--lRWLEmW.js → scene-index-DHeKmalD.js} +1 -1
  272. package/dist/assets/{scene-query-s1y04OVB.js → scene-query-ByZtXA2m.js} +1 -1
  273. package/dist/assets/seeded-random-DmdE0u-C.js +1 -0
  274. package/dist/assets/{session-CTXsU1lK.js → session-CeyQA0Dv.js} +35 -35
  275. package/dist/assets/{setup-renderer-OOw1SykJ.js → setup-renderer-Bf8g2S0f.js} +1 -1
  276. package/dist/assets/{source-object3d-authoring-adapter-RmutT5Dt.js → source-object3d-authoring-adapter-IDRws2Nk.js} +1 -1
  277. package/dist/assets/{source-persistence-backend-HviqjKZ2.js → source-persistence-backend-Dzc6MsmN.js} +1 -1
  278. package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js} +1 -1
  279. package/dist/assets/{stage-keyboard-DDi7S27C.js → stage-keyboard-CpnIYiph.js} +1 -1
  280. package/dist/assets/stage-overlay-set-BrJzOTCe.js +1 -0
  281. package/dist/assets/stage-presence-markers-BFTl9Djp.js +1 -0
  282. package/dist/assets/stage-transform-tools-QaenmSrC.js +1 -0
  283. package/dist/assets/standard-viewport-dressing-DuKH01r4.js +24 -0
  284. package/dist/assets/{state-watch.action-DEdb1mNa.js → state-watch.action-BaRZ6YII.js} +1 -1
  285. package/dist/assets/{state-watch.menu-jWbUM3kw.js → state-watch.menu-DR2AtQ6r.js} +1 -1
  286. package/dist/assets/state-watch.utility-VW8H9Fgi.js +1 -0
  287. package/dist/assets/{story-capture-Dj1xkeKH.js → story-capture-BEVV48wm.js} +1 -1
  288. package/dist/assets/story-documents-DndjqJ7Y.js +3 -0
  289. package/dist/assets/{story-documents.service-BzQCuNBu.js → story-documents.service-CPrZ7gRM.js} +1 -1
  290. package/dist/assets/{story-documents.service-iNP-ORNr.js → story-documents.service-wCVmBPhh.js} +1 -1
  291. package/dist/assets/{story-media-presence-zTPlU9HR.js → story-media-presence-BSX78yVJ.js} +1 -1
  292. package/dist/assets/{story-pixi-preview-B7THvSl7.js → story-pixi-preview-D4FuH7lJ.js} +1 -1
  293. package/dist/assets/{story-presentation-BLXYPadR.js → story-presentation-2AxtnKGb.js} +1 -1
  294. package/dist/assets/story-three-preview-DjObHSAF.js +2 -0
  295. package/dist/assets/{structural-ids-Br2zjINh.js → structural-ids-BOo2BRoY.js} +1 -1
  296. package/dist/assets/studio-environment-B--4k2mN.js +2 -0
  297. package/dist/assets/{surface-state-D9j6qNu8.js → surface-state-CQHVfsma.js} +1 -1
  298. package/dist/assets/{syntactic-prop-specs-BTnsMOvH.js → syntactic-prop-specs-CewRyC4c.js} +1 -1
  299. package/dist/assets/team-playtest.service-B9m6CNk7.js +1 -0
  300. package/dist/assets/{three-oYrcK5SQ.js → three-B86IzdNg.js} +1 -1
  301. package/dist/assets/three-authoring-adapter-BD8_MtYK.js +1 -0
  302. package/dist/assets/three-authoring.service-BjJ9wetk.js +2 -0
  303. package/dist/assets/{three-ingest-runtime-CXKjNysA.js → three-ingest-runtime-CXySzulx.js} +1 -1
  304. package/dist/assets/{three-integration-CuAnYaTW.js → three-integration-nl5TC6EF.js} +2 -2
  305. package/dist/assets/three-integration.service-BEk5QkKM.js +1 -0
  306. package/dist/assets/three-projection-core-D4m8lsPU.js +1 -0
  307. package/dist/assets/{three-state-wXRU3rLr.js → three-state-C36FeFK4.js} +1 -1
  308. package/dist/assets/{three-story-capture.service-DMJRcqjr.js → three-story-capture.service-C0icETyL.js} +2 -2
  309. package/dist/assets/{three-story-model-DgiAP-oQ.js → three-story-model-CqWu9S2a.js} +1 -1
  310. package/dist/assets/three-viewport-presentation-CCMgGLI2.js +141 -0
  311. package/dist/assets/tools-BnE3UWVA.js +1 -0
  312. package/dist/assets/transform-mode-request-CIgYj1Qb.js +1 -0
  313. package/dist/assets/transport-strip-B1AJKpn-.js +1 -0
  314. package/dist/assets/transport.header-D-n6dQ5n.js +1 -0
  315. package/dist/assets/{trigger-volume-DP0G1VBe.js → trigger-volume-BLkHmfm9.js} +1 -1
  316. package/dist/assets/tuples-uyiMYXrv.js +1 -0
  317. package/dist/assets/ui-board-document-6e4w4a8B.js +2 -0
  318. package/dist/assets/{user-data-CqOoAowZ.js → user-data-BXFD1jg-.js} +1 -1
  319. package/dist/assets/user-data-CODoGZqA.js +1 -0
  320. package/dist/assets/{utility-view-state-Db97zwDz.js → utility-view-state-I_o0WThv.js} +1 -1
  321. package/dist/assets/viewport-door-AsLxGhLN.js +1 -0
  322. package/dist/assets/{viewport-root-presentation-B35t51xX.js → viewport-root-presentation-B1qtThOB.js} +1 -1
  323. package/dist/assets/{viewport-surface-status-D5kZtFW5.js → viewport-surface-status-CWmQeKTO.js} +1 -1
  324. package/dist/assets/{webworkerAll-CfKEb4Ao.js → webworkerAll-DC445ANd.js} +1 -1
  325. package/dist/assets/worker-jepHAPPr.js +2 -0
  326. package/dist/assets/workspace-arrangement-dkubzCff.js +1 -0
  327. package/dist/assets/world-documents-psBK5u_2.js +1 -0
  328. package/dist/assets/world-root-stage-binding-BrvO8VMz.js +1 -0
  329. package/dist/assets/{xstate-animation-binding-aQEmNSpm.js → xstate-animation-binding-ChVFHSlM.js} +1 -1
  330. package/dist/assets/{xstate-animation-meta-CnMX1Sc1.js → xstate-animation-meta-D7xnhyCE.js} +1 -1
  331. package/dist/volter-shared-react.json +10 -0
  332. package/dist/volter-shared-three.json +3 -0
  333. package/dist-node/cli.js +247 -209
  334. package/dist-node/create.js +90 -74
  335. package/package.json +20 -19
  336. package/src/contributions.d.ts +1 -1
  337. package/src/index.ts +10 -10
  338. package/starter/cube.py +1 -1
  339. package/template/.agents/references/project-manual.md +17 -18
  340. package/template/.agents/skills/editor/SKILL.md +6 -6
  341. package/template/.agents/skills/editor/agents/openai.yaml +3 -3
  342. package/template/.agents/skills/editor/references/editor-control.md +62 -62
  343. package/template/.agents/skills/{vgai-3d-models → volter-3d-models}/SKILL.md +3 -3
  344. package/template/.agents/skills/{vgai-ingest-existing-game → volter-ingest-existing-game}/SKILL.md +3 -3
  345. package/template/.agents/skills/{vgai-music → volter-music}/SKILL.md +7 -7
  346. package/template/{.github/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/SKILL.md +9 -9
  347. package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  348. package/template/{.claude/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  349. package/template/.claude/skills/editor/SKILL.md +6 -6
  350. package/template/.claude/skills/editor/agents/openai.yaml +3 -3
  351. package/template/.claude/skills/editor/references/editor-control.md +62 -62
  352. package/template/{.github/skills/vgai-3d-models → .claude/skills/volter-3d-models}/SKILL.md +3 -3
  353. package/template/{.github/skills/vgai-ingest-existing-game → .claude/skills/volter-ingest-existing-game}/SKILL.md +3 -3
  354. package/template/.claude/skills/{vgai-threejs-authoring → volter-threejs-authoring}/SKILL.md +9 -9
  355. package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  356. package/template/{.agents/skills/vgai-threejs-authoring → .claude/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
  357. package/template/.github/copilot-instructions.md +1 -1
  358. package/template/.github/skills/editor/SKILL.md +6 -6
  359. package/template/.github/skills/editor/agents/openai.yaml +3 -3
  360. package/template/.github/skills/editor/references/editor-control.md +62 -62
  361. package/template/{.claude/skills/vgai-3d-models → .github/skills/volter-3d-models}/SKILL.md +3 -3
  362. package/template/{.claude/skills/vgai-ingest-existing-game → .github/skills/volter-ingest-existing-game}/SKILL.md +3 -3
  363. package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/SKILL.md +9 -9
  364. package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
  365. package/template/.github/skills/{vgai-threejs-authoring → volter-threejs-authoring}/references/helper-catalog.md +1 -1
  366. package/template/.mcp.json +3 -3
  367. package/template/AGENTS.md +25 -25
  368. package/template/DEVLOG.md +1 -1
  369. package/template/IDIOMS.md +3 -3
  370. package/template/LICENSE +3 -3
  371. package/template/README.md +12 -13
  372. package/template/check-idioms.ts +71 -95
  373. package/template/manifest-entry-modules-plugin.ts +17 -4
  374. package/template/package.json +13 -15
  375. package/template/server/colyseus-setup.ts +1 -9
  376. package/template/server/main.ts +4 -9
  377. package/template/server/rooms/arena-room.ts +10 -10
  378. package/template/server/rooms/game-room.ts +10 -10
  379. package/template/server/rooms.ts +3 -5
  380. package/template/src/bot/QaTester.tsx +1 -1
  381. package/template/src/bot/bot-station.ts +2 -2
  382. package/template/src/bot/tester-station.ts +1 -1
  383. package/template/src/contributions/README.md +1 -1
  384. package/template/src/contributions/analytics.analytics.tsx +1 -1
  385. package/template/src/contributions/data.document.tsx +2 -2
  386. package/template/src/contributions/pages.finder.ts +1 -1
  387. package/template/src/contributions/tester.inspector.tsx +2 -2
  388. package/template/src/contributions/use-game-modules.ts +1 -1
  389. package/template/src/input.ts +1 -1
  390. package/template/src/lib/reflections/volume-reflection-material.ts +59 -59
  391. package/template/src/lib/static-batch/Frozen.tsx +1 -1
  392. package/template/src/lib/static-batch/mutation-watch.ts +1 -1
  393. package/template/src/main.ts +19 -38
  394. package/template/src/manifest-entry-modules.d.ts +12 -1
  395. package/template/src/net/NetworkedPlayers.tsx +3 -3
  396. package/template/src/prefabs/HeroBox.stories.tsx +1 -1
  397. package/template/src/world.tsx +1 -1
  398. package/template/tsconfig.json +1 -1
  399. package/template/validate-manifest.ts +3 -3
  400. package/template/vite.config.ts +12 -12
  401. package/template/{vgai.adapter.ts → volter.adapter.ts} +1 -1
  402. package/template/{vgai.project.json → volter.project.json} +2 -2
  403. package/template-dotfiles/gitignore +27 -27
  404. package/workbench/src/media/game-cover.css +11 -11
  405. package/workbench/src/product.contribution.ts +28 -28
  406. package/workbench/src/{vgaiGameSkew.ts → volterGameSkew.ts} +16 -16
  407. package/dist/assets/AudioViewer-xFb5Wv7A.js +0 -1
  408. package/dist/assets/CanvasSceneViewport-vqBlOz8P.js +0 -1
  409. package/dist/assets/ColorInput-CX1UZjYO.js +0 -1
  410. package/dist/assets/ImageViewer-shZzMd91.js +0 -1
  411. package/dist/assets/InspectorObjectPreview-BMOvJaOw.js +0 -1
  412. package/dist/assets/JsonAssetDocument-D_HXneWE.js +0 -2
  413. package/dist/assets/Object3DDocumentToolbar-BfPH9jz5.js +0 -1
  414. package/dist/assets/Object3DDocumentViewport-BaXWtATg.js +0 -2
  415. package/dist/assets/OnlineAssetDetail-BxibUH6K.js +0 -1
  416. package/dist/assets/PlayBar-DRANyO01.js +0 -1
  417. package/dist/assets/ReactCanvasControls-K98jOX9b.js +0 -1
  418. package/dist/assets/RootSelectionOverlay-BQC12Gdd.js +0 -1
  419. package/dist/assets/ShadowEditor-DP1LWynl.js +0 -1
  420. package/dist/assets/StageHost-V_0opXFt.js +0 -2
  421. package/dist/assets/ThreeBoardDocument-tgcaZDqQ.js +0 -2
  422. package/dist/assets/Toolbar-uLgsrB2z.js +0 -1
  423. package/dist/assets/VideoViewer-ClUJ6_uy.js +0 -1
  424. package/dist/assets/ViewportShadingMenu-Bdkc6jcd.js +0 -1
  425. package/dist/assets/active-ingest-CnAeQcuQ.js +0 -3
  426. package/dist/assets/animation-mixers.service-DiecMX_A.js +0 -1
  427. package/dist/assets/animation-timeline.utility-C71vPJgs.js +0 -1
  428. package/dist/assets/asset-editor-persistence-BQgjOCrm.js +0 -1
  429. package/dist/assets/asset-loaders-5PIUVvmH.js +0 -2
  430. package/dist/assets/audio.utility-D9Vk_WYS.js +0 -1
  431. package/dist/assets/autoplay.service-CFJoLPLw.js +0 -1
  432. package/dist/assets/binding-resolver-C_9MBSMa.js +0 -2
  433. package/dist/assets/blender-emscripten-engine-BeWFjMn-.js +0 -2
  434. package/dist/assets/blender-version.status-DtfwUahB.js +0 -1
  435. package/dist/assets/blender-wali-engine-da698rDf.js +0 -2
  436. package/dist/assets/blender.status-ujwGU6dU.js +0 -1
  437. package/dist/assets/board-guides-_3R1t_-2.js +0 -1
  438. package/dist/assets/body-marks-RKb_LTwL.js +0 -1
  439. package/dist/assets/build-profiles.document-CZxDuhzz.js +0 -2
  440. package/dist/assets/build-progress.status-Dk5u3C67.js +0 -1
  441. package/dist/assets/build.header--xqH6uTP.js +0 -1
  442. package/dist/assets/canvas-entry-runtime-DVeh71nC.js +0 -2
  443. package/dist/assets/capability-coverage-DQgg6UJe.js +0 -7
  444. package/dist/assets/component-board.service-DgujG90T.js +0 -2
  445. package/dist/assets/component-contracts.service-Bc_2Xxh_.js +0 -1
  446. package/dist/assets/component-instance-root-df4ofoOR.js +0 -1
  447. package/dist/assets/connection.status-CCX-mgmr.js +0 -1
  448. package/dist/assets/constraints.inspector-CwEEREsf.js +0 -1
  449. package/dist/assets/coverage.service-CV7b5Sqn.js +0 -3
  450. package/dist/assets/curve-BKuiAPpj.js +0 -1
  451. package/dist/assets/data-check-core-CQEjuFyt.js +0 -1
  452. package/dist/assets/data-ref-DyFQqqX6.js +0 -1
  453. package/dist/assets/debug-bridge-CESAxmlz.js +0 -1
  454. package/dist/assets/debug-registry-l7k5Hjc8.js +0 -1
  455. package/dist/assets/design-time-layers-CQgnmqc8.js +0 -1
  456. package/dist/assets/design-time-react-mount-CFvIk_rV.js +0 -1
  457. package/dist/assets/edit-mode-authoring-DBjaBTxM.js +0 -1
  458. package/dist/assets/editor-api-D2azVray.js +0 -1
  459. package/dist/assets/editor-presentation-activity-C7SNSmTd.js +0 -1
  460. package/dist/assets/game-audio-CaGKzia4.js +0 -1
  461. package/dist/assets/game-document.service-FdG_gFPU.js +0 -1
  462. package/dist/assets/game-eval.command-4wa9vqWE.js +0 -2
  463. package/dist/assets/game-module-access-DulnT3NH.js +0 -1
  464. package/dist/assets/game-network-Bo_nlDR5.js +0 -22
  465. package/dist/assets/gameplay-replay-CnWnlogY.js +0 -1
  466. package/dist/assets/generation-DhwCUHPf.css +0 -1
  467. package/dist/assets/generation.service-D2yeZaJu.js +0 -1
  468. package/dist/assets/generations.status-3CrPw_n5.js +0 -1
  469. package/dist/assets/hierarchy-marks-BLPfSIym.js +0 -1
  470. package/dist/assets/hierarchy-marks-C25dY2fR.js +0 -1
  471. package/dist/assets/hosted-asset-materialization-DYdcFlDf.js +0 -2
  472. package/dist/assets/index-B5WjeCHm.css +0 -1
  473. package/dist/assets/index-BcH5GC3b.js +0 -1
  474. package/dist/assets/index-CwCDkEl1.js +0 -1
  475. package/dist/assets/index-n3QdTv-T.js +0 -1
  476. package/dist/assets/index.module-Ycad3DJq.js +0 -1
  477. package/dist/assets/ingest-siblings-CkxW__go.js +0 -1
  478. package/dist/assets/ingest-source-persistence-6peGfPAS.js +0 -1
  479. package/dist/assets/ingest.service-Cc73WMIW.js +0 -1
  480. package/dist/assets/inspection-CObLhnrs.js +0 -1
  481. package/dist/assets/instances.command-CxKGnrNl.js +0 -1
  482. package/dist/assets/material-BwFzKPi0.js +0 -1
  483. package/dist/assets/model-asset-sections-CFvvihfx.css +0 -1
  484. package/dist/assets/model-asset-sections.service-TZ2SaBmH.js +0 -1
  485. package/dist/assets/module-mode-B79jV5tQ.js +0 -2
  486. package/dist/assets/mount-canvas-ingest-root-BhaYNuhY.js +0 -2
  487. package/dist/assets/mount-dom-ingest-root-BQb1u0LX.js +0 -2
  488. package/dist/assets/mount-readiness-Ds0HvvLH.js +0 -4
  489. package/dist/assets/mount-three-ingest-root-DIDBfvIH.js +0 -1
  490. package/dist/assets/network-observer.service-CiR4Q9Q0.js +0 -1
  491. package/dist/assets/network.utility-CNG3eJ0E.js +0 -1
  492. package/dist/assets/object-marks-DwvIEBOK.js +0 -1
  493. package/dist/assets/pixi-authoring-adapter-B42K4md-.js +0 -1
  494. package/dist/assets/pixi-live-write-target-D56tQEe_.js +0 -1
  495. package/dist/assets/pose-guard-DILO6gGq.js +0 -1
  496. package/dist/assets/presentation-DGBuGP6i.js +0 -1
  497. package/dist/assets/profiler.utility-DLNySW3w.js +0 -1
  498. package/dist/assets/project-provenance-4ldz-EOG.js +0 -1
  499. package/dist/assets/r3f-design-session-C0DPEChS.js +0 -2
  500. package/dist/assets/react-canvas-navigation-Jowa_lJq.js +0 -1
  501. package/dist/assets/react-inspector.service-TfTdj_Qk.js +0 -1
  502. package/dist/assets/react-story-board-Bx7qYytV.js +0 -1
  503. package/dist/assets/react-world-authoring-adapter-C1jPW_cN.js +0 -1
  504. package/dist/assets/reflection-probe-capture.inspector-C-6zrzZb.js +0 -1
  505. package/dist/assets/registry-Z28XSZHF.js +0 -1
  506. package/dist/assets/resolve-three-C7zDbK29.js +0 -702
  507. package/dist/assets/root-seam-contract-rGNbiX6q.js +0 -1
  508. package/dist/assets/scene-capture-BTWgUzhI.js +0 -1
  509. package/dist/assets/scene-document.service-DJJp-la1.js +0 -2
  510. package/dist/assets/seeded-random-38To73fI.js +0 -1
  511. package/dist/assets/stage-overlay-set-olkNSZmq.js +0 -1
  512. package/dist/assets/stage-presence-markers-cznMN_qq.js +0 -1
  513. package/dist/assets/stage-transform-tools-BDUZqRIR.js +0 -1
  514. package/dist/assets/standard-viewport-dressing-BZyuxyVl.js +0 -24
  515. package/dist/assets/state-watch.utility-DDmn3G25.js +0 -1
  516. package/dist/assets/story-documents-8ehMyYHo.js +0 -3
  517. package/dist/assets/story-three-preview-B1nNiPwP.js +0 -2
  518. package/dist/assets/studio-environment-yaKaHPxH.js +0 -2
  519. package/dist/assets/team-playtest.service-Ds9tkO4q.js +0 -1
  520. package/dist/assets/three-authoring-adapter-BrkGH4cd.js +0 -1
  521. package/dist/assets/three-authoring.service-DoamZDMx.js +0 -2
  522. package/dist/assets/three-integration.service-Db-VabIm.js +0 -1
  523. package/dist/assets/three-projection-core-jBJVt6O0.js +0 -1
  524. package/dist/assets/three-viewport-presentation-CgO3eWJ-.js +0 -141
  525. package/dist/assets/tools-B_NJsk05.js +0 -1
  526. package/dist/assets/transform-mode-request-BnKpgRUW.js +0 -1
  527. package/dist/assets/transport-strip-a9yLoPsI.js +0 -1
  528. package/dist/assets/transport.header-CpfoppXc.js +0 -1
  529. package/dist/assets/tuples-CKsHOV9T.js +0 -1
  530. package/dist/assets/ui-board-document-DtTR_mBr.js +0 -2
  531. package/dist/assets/user-data-dHvLdpwM.js +0 -1
  532. package/dist/assets/viewport-door-DVkMQazS.js +0 -1
  533. package/dist/assets/worker-CC9Ug5Ei.js +0 -2
  534. package/dist/assets/workspace-arrangement-DIMM7ska.js +0 -1
  535. package/dist/assets/world-documents-C4t3iOD-.js +0 -1
  536. package/dist/assets/world-root-stage-binding-ydl3JN1a.js +0 -1
  537. package/dist/vgai-shared-react.json +0 -10
  538. package/dist/vgai-shared-three.json +0 -3
  539. package/template/.agents/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  540. package/template/.claude/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  541. package/template/.github/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
  542. package/template/server/loopback.ts +0 -76
  543. /package/dist/assets/{vgai-shared-fontawesome-CU65D4Ij.js → volter-shared-fontawesome-CU65D4Ij.js} +0 -0
  544. /package/dist/assets/{vgai-shared-jsx-dev-runtime-DFDKL7fx.js → volter-shared-jsx-dev-runtime-DFDKL7fx.js} +0 -0
  545. /package/dist/assets/{vgai-shared-jsx-runtime-DIqBpTut.js → volter-shared-jsx-runtime-DIqBpTut.js} +0 -0
  546. /package/dist/assets/{vgai-shared-react-BT7rMc2H.js → volter-shared-react-BT7rMc2H.js} +0 -0
  547. /package/dist/assets/{vgai-shared-react-dom-DFajMqMT.js → volter-shared-react-dom-DFajMqMT.js} +0 -0
  548. /package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → volter-shared-react-dom-client-S0ozfl6_.js} +0 -0
  549. /package/dist/assets/{vgai-shared-three-DH4yxKwt.js → volter-shared-three-DH4yxKwt.js} +0 -0
  550. /package/template/{.vgai → .volter}/assets.json +0 -0
  551. /package/template/{.vgai → .volter}/provenance.json +0 -0
@@ -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,
@@ -30,7 +30,7 @@ orders. Mounting the game is STEP ONE of seven, not the deliverable.
30
30
  objects; the navigation slots show the host-computation form (host BFS
31
31
  over the game's own public graph, labeled as the host's in so many
32
32
  words).
33
- - The contract shapes: `packages/project/src/adapter/ingest/game-contract.ts`
33
+ - The contract shapes: `packages/editor-project/src/adapter/ingest/game-contract.ts`
34
34
  (root · lifecycle · systems.commands/state/hierarchy · systemAdapters) and
35
35
  `contract-system-adapters.ts` (the projection that rejects malformed
36
36
  claims — a `present` missing required members, or an `empty` without
@@ -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,12 +1,12 @@
1
1
  {
2
2
  "mcpServers": {
3
- "vgai": {
3
+ "volter": {
4
4
  "command": "npm",
5
- "args": ["run", "--silent", "vgai", "--", "mcp", "."]
5
+ "args": ["run", "--silent", "volter", "--", "mcp", "."]
6
6
  },
7
7
  "blender": {
8
8
  "command": "npm",
9
- "args": ["run", "--silent", "vgai", "--", "blender-mcp"]
9
+ "args": ["run", "--silent", "volter", "--", "blender-mcp"]
10
10
  }
11
11
  }
12
12
  }
@@ -1,6 +1,6 @@
1
- # AGENTS.md — VGAI Game Project
1
+ # AGENTS.md — Volter Game Project
2
2
 
3
- A standalone game built with VGAI — work here, not in the engine repo.
3
+ A standalone game built with Volter — work here, not in the engine repo.
4
4
  The editor is the authoring and verification surface.
5
5
 
6
6
  ## Route the request first
@@ -9,9 +9,9 @@ The editor is the authoring and verification surface.
9
9
  | --- | --- |
10
10
  | Build or change this game | This file + the relevant `.agents/references/project-manual.md` section |
11
11
  | Open, play, or verify it | `.agents/skills/editor/SKILL.md` |
12
- | Model or revise a game prop with Blender | `.agents/skills/vgai-3d-models/SKILL.md` |
13
- | The game needs a 3D asset placed, rigged, or baked | `.agents/skills/vgai-3d-models/SKILL.md` (model and export); placement, stories and baking in `.agents/references/project-manual.md` |
14
- | Other craft (2D/3D art, animation, humanoids, generated assets) | The matching `.agents/skills/vgai-*/SKILL.md` |
12
+ | Model or revise a game prop with Blender | `.agents/skills/volter-3d-models/SKILL.md` |
13
+ | The game needs a 3D asset placed, rigged, or baked | `.agents/skills/volter-3d-models/SKILL.md` (model and export); placement, stories and baking in `.agents/references/project-manual.md` |
14
+ | Other craft (2D/3D art, animation, humanoids, generated assets) | The matching `.agents/skills/volter-*/SKILL.md` |
15
15
  | Import an existing web game | Read-only compatibility report; never rewrite its source |
16
16
  | Browse or modify an example | Read-only, or scaffold a copy; user games never go in `examples/` |
17
17
 
@@ -21,7 +21,7 @@ generated projections (never edit); `CLAUDE.md` and
21
21
 
22
22
  **Capabilities are this project's standard libraries, and they are ADDED.**
23
23
  Before writing reusable plumbing, run
24
- bare `npm run --silent vgai -- add` (lists), inspect the match, and `add <id>` it —
24
+ bare `npm run --silent volter -- add` (lists), inspect the match, and `add <id>` it —
25
25
  the installed source is project-owned and editable. A doc naming
26
26
  `src/lib/<x>` describes what that capability installs.
27
27
 
@@ -29,7 +29,7 @@ the installed source is project-owned and editable. A doc naming
29
29
 
30
30
  1. Read the brief; write the initial `ROADMAP.md` task first (shape:
31
31
  the ROADMAP rule below).
32
- 2. Read `vgai.project.json` — each root's `adapter` owns its document
32
+ 2. Read `volter.project.json` — each root's `adapter` owns its document
33
33
  and lifecycle; read the root entry files and any data schema before
34
34
  editing. `src/main.ts` is the game's own standalone boot: it mounts each
35
35
  root with its own library (`<Canvas>` for `three`, react-dom for `dom`);
@@ -37,7 +37,7 @@ the installed source is project-owned and editable. A doc naming
37
37
  3. Start the editor now (`npm run dev`); tell the user the URL in your
38
38
  FIRST visible message. Keep it running and narrate as you build. The
39
39
  editor IS the Code-OSS workbench this machine declares in
40
- `.vgai/workbench.json` (the product's `create --workbench <dir>` writes it); with
40
+ `.volter/workbench.json` (the product's `create --workbench <dir>` writes it); with
41
41
  no declaration `npm run dev` refuses and prints the exact JSON to write —
42
42
  write it, do not work around it.
43
43
  4. Multiplayer: every SEAT is a person — an INSTANCE in one editor,
@@ -85,19 +85,19 @@ request needs.
85
85
  - **`DEVLOG.md` is the development journal, not a second tracker.** One
86
86
  entry per arc: what changed, why, decisions, playtest outcome, what
87
87
  remains — with reviewed screenshots (a clip when motion matters)
88
- promoted from `.vgai/` history into `media/`; inspect every artifact
88
+ promoted from `.volter/` history into `media/`; inspect every artifact
89
89
  you attach, never the latest blindly.
90
90
  - **Record through the eval door**: Play running →
91
91
  `eval 'return editor.recording.start({ fps: 30 })'`, drive via
92
92
  `game.*`, `eval 'return editor.recording.stop()'` → WebM under
93
- `.vgai/recordings/`. Inspect/trim with ordinary `ffmpeg`; no wrappers.
93
+ `.volter/recordings/`. Inspect/trim with ordinary `ffmpeg`; no wrappers.
94
94
  - **Keep Three source modular:** thin `src/world.tsx`; compositions in
95
95
  `src/scenes/*Scene.tsx` (no stories); placeables in `src/prefabs/` with
96
96
  stories; support in `src/components/`. Owned parts stay inside their
97
97
  owner; independent entities never hide in scenery; no monoliths, no
98
98
  prefab-per-primitive. E10/E11 enforce declared classifications and W10
99
99
  warns when a Three project silently loses all prefabs. Characters are ALWAYS rigged models
100
- authored in Blender (`vgai-3d-models`), never primitive stacks.
100
+ authored in Blender (`volter-3d-models`), never primitive stacks.
101
101
  - Use Three.js, PixiJS, React, Rapier, and Colyseus directly — no
102
102
  wrappers, no parallel ECS or mirror tree.
103
103
  - The world node is the entity. On a TSX root, behavior is a React
@@ -109,8 +109,9 @@ request needs.
109
109
  unrecognized manifest key is rejected. Never call `createRoot`,
110
110
  `hydrateRoot`, or `ReactDOM.render` from project code.
111
111
  - One component, one concern.
112
- - A player HUD is a `dom` root, never drei `Html` (invisible in
113
- captures).
112
+ - UI is React DOM: a player HUD, menus and screens are the `dom` root
113
+ (`src/ui/game.tsx`, over the world), never a Pixi `canvas` root and never
114
+ drei `Html` (invisible in captures). A `canvas` root is 2D game rendering.
114
115
  - Never fabricate first-party data, modify imported game source without
115
116
  consent, or author schema fields with no runtime reader. The game's
116
117
  numbers and tables are plain typed literals under `src/data/`.
@@ -120,7 +121,7 @@ request needs.
120
121
  - Keep reference images and motion studies in `references/`; Content shows
121
122
  them without shipping them. Put assets the game loads in `public/`.
122
123
  - Repeatable sequences: flat scripts in `scripts/<task>/steps/` (README
123
- per step); intermediates in `.vgai/tmp/<task>/`. Helpers in
124
+ per step); intermediates in `.volter/tmp/<task>/`. Helpers in
124
125
  `src/lib/<domain>/` only when reusable and purely mechanical; no
125
126
  runners, task graphs, or auto-judges.
126
127
  - Editor control is observation and verification; write through source
@@ -133,7 +134,7 @@ request needs.
133
134
  Games are fundamentally unpredictable; pre-written assertions enter an
134
135
  endless rewrite cycle. Playtest live; the play log is the receipt.
135
136
 
136
- 1. Run `check-idioms`, `typecheck`, `validate`, and `validate-manifest`.
137
+ 1. Run `check-idioms`, `typecheck`, and `validate-manifest`.
137
138
  **`npm run typecheck` is the gate, never bare `tsc`** (bare `tsc`
138
139
  skips `src/tools`).
139
140
  2. The ONLY approved slice test is LIVE: a REPL-style manual session in
@@ -146,9 +147,9 @@ endless rewrite cycle. Playtest live; the play log is the receipt.
146
147
  the only all-clear.
147
148
  4. Enter Play and look. Capture a legible screenshot; **a hidden tab
148
149
  captures t≈0** — drive `game.waitSimTime` first.
149
- 5. Drive the game with `npm run --silent vgai -- eval '<js>'` — the one general
150
+ 5. Drive the game with `npm run --silent volter -- eval '<js>'` — the one general
150
151
  door (`{ editor, game, page, tools, session }`). Never synthetic
151
- keys, rAF loops, wall-clock sleeps, or `window.__vgai*` reads.
152
+ keys, rAF loops, wall-clock sleeps, or `window.__volter*` reads.
152
153
  6. Repeat for the few varied situations that could expose the change;
153
154
  the observations and screenshots ARE the proof.
154
155
  7. Inspect the live hierarchy against the taxonomy above; every prefab
@@ -162,17 +163,16 @@ endless rewrite cycle. Playtest live; the play log is the receipt.
162
163
  ## Commands
163
164
 
164
165
  ```bash
165
- npm run dev # open/reuse this project's editor (the workbench .vgai/workbench.json names)
166
- npm run --silent vgai -- status # require connected: true
167
- npm run --silent vgai -- play # editor Play mode
168
- npm run --silent vgai -- restart # remount after init-time edits
169
- npm run --silent vgai -- screenshot # visible evidence
170
- npm run --silent vgai -- eval '<js>' # THE door onto the running game
166
+ npm run dev # open/reuse this project's editor (the workbench .volter/workbench.json names)
167
+ npm run --silent volter -- status # require connected: true
168
+ npm run --silent volter -- play # editor Play mode
169
+ npm run --silent volter -- restart # remount after init-time edits
170
+ npm run --silent volter -- screenshot # visible evidence
171
+ npm run --silent volter -- eval '<js>' # THE door onto the running game
171
172
  npm run check-idioms # every slice
172
- npm run validate # manifest/files + React design states
173
173
  npm run typecheck # THE gate: src + src/tools + server
174
174
  npm run dev:standalone # EXPORTED builds only
175
175
  ```
176
176
 
177
- Always `npm run --silent vgai -- <verb>`, never a bare `vgai` (a global one may
177
+ Always `npm run --silent volter -- <verb>`, never a bare `volter` (a global one may
178
178
  belong to another checkout).
@@ -16,5 +16,5 @@ every small edit. Put the newest entry first and cover:
16
16
  Evidence linked here is durable project material. Review the actual candidate
17
17
  captures, reject unclear or unrepresentative frames, and watch each selected
18
18
  clip from beginning to end. Copy only the chosen media out of the bounded
19
- `.vgai/` run history into `media/screenshots/` or `media/clips/` before linking
19
+ `.volter/` run history into `media/screenshots/` or `media/clips/` before linking
20
20
  it here. Never cite an unreviewed capture merely because it is the latest one.
@@ -11,7 +11,7 @@ Legend: **ERROR** fails every run; **WARN** prints but fails only with
11
11
 
12
12
  - The source is the document. Three roots are ordinary R3F TSX, Canvas roots
13
13
  are ordinary Pixi/React source, and DOM roots are ordinary React. The world
14
- node is the entity; no mirror ECS, registration layer, or vgai runtime API
14
+ node is the entity; no mirror ECS, registration layer, or volter runtime API
15
15
  belongs in gameplay components. **LOOK**
16
16
  - A DOM HUD is a manifest `dom` root and reads the project's own React
17
17
  context/store. A timer repeatedly copying game state into React state is a
@@ -60,7 +60,7 @@ Legend: **ERROR** fails every run; **WARN** prints but fails only with
60
60
  behavior being judged. The tester's repertoire grows in the slice that adds
61
61
  each mechanic. **LOOK**
62
62
  - `src/tools/` is literal contribution TSX. The unfinished Tester/Data/Analytics stubs
63
- emit `VGAI_STUB_UNIMPLEMENTED`; replacing or honestly deleting the relevant
63
+ emit `VOLTER_STUB_UNIMPLEMENTED`; replacing or honestly deleting the relevant
64
64
  stub is required before completion. **ERROR E6**
65
65
  - Tester holds live QA state, controller ownership, goals/mind, setup cheats,
66
66
  and judgment readings. Analytics holds historical session data. Data holds
@@ -76,7 +76,7 @@ Legend: **ERROR** fails every run; **WARN** prints but fails only with
76
76
  - Playtesting is interactive: arrange, direct the tester, advance sim time,
77
77
  observe, read the log, redirect. No committed route, test file, test-runner
78
78
  dependency, or test script belongs in a game project. **ERROR E12**
79
- - Do not boot a private Playwright harness, reach through `window.__vgai`, or
79
+ - Do not boot a private Playwright harness, reach through `window.__volter`, or
80
80
  add `?bot=` boot plumbing. Use the editor-owned session and the game's
81
81
  running modules. **ERROR E1–E4**
82
82
  - Gameplay source must not accumulate for many commits before the first Play
package/template/LICENSE CHANGED
@@ -2,13 +2,13 @@ MIT License
2
2
 
3
3
  Copyright (c) 2026 Volter AI, Inc.
4
4
 
5
- This MIT license covers the vgai game-project template (this directory) — the
5
+ This MIT license covers the Volter game-project template (this directory) — the
6
6
  starter code scaffolded into your project. It is intentionally permissive so that
7
- the game you build with vgai, and anything you generate from this template, is
7
+ the game you build with Volter, and anything you generate from this template, is
8
8
  YOURS, free of any obligations to us. You may relicense your generated game
9
9
  under any terms you choose.
10
10
 
11
- (The vgai engine and tooling — everything outside this directory — are licensed
11
+ (The Volter engine and tooling — everything outside this directory — are licensed
12
12
  per component: Apache-2.0 core, AGPL-3.0 editor. See the repository LICENSE.md.)
13
13
 
14
14
  Permission is hereby granted, free of charge, to any person obtaining a copy