@volter/game-editor 0.5.65 → 0.5.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUNDLED_NOTICES +1962 -363
- package/catalog/entries/bake.json +0 -1
- package/catalog/entries/blender.json +2 -2
- package/catalog/entries/reflections.json +2 -4
- package/catalog/project-source/src/lib/bake/asset-seed.ts +1 -2
- package/catalog/project-source/src/lib/bake/clip-layering.ts +3 -4
- package/catalog/project-source/src/lib/bake/gltf-bake.ts +1 -1
- package/catalog/project-source/src/lib/bake/params.ts +3 -5
- package/catalog/project-source/src/lib/bake/rest-relative-animation.ts +2 -3
- package/dist/.vite/manifest.json +2406 -2182
- package/dist/assets/{AssetBudgetPanel-J9--TZPU.js → AssetBudgetPanel-csYWK2H4.js} +8 -8
- package/dist/assets/{AudioViewer-CR7333fe.js → AudioViewer-BH_LUYs5.js} +1 -1
- package/dist/assets/{BVHLoader-6bQIXhMX.js → BVHLoader-Jkzh8hMf.js} +1 -1
- package/dist/assets/BufferGeometryUtils-CAbuTPOA.js +1 -0
- package/dist/assets/{CCDIKSolver-CD7vLpsK.js → CCDIKSolver-D4NvkJ8d.js} +1 -1
- package/dist/assets/{CSS3DRenderer-CL7ABLVK.js → CSS3DRenderer-CAS2WZZy.js} +1 -1
- package/dist/assets/CanvasSceneViewport-BlsRTk-X.js +1 -0
- package/dist/assets/ColladaLoader-DxYB89DA.js +3 -0
- package/dist/assets/{ColorInput-DQBNrW-K.js → ColorInput-CPQNsDf1.js} +1 -1
- package/dist/assets/{ConvexGeometry-CAzXlPVG.js → ConvexGeometry-Dinf-sev.js} +1 -1
- package/dist/assets/{ConvexHull-BINCESFp.js → ConvexHull-CrJ8FY-w.js} +1 -1
- package/dist/assets/{DecalGeometry-160KRdfg.js → DecalGeometry-owkbefLa.js} +1 -1
- package/dist/assets/EffectComposer-BHDH-NLz.js +1 -0
- package/dist/assets/EntityModelDocument-DuQivdvc.js +1 -0
- package/dist/assets/EnvironmentAssetDocument-CnTEMn3A.js +1 -0
- package/dist/assets/FBXLoader-BMUbIhtE.js +1 -0
- package/dist/assets/Fbo-DrK7CWlB.js +1 -0
- package/dist/assets/{FontLoader-CvGoVI5a.js → FontLoader-BR_K6Baw.js} +2 -2
- package/dist/assets/GLTFExporter-BZqAQJbw.js +1 -0
- package/dist/assets/{GameplaySessionTimeline-B52W3FVZ.js → GameplaySessionTimeline-Crqwv2fP.js} +1 -1
- package/dist/assets/Gltf-7cVbZUzT.js +2 -0
- package/dist/assets/ImageViewer-BkFie7Hm.js +1 -0
- package/dist/assets/InspectorObjectPreview-Dl3tyJBn.js +1 -0
- package/dist/assets/JsonAssetDocument-BUFzubHM.js +2 -0
- package/dist/assets/{LineSegments2-CsOpKSiM.js → LineSegments2-Cicm_Hu1.js} +2 -2
- package/dist/assets/LiveModuleDocument-C3OQxiba.js +1 -0
- package/dist/assets/LutAssetDocument-DVzd1RZ9.js +1 -0
- package/dist/assets/{MTLLoader-_Xzd4_0p.js → MTLLoader-Bg_grNiT.js} +2 -2
- package/dist/assets/{MarchingCubes-Bsp4wrzd.js → MarchingCubes-a78AL3HB.js} +1 -1
- package/dist/assets/MeshBVH-BCSLNEeP.js +1 -0
- package/dist/assets/ModelAssetDocument-pN84goRT.js +1 -0
- package/dist/assets/{NonThreeAuthoringBootstrap-C3woOMxX.js → NonThreeAuthoringBootstrap-BKNejRiW.js} +1 -1
- package/dist/assets/{OBJLoader-BhIC6Hwo.js → OBJLoader-BiwzVj5b.js} +2 -2
- package/dist/assets/Object3DDocumentToolbar-D5Bg5FEf.js +1 -0
- package/dist/assets/Object3DDocumentViewport-DFHqru3a.js +2 -0
- package/dist/assets/Object3DPreview-BTtZ-41z.js +2 -0
- package/dist/assets/OnlineAssetDetail-BAqozdAp.js +1 -0
- package/dist/assets/{OrbitControls-DLpayAaK.js → OrbitControls-CzKVCORl.js} +1 -1
- package/dist/assets/{OrbitControls-CM3bPray.js → OrbitControls-CzTRRI7x.js} +1 -1
- package/dist/assets/{OrthographicCamera-bQozawrh.js → OrthographicCamera-CSDDsvu7.js} +1 -1
- package/dist/assets/{PLYLoader-DYQqs5Ik.js → PLYLoader-QxrxxMpE.js} +2 -2
- package/dist/assets/{PerspectiveCamera-CQ2lh01o.js → PerspectiveCamera-DzD_NfVh.js} +1 -1
- package/dist/assets/PlayBar-qVJpgwJt.js +2 -0
- package/dist/assets/QuarksAssetDocument-B4vBlUsS.js +2 -0
- package/dist/assets/RGBELoader-WQ7xZofE.js +1 -0
- package/dist/assets/RectAreaLightUniformsLib-CwcuoVqt.js +1 -0
- package/dist/assets/{RenderPass-DPrn-Uky.js → RenderPass-C_CeQNdh.js} +1 -1
- package/dist/assets/{ResolutionPicker-C67vs1F3.js → ResolutionPicker-DpHVJxn5.js} +1 -1
- package/dist/assets/RootSelectionOverlay-BxvsunO4.js +1 -0
- package/dist/assets/{RoundedBox-BDGBg6QZ.js → RoundedBox-B_cZ0NFy.js} +1 -1
- package/dist/assets/{RoundedBoxGeometry-CyUuYPfW.js → RoundedBoxGeometry-Y4rcSIvX.js} +1 -1
- package/dist/assets/STLLoader-Bej_Nkpr.js +1 -0
- package/dist/assets/{SelectionBox-D_75KrNW.js → SelectionBox-Cn9vm7f9.js} +1 -1
- package/dist/assets/ShaderAssetDocument-Dx2x8CLr.js +12 -0
- package/dist/assets/{ShaderPass-QYRpPuFJ.js → ShaderPass-qtkA7CQ8.js} +1 -1
- package/dist/assets/{ShadowEditor-DkImwu1Y.js → ShadowEditor-BEIUkrHL.js} +1 -1
- package/dist/assets/SimplifyModifier-D2EesGr2.js +1 -0
- package/dist/assets/{SkeletonUtils-Cps8GOC6.js → SkeletonUtils-C8ayciDc.js} +1 -1
- package/dist/assets/{Sky-CQKCgYDs.js → Sky-BBpnAJZV.js} +1 -1
- package/dist/assets/SourceAssetViewer-BpMbbuy6.js +1 -0
- package/dist/assets/StageHost-lB8f---y.js +2 -0
- package/dist/assets/{StoryPreviewMount-DjyxRCXu.js → StoryPreviewMount-BIfxmkYh.js} +1 -1
- package/dist/assets/{TDSLoader-D_T8XJ81.js → TDSLoader-rHl5Uwc0.js} +1 -1
- package/dist/assets/{TextGeometry-DOWAEUV0.js → TextGeometry-BRHSufuM.js} +1 -1
- package/dist/assets/ThreeBoardDocument-BHV92Ia3.js +2 -0
- package/dist/assets/{ThreeIsolationSceneContent-C8C8whSF.js → ThreeIsolationSceneContent-BqtgDHBK.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-BRoDWe4Q.js → ToolObject3DPreview-CcaPJTyH.js} +1 -1
- package/dist/assets/Toolbar-keHcSvDD.js +1 -0
- package/dist/assets/{TrackballControls-DfznuQTh.js → TrackballControls-Cce-6Ff5.js} +1 -1
- package/dist/assets/{TransientHint-BB1fwrvK.js → TransientHint-Dlslh3oX.js} +1 -1
- package/dist/assets/{UnrealBloomPass-CR-cS_K5.js → UnrealBloomPass-DiseEiFK.js} +2 -2
- package/dist/assets/{VideoViewer-C6kocgIU.js → VideoViewer-naGSXHd6.js} +1 -1
- package/dist/assets/ViewportShadingMenu-C7Hdhtca.js +1 -0
- package/dist/assets/{active-ingest-CT6jSGhr.js → active-ingest-DEgq9JiA.js} +3 -3
- package/dist/assets/{animation-clock-CnjZqfJp.js → animation-clock-lTIb6nk3.js} +1 -1
- package/dist/assets/animation-mixers.service-2O2rVwQf.js +1 -0
- package/dist/assets/asset-budget-asset.menu-9NhdHAC9.js +1 -0
- package/dist/assets/asset-budget.action-yg6-luUJ.js +1 -0
- package/dist/assets/asset-budget.document-B46_VFqa.js +1 -0
- package/dist/assets/asset-budget.menu-DuH07N-e.js +1 -0
- package/dist/assets/{asset-editor-persistence-BBaONOJt.js → asset-editor-persistence-BVtzjadu.js} +1 -1
- package/dist/assets/{asset-loaders-BOy5Ss8k.js → asset-loaders-BxG1LykH.js} +2 -2
- package/dist/assets/{assets-BuSoGjBX.js → assets-Do88ZdV_.js} +1 -1
- package/dist/assets/{audio-unlock.service-CfUgUQVy.js → audio-unlock.service-BJH0mWvX.js} +1 -1
- package/dist/assets/{audio.utility-C6K6jem8.js → audio.utility-Cp4aVYFU.js} +1 -1
- package/dist/assets/autoplay.service-FxpRy7Ev.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-CL02gWDn.js → babylon-authoring-adapter-B_8iE8fK.js} +1 -1
- package/dist/assets/{binding-resolver-Dsh-6Vor.js → binding-resolver-BWwG10zJ.js} +2 -2
- package/dist/assets/blender-emscripten-engine-CEsWgnR7.js +2 -0
- package/dist/assets/{blender-node-editor.document-iIDkB9sI.js → blender-node-editor.document-DTgwy8KC.js} +1 -1
- package/dist/assets/blender-properties-tab-DWSJpkxq.js +3 -0
- package/dist/assets/blender-runtime-host-OGjPjTrG.js +4 -0
- package/dist/assets/{blender-runtime-skin-DyQ9B6CR.js → blender-runtime-skin-DymtXlpt.js} +37 -39
- package/dist/assets/blender-runtime.document-CzH2ohHR.js +8 -0
- package/dist/assets/{blender-timeline.document-77fx96N7.js → blender-timeline.document-BRy_QPHt.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-fsT7B4gV.js → blender-uv-editor.document-D-AbUCqz.js} +1 -1
- package/dist/assets/{blender-version.status-o6dBm3n6.js → blender-version.status-B7flzX_7.js} +1 -1
- package/dist/assets/{blender-wali-engine-wTOcrOMC.js → blender-wali-engine-D3iKpzn9.js} +1 -1
- package/dist/assets/blender.command-BVHtgTQy.js +1 -0
- package/dist/assets/blender.environment-CG-pC7sk.js +1 -0
- package/dist/assets/{blender.style-Dcem5f_T.js → blender.style-CxfbTFcE.js} +1 -1
- package/dist/assets/{board-guides-DziKSTss.js → board-guides-C3usUZZk.js} +1 -1
- package/dist/assets/body-marks-D8iaje6y.js +1 -0
- package/dist/assets/bridge.command-BF9u6r0A.js +3 -0
- package/dist/assets/browserAll-38aBu-cf.js +1 -0
- package/dist/assets/{build-profiles.document-kW8iw8Xj.js → build-profiles.document-DO7oNRuo.js} +2 -2
- package/dist/assets/{build-progress.status-BNRLytg2.js → build-progress.status-COeNVhYd.js} +1 -1
- package/dist/assets/{build-session-C_sg3CEn.js → build-session-IWIriS5P.js} +1 -1
- package/dist/assets/{build.action-lYjTLb7K.js → build.action-DlkFvZf6.js} +1 -1
- package/dist/assets/{build.command-DIGgUPU_.js → build.command-DPqQIYj_.js} +1 -1
- package/dist/assets/{build.header-CKajx5U3.js → build.header-CNLG-pV8.js} +1 -1
- package/dist/assets/{build.menu-BdU0QXny.js → build.menu-hUlH6loi.js} +1 -1
- package/dist/assets/{build.service-CbBAyeu3.js → build.service-C86Td3_9.js} +1 -1
- package/dist/assets/{camera-KEsKvOL7.js → camera-CKbyBXMe.js} +1 -1
- package/dist/assets/camera-authoring-Ci3KnE-W.js +1 -0
- package/dist/assets/{camera-runtime.inspector-B7unX4g1.js → camera-runtime.inspector-DdR3P2BF.js} +1 -1
- package/dist/assets/canvas-entry-runtime-E5YjSgre.js +2 -0
- package/dist/assets/canvas-preview-frames-CiAx7dpV.js +1 -0
- package/dist/assets/{capability-coverage-Czas4C18.js → capability-coverage-CfUeULDN.js} +5 -5
- package/dist/assets/city-EkhAOo5s.exr +0 -0
- package/dist/assets/{collaboration-presence-DLoZ7EA3.js → collaboration-presence-CSLFNT7m.js} +1 -1
- package/dist/assets/{collider-Bw0mXlsW.js → collider-DRSaLRM9.js} +1 -1
- package/dist/assets/{component-board.service-DCwcUssB.js → component-board.service-B7Sv8b7m.js} +2 -2
- package/dist/assets/component-board.service-B8UHw8dn.js +2 -0
- package/dist/assets/component-contracts.service-LFGekycZ.js +1 -0
- package/dist/assets/{component-verbs.command-7xzfjGMZ.js → component-verbs.command-D4SvFjfG.js} +1 -1
- package/dist/assets/component-verbs.service-TGvWxf2b.js +1 -0
- package/dist/assets/{config-CEZk921y.js → config-DB_RH-hO.js} +3 -3
- package/dist/assets/{configurations-DTBMdaTL.js → configurations-C2qgJNnW.js} +1 -1
- package/dist/assets/{connection.status-BifnQdOs.js → connection.status-CG7X2brL.js} +1 -1
- package/dist/assets/{console-bridge-CHcb-xk5.js → console-bridge-B5Ltae37.js} +1 -1
- package/dist/assets/{constraint-De8f1Uiq.js → constraint-C_Jj7dXy.js} +1 -1
- package/dist/assets/constraints.inspector-D6QZJS4b.js +1 -0
- package/dist/assets/courtyard-DqlebbpC.exr +0 -0
- package/dist/assets/coverage.service-Clo86874.js +3 -0
- package/dist/assets/{create-runtime-CVCc1BDx.js → create-runtime-lmA910XT.js} +1 -1
- package/dist/assets/{curve-7Q79VgU4.js → curve-6-TR6dNb.js} +1 -1
- package/dist/assets/{data-asset-4hjS642k.js → data-asset-BNbd309U.js} +1 -1
- package/dist/assets/{data-ref-CQI28C0D.js → data-ref-Dvmd7eb1.js} +1 -1
- package/dist/assets/{debug-bridge-CCohG-d-.js → debug-bridge-BUNhgyY6.js} +1 -1
- package/dist/assets/{debug-registry-Dgvitx8M.js → debug-registry-B3Cnne3x.js} +1 -1
- package/dist/assets/deferred-ingest-play-7V8OrW3e.js +2 -0
- package/dist/assets/design-time-layers-g9VS6amb.js +1 -0
- package/dist/assets/design-time-mount.service-HtMr_vBd.js +2 -0
- package/dist/assets/design-time-react-mount-Dx6fJ-Hg.js +1 -0
- package/dist/assets/{directional-shadow-fit-BVkOKAv2.js → directional-shadow-fit-Cjz_Eg2b.js} +1 -1
- package/dist/assets/{document-preview-three-Kbg2GCLm.js → document-preview-three-C3y0syYQ.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-CY8C7f4T.js → dom-authoring-adapter-CEeFyatF.js} +1 -1
- package/dist/assets/{draco3d-BBUTcNkz.js → draco3d-FKy0apkb.js} +1 -1
- package/dist/assets/drei-asset-caches-jJoHXbTj.js +2 -0
- package/dist/assets/{edit-mode-audio.service-Bzetwd5B.js → edit-mode-audio.service-DZTnrW6t.js} +1 -1
- package/dist/assets/edit-mode-authoring-D_BiHCQj.js +1 -0
- package/dist/assets/{edit-mode-networking.service-YCX6RRb_.js → edit-mode-networking.service-BzMI2VxO.js} +1 -1
- package/dist/assets/editor-api-Bzmo0o8_.js +1 -0
- package/dist/assets/{entry-adjudication-Cq8Yeb74.js → entry-adjudication-BYy7TXOB.js} +1 -1
- package/dist/assets/{events-156d8d12.esm-ErOhDXXB.js → events-156d8d12.esm-C734MYnx.js} +7 -7
- package/dist/assets/{extend-B-eOccUm.js → extend-CLG0ymiX.js} +1 -1
- package/dist/assets/forest-P_CQY3b_.exr +0 -0
- package/dist/assets/fork-menu-De7HU6_H.js +1 -0
- package/dist/assets/{frame-debugger-store-D1Mf_5up.js → frame-debugger-store-BZgIOlU6.js} +1 -1
- package/dist/assets/{game-DHOZVb-7.js → game-D5EJoILQ.js} +1 -1
- package/dist/assets/{game-contract-seams-a5YXejOu.js → game-contract-seams-TCpIMmHP.js} +1 -1
- package/dist/assets/{game-css-scope-transform-Eng4wS8E.js → game-css-scope-transform-NbpajQr-.js} +1 -1
- package/dist/assets/game-document.service-6eRlrI-d.js +1 -0
- package/dist/assets/game-eval.command-hKnSMlX0.js +2 -0
- package/dist/assets/{game-input-seams-CIQdetRw.js → game-input-seams-BC6xhZy3.js} +1 -1
- package/dist/assets/{game-module-access-B2mFxv-i.js → game-module-access-ry3xb1Ix.js} +1 -1
- package/dist/assets/{gameplay-export-BoKXm51x.js → gameplay-export-DiLQuPpn.js} +1 -1
- package/dist/assets/gameplay-replay-Bsre-1K8.js +1 -0
- package/dist/assets/{gameplay-rng-trap-CTNhm-UW.js → gameplay-rng-trap-BhRx_CtU.js} +1 -1
- package/dist/assets/gameplay.command-BqiyGn-I.js +1 -0
- package/dist/assets/{generation-jobs-BQrXbGp_.js → generation-jobs-BYcpgeGk.js} +1 -1
- package/dist/assets/generation.service-O81IqA-6.js +1 -0
- package/dist/assets/{generations-DzUogZsM.js → generations-CsGQ3twi.js} +1 -1
- package/dist/assets/{generations.status-CgOUBCum.js → generations.status-C3YU0_ml.js} +1 -1
- package/dist/assets/godot.style-DxJaFWOP.js +1 -0
- package/dist/assets/godot.view-BFsHk8b2.js +1 -0
- package/dist/assets/{hosted-asset-materialization-CiIvWkGU.js → hosted-asset-materialization-Bk-plQF6.js} +2 -2
- package/dist/assets/{ibl-override-material-BlmCxFKq.js → ibl-override-material-BhbGwgS1.js} +1 -1
- package/dist/assets/{index-mjWQmGhM.js → index-0n9eSzwT.js} +1 -1
- package/dist/assets/index-B4bmKkgY.css +1 -0
- package/dist/assets/index-BLo2LE8C.js +3404 -0
- package/dist/assets/index-BWW4-DBH.js +1 -0
- package/dist/assets/index-CLcsjKUs.js +1 -0
- package/dist/assets/index-CU5YUq-x.js +134 -0
- package/dist/assets/{index-DUpHH6JR.js → index-Cb6o_Td_.js} +1 -1
- package/dist/assets/index-Ckxb31Yz.js +1500 -0
- package/dist/assets/index-CnpsJMao.js +1 -0
- package/dist/assets/index-Cr23XhNm.js +1 -0
- package/dist/assets/index-DO1rWQ_r.js +487 -0
- package/dist/assets/{index-BcCBqgM_.js → index-DUh02lTr.js} +1 -1
- package/dist/assets/index-DXEHfb0b.js +1 -0
- package/dist/assets/{index-V1R-e5Bd.js → index-wRCvCebM.js} +1 -1
- package/dist/assets/{inference-diagnostics-Dhmtfbq_.js → inference-diagnostics-YW0yJkKx.js} +1 -1
- package/dist/assets/{ingest-BbYMC2vQ.js → ingest-BlQnR7s3.js} +1 -1
- package/dist/assets/ingest-boot-viewport-uG9jQ1zm.js +1 -0
- package/dist/assets/ingest-siblings-DRQXSWax.js +1 -0
- package/dist/assets/{ingest-source-persistence-C_6Hiyra.js → ingest-source-persistence-DH6ioCOu.js} +1 -1
- package/dist/assets/{ingest.service-BTDnQfM1.js → ingest.service-GeaWMaZX.js} +1 -1
- package/dist/assets/{input-manager-DH_hGW6d.js → input-manager-Cxx3RJgG.js} +1 -1
- package/dist/assets/{input-router-BNQvtIqw.js → input-router-FzxO5ld6.js} +1 -1
- package/dist/assets/{inspect-BZfi3mmo.js → inspect-BRgDdtVk.js} +1 -1
- package/dist/assets/instances.command-CFOMPSj3.js +1 -0
- package/dist/assets/{instruments-CKR02Y8I.js → instruments-IKn-vvNb.js} +1 -1
- package/dist/assets/interior-Bo_lba15.exr +0 -0
- package/dist/assets/{json-history-resource-BbxllWfV.js → json-history-resource-r-9q_hxP.js} +1 -1
- package/dist/assets/{light-D-_wsKTq.js → light-CFAor97k.js} +1 -1
- package/dist/assets/light-camera-factory-D1sgz3YB.js +1 -0
- package/dist/assets/live-mixers-BRkRHd6g.js +1 -0
- package/dist/assets/{loader-CaF_I7Yt.js → loader-BbMsvIxP.js} +1 -1
- package/dist/assets/machine.document-CgmsOh-s.js +24 -0
- package/dist/assets/machines.finder-nxiCgQc2.js +1 -0
- package/dist/assets/matcap-texture-Dh65bX5V.js +1 -0
- package/dist/assets/{material-CpAdjDxn.js → material-D5kXEZWQ.js} +1 -1
- package/dist/assets/{material-factory-Bz6h__6g.js → material-factory-0Qb0VuZ5.js} +1 -1
- package/dist/assets/material-preview.view-DqNcpd_b.js +1 -0
- package/dist/assets/{mesh-B3WPtNKO.js → mesh-BKPgNTwh.js} +1 -1
- package/dist/assets/{mesh-shadow-CZnXrw_l.js → mesh-shadow-BDQP4mHs.js} +1 -1
- package/dist/assets/model-asset-sections.service-DWPLmkqa.js +1 -0
- package/dist/assets/model-inspection-Cxfg_Fei.js +1 -0
- package/dist/assets/model.layout-BpZE1W9V.js +1 -0
- package/dist/assets/{models.finder-G2jQgIRu.js → models.finder-DHW17ZEa.js} +1 -1
- package/dist/assets/module-mode-CRfHyIMS.js +2 -0
- package/dist/assets/mount-canvas-ingest-root-BZZ8M3Lu.js +2 -0
- package/dist/assets/mount-dom-ingest-root-D1GV6Jjt.js +2 -0
- package/dist/assets/{mount-game-6t9cKNo4.js → mount-game-F9e76auh.js} +1 -1
- package/dist/assets/mount-ingest-root-B5D-Lmmk.js +2 -0
- package/dist/assets/{mount-manifest-CGVxhmAw.js → mount-manifest-cYRhgHfo.js} +1 -1
- package/dist/assets/mount-three-ingest-root-BNnouaBn.js +1 -0
- package/dist/assets/{mounted-authoring-Dmg5xmhP.js → mounted-authoring-TIN5EnCb.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-DjP6RA9U.js → mounted-story-viewport-source-CAlEmE0_.js} +1 -1
- package/dist/assets/{native-debug-module-CWicoSGD.js → native-debug-module-j-MekcLS.js} +1 -1
- package/dist/assets/{navigation-CIiCx-SM.js → navigation-DmR1BDVo.js} +1 -1
- package/dist/assets/{navmesh.menu-CAKiH8PW.js → navmesh.menu-FhL1pGx1.js} +1 -1
- package/dist/assets/{navmesh.service-jgDWlgj1.js → navmesh.service-usyDeJlm.js} +1 -1
- package/dist/assets/{network.utility-CEu5nHf7.js → network.utility-BPh4hTmh.js} +1 -1
- package/dist/assets/night-CvV4Gybt.exr +0 -0
- package/dist/assets/{object3d-authoring-subject-CH5sI2oP.js → object3d-authoring-subject-CyE4rQ2A.js} +1 -1
- package/dist/assets/oid-transform-BOqL6YH6.js +2 -0
- package/dist/assets/{particles-Y626p22p.js → particles-C47L-dda.js} +1 -1
- package/dist/assets/particles-factory-CRqPLdS7.js +1 -0
- package/dist/assets/pixi-authoring-adapter-C5Ikqj5-.js +1 -0
- package/dist/assets/{pixi-live-write-target-DuWydlWb.js → pixi-live-write-target-OWBk79dp.js} +1 -1
- package/dist/assets/pixi-primitive-D5igywJ_.js +1 -0
- package/dist/assets/pixi-react-root-factory-9lZ0Yz-n.js +1 -0
- package/dist/assets/play-mode-DomOvQie.js +22 -0
- package/dist/assets/play.command-DoqjH-Pp.js +2 -0
- package/dist/assets/{playtest-BXIL1JEF.js → playtest-BnFenMBW.js} +1 -1
- package/dist/assets/{pose-guard-6Osb2cFu.js → pose-guard-Bb3gZOzk.js} +1 -1
- package/dist/assets/{product-DFhyARJj.js → product-CTDJoVo5.js} +1 -1
- package/dist/assets/{profiler.action-CaXJDp3t.js → profiler.action-C_OFGkDw.js} +1 -1
- package/dist/assets/{profiler.menu-BIMF6Bi4.js → profiler.menu-BJbnVoo4.js} +1 -1
- package/dist/assets/{profiler.utility-BExw9wBO.js → profiler.utility-qpfhuwRw.js} +1 -1
- package/dist/assets/project-authoring-session-BV-MM8Fl.js +2 -0
- package/dist/assets/{project-provenance-BoP3nrle.js → project-provenance-4ldz-EOG.js} +1 -1
- package/dist/assets/{properties-bone-constraints.inspector-ByT6p7S-.js → properties-bone-constraints.inspector-C-ByIdg1.js} +1 -1
- package/dist/assets/{properties-bone.inspector-z4qJwKO5.js → properties-bone.inspector-CXY0xCQB.js} +1 -1
- package/dist/assets/{properties-collection.inspector-D0_3ijWU.js → properties-collection.inspector-DIfkZAel.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-CESzjuls.js → properties-constraints.inspector-BaunL5nT.js} +1 -1
- package/dist/assets/{properties-data.inspector-hG8Wgyzb.js → properties-data.inspector-DQD-jfO2.js} +1 -1
- package/dist/assets/{properties-material.inspector-CzY0JCQ6.js → properties-material.inspector-A0HZ4SX6.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-3dDhwf7g.js → properties-modifiers.inspector-GUnVhVwZ.js} +1 -1
- package/dist/assets/{properties-object.inspector-CiarfxkT.js → properties-object.inspector-Chsfa4Xa.js} +1 -1
- package/dist/assets/{properties-output.inspector-DKJxmKSD.js → properties-output.inspector-U7ZmD0Me.js} +1 -1
- package/dist/assets/{properties-particles.inspector-CCEdYWGm.js → properties-particles.inspector-umkW-OlI.js} +1 -1
- package/dist/assets/{properties-physics.inspector-B2c0KUyA.js → properties-physics.inspector-CLVBlWwL.js} +1 -1
- package/dist/assets/{properties-render.inspector-Bcm0HLRW.js → properties-render.inspector-D0u9taKy.js} +1 -1
- package/dist/assets/{properties-scene.inspector-PIM_eTb_.js → properties-scene.inspector-JwGCZQAx.js} +1 -1
- package/dist/assets/{properties-texture.inspector-CgFlnyr8.js → properties-texture.inspector-B1vC28pw.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-DGjF_Aqo.js → properties-view-layer.inspector-BuUKyBFp.js} +1 -1
- package/dist/assets/{properties-world.inspector-CrMvaRvB.js → properties-world.inspector-VXUj4dT4.js} +1 -1
- package/dist/assets/r3f-design-session-qJ2v5SrB.js +2 -0
- package/dist/assets/r3f-physics-binding-C8OqNRG2.js +1 -0
- package/dist/assets/{r3f-root-factory-z9llD1OU.js → r3f-root-factory-DjGnbU4n.js} +1 -1
- package/dist/assets/r3f-source-authoring-adapter-CG9heazM.js +12 -0
- package/dist/assets/{rapier-physics-bridge-CMoeVo3Y.js → rapier-physics-bridge-B-EK7KYV.js} +1 -1
- package/dist/assets/react-inspector.service-DWeXDHJq.js +1 -0
- package/dist/assets/{react-root-CEz5NTck.js → react-root-DGLRLr-F.js} +1 -1
- package/dist/assets/react-story-board-CSqHY0Cg.js +1 -0
- package/dist/assets/{react-three-fiber.esm-CycrbDlA.js → react-three-fiber.esm-BxIoqVh1.js} +1 -1
- package/dist/assets/{react-three-rapier.esm-CEfKpvxT.js → react-three-rapier.esm-BYzLhdSV.js} +1 -1
- package/dist/assets/react-world-authoring-adapter-BMT9kLWU.js +1 -0
- package/dist/assets/{realm-services-CobQsq_X.js → realm-services-D25JHoqD.js} +1 -1
- package/dist/assets/{reflection-probe-Don-M3Fj.js → reflection-probe-CqXWlicu.js} +1 -1
- package/dist/assets/{reflection-probe-capture.inspector-CmFUoJCx.js → reflection-probe-capture.inspector-B7Qa30vB.js} +1 -1
- package/dist/assets/regions-DWeEBnE2.js +1 -0
- package/dist/assets/{register-render-vitals-BiZk29b2.js → register-render-vitals-BO7x64kR.js} +1 -1
- package/dist/assets/{registry-02YZjMNp.js → registry-DlTluc4x.js} +1 -1
- package/dist/assets/{render-audio-control-vMRlePWb.js → render-audio-control-DCa_bOBI.js} +1 -1
- package/dist/assets/{render-batch-system-0vq7p0VC.js → render-batch-system-CzCp9YKM.js} +1 -1
- package/dist/assets/{render-control-Df3yTiyr.js → render-control-BNQr1eNO.js} +1 -1
- package/dist/assets/{render-env-D2IV2x5k.js → render-env-emvlfeTG.js} +1 -1
- package/dist/assets/{render-features-CPQ_e568.js → render-features-COF7MSQ9.js} +1 -1
- package/dist/assets/{render-settings-Bw4W9SYF.js → render-settings-C_kIMq8Y.js} +1 -1
- package/dist/assets/{resolve-three-SZE_WWUM.js → resolve-three-C-nx-QdA.js} +13 -13
- package/dist/assets/{root-seam-contract-Z0VWX3Bk.js → root-seam-contract-C7GOxf5x.js} +1 -1
- package/dist/assets/{run-ticks-settled-C4ksViyA.js → run-ticks-settled-B0cTtmhQ.js} +1 -1
- package/dist/assets/{scene-capture-CGYF-Viw.js → scene-capture-CLOc7GXc.js} +1 -1
- package/dist/assets/{scene-capture-BQKzU0NT.js → scene-capture-D10Nxkvp.js} +1 -1
- package/dist/assets/scene-document.service-B7kAVTko.js +2 -0
- package/dist/assets/{scene-framing-Cat0GtyJ.js → scene-framing-50N7SKuX.js} +1 -1
- package/dist/assets/{scene-index-B6BZOHMk.js → scene-index-Bce459yu.js} +1 -1
- package/dist/assets/{scene-query-C7_N-TpI.js → scene-query-IUZhw6pA.js} +1 -1
- package/dist/assets/{schema-kl9-2B_J.js → schema-Iy-mbzll.js} +1 -1
- package/dist/assets/sculpt.layout-D-K5cLw6.js +1 -0
- package/dist/assets/{seeded-random-i3mtgBKZ.js → seeded-random-CN0scLZj.js} +1 -1
- package/dist/assets/{session-CZ5JPg-z.js → session-CsR0lApe.js} +24 -15
- package/dist/assets/{setup-audio-S8GQF91f.js → setup-audio-BJ18gvXZ.js} +1 -1
- package/dist/assets/setup-particles-B6H-GbAA.js +1 -0
- package/dist/assets/{setup-physics-BeZ7-LKD.js → setup-physics-GugbTT0J.js} +1 -1
- package/dist/assets/{setup-renderer-DVXaSGin.js → setup-renderer-wt_a-p8r.js} +20 -20
- package/dist/assets/shading.layout-CZZHKBer.js +1 -0
- package/dist/assets/{sim-clock-CLflx7kg.js → sim-clock-DEfbb_-P.js} +1 -1
- package/dist/assets/{soft-particle-depth-DGvfQDi1.js → soft-particle-depth-CKUS1j0Y.js} +1 -1
- package/dist/assets/source-object3d-authoring-adapter-CfHQLFAL.js +1 -0
- package/dist/assets/{source-persistence-backend-C-aR-B_Y.js → source-persistence-backend-_-JMEXxE.js} +1 -1
- package/dist/assets/{spark-renderer-lifecycle-ynWESJcv.js → spark-renderer-lifecycle-9mnMW3Z4.js} +1 -1
- package/dist/assets/{spark.module-4pXQoz5d.js → spark.module-CXth-y_a.js} +1 -1
- package/dist/assets/stage-keyboard-C0FdDLOQ.js +1 -0
- package/dist/assets/stage-overlay-set-CwhCzbOy.js +1 -0
- package/dist/assets/stage-presence-markers-DVMDKiB-.js +1 -0
- package/dist/assets/stage-transform-tools-B09Z7v0o.js +1 -0
- package/dist/assets/standard-viewport-dressing-GUUr6GuK.js +20 -0
- package/dist/assets/{state-watch.action-BOvQR2qt.js → state-watch.action-CgF8qoFC.js} +1 -1
- package/dist/assets/{state-watch.menu-CNLvDeeY.js → state-watch.menu-CIMncESW.js} +1 -1
- package/dist/assets/{state-watch.utility-Bg1tTTQU.js → state-watch.utility-zTHkUALC.js} +1 -1
- package/dist/assets/static-batch-advisor-DqfXWRUq.js +1 -0
- package/dist/assets/story-capture-COQgezzl.js +1 -0
- package/dist/assets/story-documents-DQ0KORmd.js +3 -0
- package/dist/assets/story-documents.service-DOSaqPqv.js +1 -0
- package/dist/assets/story-documents.service-Gb7oUkbg.js +1 -0
- package/dist/assets/{story-media-presence-BHzk2IV5.js → story-media-presence-nW3zJqKv.js} +1 -1
- package/dist/assets/story-pixi-preview-COPTEsHo.js +1 -0
- package/dist/assets/story-presentation-CxADj5oz.js +1 -0
- package/dist/assets/{story-three-preview-BHEDZzcl.js → story-three-preview-C9W__8Or.js} +2 -2
- package/dist/assets/{structural-ids-Dc-7rEwi.js → structural-ids-CblajJQK.js} +1 -1
- package/dist/assets/studio-CysTBGIb.exr +0 -0
- package/dist/assets/sunrise-Dj0psFrf.exr +0 -0
- package/dist/assets/sunset-Bw3x2Bot.exr +0 -0
- package/dist/assets/{surface-state-DaxyruCj.js → surface-state-BAUJu6GY.js} +1 -1
- package/dist/assets/{system-runner-DkOjxEBt.js → system-runner-D_DtVrer.js} +1 -1
- package/dist/assets/team-playtest.service--79O6xkx.js +1 -0
- package/dist/assets/{three-CDSueJyJ.js → three-DSsr_Lvp.js} +1 -1
- package/dist/assets/{three-authoring-adapter-CmSQ3Vui.js → three-authoring-adapter-Yqsank46.js} +1 -1
- package/dist/assets/three-authoring.service-BDos-bRt.js +2 -0
- package/dist/assets/{three-ingest-runtime-QzDYk6tU.js → three-ingest-runtime-DWijtqQ8.js} +1 -1
- package/dist/assets/{three-projection-core-BmKMZ-nf.js → three-projection-core-kubBTx0s.js} +1 -1
- package/dist/assets/three-story-model-BraQFA9h.js +1 -0
- package/dist/assets/three-viewport-presentation-BL7Uc2i6.js +1 -0
- package/dist/assets/{three.module-D396a9Mn.js → three.module-IFn-4i31.js} +1 -1
- package/dist/assets/three.quarks.esm-CRKGjKAH.js +1039 -0
- package/dist/assets/transform-mode-request-Cu7ewbtr.js +1 -0
- package/dist/assets/{transform-writer-BhBBTx33.js → transform-writer-DXxrI4t7.js} +1 -1
- package/dist/assets/transport.header-CeND8Vzh.js +1 -0
- package/dist/assets/{trigger-volume-BNK2XzPL.js → trigger-volume-BCVRS3NM.js} +1 -1
- package/dist/assets/{tuples-CIQ4Bn1U.js → tuples-DKDGrN1t.js} +1 -1
- package/dist/assets/ui-board-document-DD2CAEAo.js +2 -0
- package/dist/assets/unity.style-vCmLw4gI.js +1 -0
- package/dist/assets/unity.view-DIn2S6Do.js +1 -0
- package/dist/assets/unreal.style-BQn-HhOX.js +1 -0
- package/dist/assets/unreal.view-adNBETZK.js +1 -0
- package/dist/assets/user-data-CZqsJDk-.js +1 -0
- package/dist/assets/{utility-view-state-BHypxA33.js → utility-view-state-DYJY8V8O.js} +1 -1
- package/dist/assets/uv-editing.layout-A8RA-cbM.js +1 -0
- package/dist/assets/{vgai-shared-three-Bc5PvpLM.js → vgai-shared-three-D_RAEumG.js} +1 -1
- package/dist/assets/{viewport-root-presentation-CWsE56K6.js → viewport-root-presentation-C9M98VNM.js} +1 -1
- package/dist/assets/{viewport-shading-BuA88e_A.js → viewport-shading-BzcvgJhK.js} +1 -1
- package/dist/assets/viewport-shading-boundary-CBvvzS-p.js +84 -0
- package/dist/assets/{viewport-surface-status-B3om4Kcf.js → viewport-surface-status-BFmnWp7z.js} +1 -1
- package/dist/assets/voxel-surface-ROWYug7H.js +1 -0
- package/dist/assets/webgl-frame-capture-CRKX73E9.js +1 -0
- package/dist/assets/webworkerAll-CehoCtFb.js +1 -0
- package/dist/assets/{worker-UrMcrc5_.js → worker-B7zhIsFh.js} +2 -2
- package/dist/assets/world-documents-DErHq15h.js +1 -0
- package/dist/assets/world-root-stage-binding-BIymcQ4K.js +1 -0
- package/dist/assets/{world-state-BWG-IcOd.js → world-state-ZGDGY_Xl.js} +1 -1
- package/dist/assets/{writer-B-KovzkA.js → writer-BPbm4_my.js} +5 -5
- package/dist/assets/xstate-animation-binding-Cvd4JbEY.js +1 -0
- package/dist/assets/{xstate-animation-meta-Q3u9zh_m.js → xstate-animation-meta-B3OZR8Q2.js} +1 -1
- package/dist/vgai-shared-three.json +1 -1
- package/dist-node/cli.js +317 -73
- package/dist-node/create.js +59 -19
- package/package.json +16 -13
- package/src/index.ts +6 -0
- package/template/.agents/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.agents/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/.claude/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.claude/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/.github/skills/vgai-3d-models/SKILL.md +3 -3
- package/template/.github/skills/vgai-threejs-authoring/SKILL.md +4 -9
- package/template/AGENTS.md +1 -1
- package/template/check-idioms.ts +4 -5
- package/template/package.json +9 -9
- package/template/tsconfig.json +1 -0
- package/template/vgai.adapter.ts +1 -0
- package/template-dotfiles/gitignore +2 -0
- package/workbench/src/media/game-cover.css +1 -1
- package/catalog/project-source/src/lib/bake/mesh-slice.ts +0 -157
- package/dist/assets/BufferGeometryUtils-Nz37EVXf.js +0 -1
- package/dist/assets/CanvasSceneViewport-Bpi6gVTC.js +0 -1
- package/dist/assets/ColladaLoader-aVOPIsCh.js +0 -3
- package/dist/assets/EXRLoader-Cdans_oJ.js +0 -1
- package/dist/assets/EffectComposer-DQxfsXBZ.js +0 -1
- package/dist/assets/EntityModelDocument-Ccvw66N9.js +0 -1
- package/dist/assets/EnvironmentAssetDocument-Dg-Qq6O6.js +0 -1
- package/dist/assets/FBXLoader-B4MoUtAn.js +0 -1
- package/dist/assets/Fbo-Dz-Soul3.js +0 -1
- package/dist/assets/GLTFExporter-HgrCle4L.js +0 -1
- package/dist/assets/Gltf-UHVWKz65.js +0 -2
- package/dist/assets/HDRLoader-THU88oVD.js +0 -5
- package/dist/assets/ImageViewer-Tn7s_MnW.js +0 -1
- package/dist/assets/InspectorObjectPreview-CVejvLRg.js +0 -1
- package/dist/assets/JsonAssetDocument-C7VGcLhu.js +0 -3
- package/dist/assets/MeshBVH-BiDHDcu-.js +0 -1
- package/dist/assets/ModelAssetDocument-F5GACirk.js +0 -1
- package/dist/assets/Object3DDocumentViewport-DB7T0NTl.js +0 -2
- package/dist/assets/Object3DPreview-DL8oi7Xs.js +0 -2
- package/dist/assets/OnlineAssetDetail-C6z9RvYK.js +0 -2
- package/dist/assets/PlayBar-BR-Vg3Jb.js +0 -2
- package/dist/assets/RGBELoader-BgBcQv8j.js +0 -1
- package/dist/assets/RectAreaLightUniformsLib-CMMoWfll.js +0 -1
- package/dist/assets/RootSelectionOverlay-BZPlxmXU.js +0 -1
- package/dist/assets/STLLoader-Dyv3lsxY.js +0 -1
- package/dist/assets/SimplifyModifier-C8ayvRzd.js +0 -1
- package/dist/assets/SourceAssetViewer-2SWQoUut.js +0 -12
- package/dist/assets/StageHost-BN-IoTef.js +0 -2
- package/dist/assets/ThreeBoardDocument-CVncZyIq.js +0 -2
- package/dist/assets/asset-budget-asset.menu-Di3KiQCd.js +0 -1
- package/dist/assets/asset-budget.action-DCzzcuTh.js +0 -1
- package/dist/assets/asset-budget.document-BWU8wnVW.js +0 -1
- package/dist/assets/asset-budget.menu-BGZpT_31.js +0 -1
- package/dist/assets/autoplay.service-BZBGNSvt.js +0 -1
- package/dist/assets/blender-emscripten-engine-9ZIRYNhe.js +0 -2
- package/dist/assets/blender-properties-tab-C5CyPydi.js +0 -3
- package/dist/assets/blender-runtime-host-BpBwGv7r.js +0 -4
- package/dist/assets/blender-runtime.document-lIYhhPtv.js +0 -8
- package/dist/assets/blender.command-BtJeWk-A.js +0 -1
- package/dist/assets/body-marks-h_xDxiDE.js +0 -1
- package/dist/assets/bridge.command-o5gDNEwa.js +0 -3
- package/dist/assets/browserAll-DeWblVez.js +0 -1
- package/dist/assets/canvas-entry-runtime-SfBxaR9M.js +0 -2
- package/dist/assets/component-board.service-DidCyM4O.js +0 -2
- package/dist/assets/component-verbs.service-Bv9jId3q.js +0 -1
- package/dist/assets/constraints.inspector-B9U9Yj-u.js +0 -1
- package/dist/assets/coverage.service-VTX5Mcsx.js +0 -3
- package/dist/assets/deferred-ingest-play-DCJi_Pgu.js +0 -2
- package/dist/assets/design-time-layers-wYgOTgni.js +0 -1
- package/dist/assets/design-time-mount.service-BzY21e1F.js +0 -2
- package/dist/assets/design-time-react-mount-DM9WLrF2.js +0 -1
- package/dist/assets/edit-mode-authoring-B47TfLqu.js +0 -1
- package/dist/assets/editor-api-BoJIcyZG.js +0 -1
- package/dist/assets/fflate.module-DPuTF8aG.js +0 -6
- package/dist/assets/fork-menu-BoVyw2Wu.js +0 -1
- package/dist/assets/game-document.service-DbRfx2V0.js +0 -1
- package/dist/assets/game-eval.command-D-7Dxbj_.js +0 -2
- package/dist/assets/gameplay-replay-e5umMlXv.js +0 -1
- package/dist/assets/gameplay.command-DxcVYX6F.js +0 -1
- package/dist/assets/generation.service-CDIgObuw.js +0 -1
- package/dist/assets/index-96FBF1Oj.js +0 -1
- package/dist/assets/index-BAWkB0dv.js +0 -1
- package/dist/assets/index-BDnS2b6S.js +0 -1
- package/dist/assets/index-BjTCPEQ7.js +0 -134
- package/dist/assets/index-CVCb_ImQ.js +0 -1
- package/dist/assets/index-CZd9o7Lu.js +0 -1
- package/dist/assets/index-D2fNXpHa.css +0 -1
- package/dist/assets/index-GIL7oGEO.js +0 -4894
- package/dist/assets/index-OrYXPk3Z.js +0 -487
- package/dist/assets/ingest-boot-viewport-D5rI_Kk_.js +0 -1
- package/dist/assets/ingest-siblings-Bop2kqVl.js +0 -1
- package/dist/assets/instances.command-D6UkZNO8.js +0 -1
- package/dist/assets/light-camera-factory-CWbbe9gI.js +0 -1
- package/dist/assets/live-behaviors-Bxq49Maz.js +0 -1
- package/dist/assets/matcap-texture-CVfalpWT.js +0 -1
- package/dist/assets/model-asset-sections.service-CHhFS3ZX.js +0 -1
- package/dist/assets/model.layout-BJUEQYUI.js +0 -1
- package/dist/assets/module-mode-DVBLT9d-.js +0 -2
- package/dist/assets/mount-canvas-ingest-root-DDuAWf_C.js +0 -2
- package/dist/assets/mount-dom-ingest-root-D_EiBgpn.js +0 -2
- package/dist/assets/mount-ingest-root-glv2SSWf.js +0 -2
- package/dist/assets/mount-three-ingest-root-hrUt9VVU.js +0 -1
- package/dist/assets/particles-factory-DnLOHXT8.js +0 -1
- package/dist/assets/pasteboard-materialize-BqSS4QzV.js +0 -20
- package/dist/assets/pasteboard.action-DU3UHtJG.js +0 -2
- package/dist/assets/pixi-authoring-adapter-CjibysC3.js +0 -1
- package/dist/assets/pixi-primitive-DlWbUPN9.js +0 -1
- package/dist/assets/pixi-react-root-factory-DYsznYRQ.js +0 -1
- package/dist/assets/play-mode-BFU2PCkG.js +0 -22
- package/dist/assets/play.command-BpqqLqkq.js +0 -2
- package/dist/assets/project-authoring-session-Bnt6icLr.js +0 -2
- package/dist/assets/r3f-design-session-D-4yyDO9.js +0 -2
- package/dist/assets/r3f-physics-binding-BBo8oma9.js +0 -1
- package/dist/assets/r3f-source-authoring-adapter-w6Bc60K-.js +0 -13
- package/dist/assets/react-inspector.service-B_neRnSK.js +0 -1
- package/dist/assets/react-story-board-BDDwiE2H.js +0 -1
- package/dist/assets/react-world-authoring-adapter-DmrwM3py.js +0 -1
- package/dist/assets/runtime-inspection-l2iFQSsg.js +0 -1
- package/dist/assets/scene-document.service-qkDjUrlP.js +0 -2
- package/dist/assets/sculpt.layout-zJF55yCR.js +0 -1
- package/dist/assets/setup-particles-GCXlnkj_.js +0 -1
- package/dist/assets/shading.layout-DULYZV6M.js +0 -1
- package/dist/assets/source-object3d-authoring-adapter-B-L6Ha6f.js +0 -1
- package/dist/assets/stage-invalidation-DBg3C3Ta.js +0 -1
- package/dist/assets/stage-keyboard-n-5kKH-m.js +0 -1
- package/dist/assets/stage-overlay-set-B9zp2sLB.js +0 -1
- package/dist/assets/stage-presence-markers-DiGI6A45.js +0 -1
- package/dist/assets/standard-viewport-dressing-CzjAe_0A.js +0 -7
- package/dist/assets/static-batch-advisor-B13QEH7d.js +0 -1
- package/dist/assets/story-capture-_gC8dXV-.js +0 -1
- package/dist/assets/story-documents--TDLaPeL.js +0 -3
- package/dist/assets/story-documents.service-BiS_YbNQ.js +0 -1
- package/dist/assets/story-documents.service-CxOPYJ2j.js +0 -1
- package/dist/assets/story-pixi-preview-BUrOJZXS.js +0 -1
- package/dist/assets/story-presentation-j2AVN-mK.js +0 -1
- package/dist/assets/team-playtest.service-DqOinFVA.js +0 -1
- package/dist/assets/three-authoring.service-iuHLwtf1.js +0 -2
- package/dist/assets/three-viewport-presentation-QBQpSdMh.js +0 -1
- package/dist/assets/three.quarks.esm-B1C61jGo.js +0 -1039
- package/dist/assets/transport.header-B-6HQlU2.js +0 -1
- package/dist/assets/ui-board-document-Bwtt--xp.js +0 -2
- package/dist/assets/use-live-actor-state-DErbWQWF.js +0 -1
- package/dist/assets/user-data-BB2Of6Ht.js +0 -1
- package/dist/assets/uv-editing.layout-BEKHxmHw.js +0 -1
- package/dist/assets/viewport-shading-boundary-B_-_gABg.js +0 -82
- package/dist/assets/voxel-surface-DtcsSWRL.js +0 -1
- package/dist/assets/webgl-frame-capture-FlF9zQmW.js +0 -1
- package/dist/assets/webworkerAll-CM2o_dnz.js +0 -1
- package/dist/assets/world-documents-147tiFZe.js +0 -1
- package/dist/assets/world-root-stage-binding-vwTrtBz6.js +0 -1
- package/dist/assets/xstate-animation-binding-Brd0NST6.js +0 -1
- package/dist/assets/xstate-behavior.action-B8UluFBK.js +0 -1
- package/dist/assets/xstate-behavior.document-CKAsE45I.js +0 -1
- package/dist/assets/xstate-behavior.inspector-vJJyuifc.js +0 -1
- package/dist/assets/xstate-behavior.menu-BXbPICIh.js +0 -1
- package/dist/assets/xstate-inspection-BsZv8LS9.js +0 -1
package/dist-node/create.js
CHANGED
|
@@ -43,14 +43,8 @@ var STUDIO_OWNED_PATHS = [
|
|
|
43
43
|
"src/contributions/analytics.analytics.tsx"
|
|
44
44
|
];
|
|
45
45
|
var REACT_ONLY_REMOVED_PATHS = [
|
|
46
|
-
"src/runtime",
|
|
47
|
-
"src/scripts",
|
|
48
46
|
"src/prefabs",
|
|
49
|
-
"src/stage",
|
|
50
47
|
"src/world.tsx",
|
|
51
|
-
"src/lib/humanoid",
|
|
52
|
-
"src/lib/mesh",
|
|
53
|
-
"src/lib/native-three",
|
|
54
48
|
"src/components",
|
|
55
49
|
"public"
|
|
56
50
|
];
|
|
@@ -88,6 +82,43 @@ export function ReactGamePage({ lastInput, title = 'My Game' }: ReactGamePagePro
|
|
|
88
82
|
);
|
|
89
83
|
}
|
|
90
84
|
`;
|
|
85
|
+
var REACT_HUD_PAGE_SOURCE = `export interface ReactGamePageProps {
|
|
86
|
+
readonly lastInput: string;
|
|
87
|
+
readonly title?: string;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/** The game's HUD over its 3D world. Runtime input ownership stays in game.tsx. */
|
|
91
|
+
export function ReactGamePage({ lastInput, title = 'My Game' }: ReactGamePageProps) {
|
|
92
|
+
return (
|
|
93
|
+
<main
|
|
94
|
+
data-testid="game-ui-root"
|
|
95
|
+
style={{
|
|
96
|
+
position: 'absolute',
|
|
97
|
+
inset: 0,
|
|
98
|
+
padding: 16,
|
|
99
|
+
pointerEvents: 'none',
|
|
100
|
+
fontFamily: 'system-ui, sans-serif',
|
|
101
|
+
}}
|
|
102
|
+
>
|
|
103
|
+
<section
|
|
104
|
+
style={{
|
|
105
|
+
display: 'inline-block',
|
|
106
|
+
padding: '10px 14px',
|
|
107
|
+
borderRadius: 8,
|
|
108
|
+
pointerEvents: 'auto',
|
|
109
|
+
color: '#f7f4ea',
|
|
110
|
+
background: 'rgba(17, 24, 39, 0.72)',
|
|
111
|
+
}}
|
|
112
|
+
>
|
|
113
|
+
<h1 style={{ margin: 0, fontSize: 18 }}>{title}</h1>
|
|
114
|
+
<p aria-live="polite" style={{ margin: '4px 0 0', color: '#cbd5e1', fontSize: 13 }}>
|
|
115
|
+
Last input: {lastInput}
|
|
116
|
+
</p>
|
|
117
|
+
</section>
|
|
118
|
+
</main>
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
`;
|
|
91
122
|
var REACT_ONLY_GAME_SOURCE = `import { useEffect, useState } from 'react';
|
|
92
123
|
import { useDebugProvider } from '@volter/game-runtime/react/world-state';
|
|
93
124
|
import { ReactGamePage } from './game-page';
|
|
@@ -1355,34 +1386,36 @@ import {
|
|
|
1355
1386
|
import { dirname, isAbsolute, join as join3, relative as relative2, resolve, sep as sep2 } from "node:path";
|
|
1356
1387
|
|
|
1357
1388
|
// node/scaffold/adapter-region-merge.ts
|
|
1358
|
-
import
|
|
1389
|
+
import { createRequire } from "node:module";
|
|
1390
|
+
var loaded;
|
|
1391
|
+
var typescript = () => loaded ??= createRequire(import.meta.url)("typescript");
|
|
1359
1392
|
function quoteLike(source, sample) {
|
|
1360
1393
|
const double = sample !== void 0 && source[sample.getStart()] === '"';
|
|
1361
1394
|
return (value) => double || value.includes("'") ? JSON.stringify(value) : `'${value}'`;
|
|
1362
1395
|
}
|
|
1363
1396
|
function stringLiteralOf(node) {
|
|
1364
|
-
return node &&
|
|
1397
|
+
return node && typescript().isStringLiteralLike(node) ? node.text : void 0;
|
|
1365
1398
|
}
|
|
1366
1399
|
function propertyOf(object, name) {
|
|
1367
1400
|
for (const member of object.properties) {
|
|
1368
|
-
if (!
|
|
1369
|
-
const key =
|
|
1401
|
+
if (!typescript().isPropertyAssignment(member)) continue;
|
|
1402
|
+
const key = typescript().isIdentifier(member.name) ? member.name.text : stringLiteralOf(member.name);
|
|
1370
1403
|
if (key === name) return member;
|
|
1371
1404
|
}
|
|
1372
1405
|
return void 0;
|
|
1373
1406
|
}
|
|
1374
1407
|
function definitionObject(source) {
|
|
1375
1408
|
for (const statement of source.statements) {
|
|
1376
|
-
if (!
|
|
1409
|
+
if (!typescript().isExportAssignment(statement) || statement.isExportEquals) continue;
|
|
1377
1410
|
const call = statement.expression;
|
|
1378
|
-
if (!
|
|
1411
|
+
if (!typescript().isCallExpression(call)) {
|
|
1379
1412
|
return { reason: "its default export is not a direct `defineAdapter({\u2026})` call" };
|
|
1380
1413
|
}
|
|
1381
1414
|
const arg = call.arguments[0];
|
|
1382
1415
|
if (arg === void 0) {
|
|
1383
1416
|
return { reason: "its default export takes no argument object to declare into" };
|
|
1384
1417
|
}
|
|
1385
|
-
if (!
|
|
1418
|
+
if (!typescript().isObjectLiteralExpression(arg)) {
|
|
1386
1419
|
return { reason: "its default export is not called with an object literal" };
|
|
1387
1420
|
}
|
|
1388
1421
|
return { object: arg };
|
|
@@ -1432,11 +1465,11 @@ ${indent}},`;
|
|
|
1432
1465
|
}
|
|
1433
1466
|
function mergeAdapterRegionIncludes(source, additions) {
|
|
1434
1467
|
if (additions.length === 0) return { kind: "unchanged" };
|
|
1435
|
-
const parsed =
|
|
1468
|
+
const parsed = typescript().createSourceFile("vgai.adapter.ts", source, typescript().ScriptTarget.Latest, true);
|
|
1436
1469
|
const definition = definitionObject(parsed);
|
|
1437
1470
|
if ("reason" in definition) return { kind: "unreadable", reason: definition.reason };
|
|
1438
1471
|
const listed = propertyOf(definition.object, "regions");
|
|
1439
|
-
if (listed && !
|
|
1472
|
+
if (listed && !typescript().isStringLiteralLike(listed.initializer)) {
|
|
1440
1473
|
return {
|
|
1441
1474
|
kind: "unreadable",
|
|
1442
1475
|
reason: "it states an explicit `regions` list, whose entries carry their own `include`"
|
|
@@ -1457,7 +1490,7 @@ ${indent}},`;
|
|
|
1457
1490
|
})
|
|
1458
1491
|
);
|
|
1459
1492
|
} else {
|
|
1460
|
-
if (!
|
|
1493
|
+
if (!typescript().isObjectLiteralExpression(overlay.initializer)) {
|
|
1461
1494
|
return { kind: "unreadable", reason: "`regionIncludes` is not an object literal" };
|
|
1462
1495
|
}
|
|
1463
1496
|
const table = overlay.initializer;
|
|
@@ -1470,7 +1503,7 @@ ${indent}},`;
|
|
|
1470
1503
|
);
|
|
1471
1504
|
continue;
|
|
1472
1505
|
}
|
|
1473
|
-
if (!
|
|
1506
|
+
if (!typescript().isObjectLiteralExpression(entry.initializer)) {
|
|
1474
1507
|
return {
|
|
1475
1508
|
kind: "unreadable",
|
|
1476
1509
|
reason: `\`regionIncludes.${addition.rootId}\` is not an object literal`
|
|
@@ -1489,7 +1522,7 @@ ${indent}],`;
|
|
|
1489
1522
|
);
|
|
1490
1523
|
continue;
|
|
1491
1524
|
}
|
|
1492
|
-
if (!
|
|
1525
|
+
if (!typescript().isArrayLiteralExpression(include.initializer)) {
|
|
1493
1526
|
return {
|
|
1494
1527
|
kind: "unreadable",
|
|
1495
1528
|
reason: `\`regionIncludes.${addition.rootId}.include\` is not an array literal`
|
|
@@ -2848,7 +2881,11 @@ function rewriteTemplateVariantFiles(targetDir, composition, additions, starterD
|
|
|
2848
2881
|
for (const [relative4, source] of Object.entries(REACT_ONLY_FILES)) {
|
|
2849
2882
|
if (relative4 === "src/main.ts") continue;
|
|
2850
2883
|
mkdirSync3(dirname2(join4(targetDir, relative4)), { recursive: true });
|
|
2851
|
-
writeFileSync3(
|
|
2884
|
+
writeFileSync3(
|
|
2885
|
+
join4(targetDir, relative4),
|
|
2886
|
+
relative4 === "src/ui/game-page.tsx" ? REACT_HUD_PAGE_SOURCE : source,
|
|
2887
|
+
"utf-8"
|
|
2888
|
+
);
|
|
2852
2889
|
}
|
|
2853
2890
|
return;
|
|
2854
2891
|
}
|
|
@@ -2890,6 +2927,9 @@ function rewriteTsconfig(targetDir, engineRelPath, editorRelPath) {
|
|
|
2890
2927
|
if (editorRelPath) {
|
|
2891
2928
|
tsconfig.compilerOptions.paths["@editor/*"] = [`${editorRelPath}/src/*`];
|
|
2892
2929
|
}
|
|
2930
|
+
tsconfig.compilerOptions.paths["@editor/game-module-access"] = [
|
|
2931
|
+
"node_modules/@volter/editor-game/src/host/game-module-access.ts"
|
|
2932
|
+
];
|
|
2893
2933
|
if (Array.isArray(tsconfig.files)) {
|
|
2894
2934
|
tsconfig.files = tsconfig.files.map((f) => rewriteEngineRelativeFilePath(f, engineRelPath));
|
|
2895
2935
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/game-editor",
|
|
3
3
|
"author": "Volter AI, Inc.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.66",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -43,23 +43,26 @@
|
|
|
43
43
|
"displayName": "Volter Game Editor",
|
|
44
44
|
"colorTheme": "dark",
|
|
45
45
|
"workbench": {
|
|
46
|
-
"release": "game-editor-
|
|
47
|
-
"tarballSha256": "
|
|
46
|
+
"release": "game-editor-9ef15b1f345b-e22708e88dca-darwin-arm64",
|
|
47
|
+
"tarballSha256": "ffa4556a84b2744c966d3461d022ccf27c5123bcb48025628f3a0129779e9b17"
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@volter/editor-core": "0.5.
|
|
53
|
-
"@volter/editor-game": "0.5.
|
|
54
|
-
"@volter/editor-
|
|
55
|
-
"@volter/
|
|
56
|
-
"@volter/editor-
|
|
57
|
-
"@volter/editor-
|
|
58
|
-
"@volter/
|
|
59
|
-
"@volter/
|
|
52
|
+
"@volter/editor-core": "0.5.66",
|
|
53
|
+
"@volter/editor-game": "0.5.66",
|
|
54
|
+
"@volter/editor-react": "0.5.66",
|
|
55
|
+
"@volter/editor-threejs": "0.5.66",
|
|
56
|
+
"@volter/editor-xstate": "0.5.66",
|
|
57
|
+
"@volter/editor-blender": "0.1.9",
|
|
58
|
+
"@volter/blender-engine": "0.1.8",
|
|
59
|
+
"@volter/editor-project": "0.5.66",
|
|
60
|
+
"@volter/editor-sdk": "0.5.66",
|
|
61
|
+
"@volter/editor-live": "0.5.66",
|
|
62
|
+
"@volter/game-live": "0.5.66",
|
|
60
63
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
61
|
-
"@volter/game-runtime": "0.5.
|
|
62
|
-
"@volter/threejs-runtime": "0.5.
|
|
64
|
+
"@volter/game-runtime": "0.5.66",
|
|
65
|
+
"@volter/threejs-runtime": "0.5.66",
|
|
63
66
|
"undici": "7.29.1",
|
|
64
67
|
"typescript": "5.9.3",
|
|
65
68
|
"@colyseus/schema": "^4.0.14",
|
package/src/index.ts
CHANGED
|
@@ -24,12 +24,18 @@
|
|
|
24
24
|
|
|
25
25
|
import blender from 'vgai:contributions/@volter/editor-blender';
|
|
26
26
|
import game from 'vgai:contributions/@volter/editor-game';
|
|
27
|
+
import react from 'vgai:contributions/@volter/editor-react';
|
|
28
|
+
import threejs from 'vgai:contributions/@volter/editor-threejs';
|
|
29
|
+
import xstate from 'vgai:contributions/@volter/editor-xstate';
|
|
27
30
|
import { product } from '@volter/editor-core/frame/product';
|
|
28
31
|
|
|
29
32
|
export const { mountVgai } = product({
|
|
30
33
|
id: 'game-editor',
|
|
31
34
|
packages: {
|
|
32
35
|
'@volter/editor-game': game,
|
|
36
|
+
'@volter/editor-react': react,
|
|
37
|
+
'@volter/editor-threejs': threejs,
|
|
38
|
+
'@volter/editor-xstate': xstate,
|
|
33
39
|
'@volter/editor-blender': blender,
|
|
34
40
|
},
|
|
35
41
|
look: 'classic',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vgai-3d-models
|
|
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
|
|
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
|
|
|
6
6
|
# Model a game asset
|
|
@@ -45,8 +45,8 @@ 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
46
|
keep scratch files in `.vgai/tmp/`.
|
|
47
47
|
|
|
48
|
-
For animation and skinning,
|
|
49
|
-
|
|
48
|
+
For animation and skinning, a static mesh export is not proof that an animated
|
|
49
|
+
character is game-ready.
|
|
50
50
|
|
|
51
51
|
## Where the model lives
|
|
52
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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-
|
|
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.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VGAI Three.js Authoring
|
|
@@ -23,9 +23,8 @@ 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
|
-
|
|
27
|
-
|
|
28
|
-
`vgai-environment-art` for whole-scene art direction.
|
|
26
|
+
Use `vgai-3d-models` for Blender-sourced assets; prefab placement, stories and the
|
|
27
|
+
naming floor are in `.agents/references/project-manual.md`.
|
|
29
28
|
|
|
30
29
|
## Choose the lowest sufficient layer
|
|
31
30
|
|
|
@@ -44,11 +43,7 @@ Keep alternate library representations temporary. Return a normal
|
|
|
44
43
|
`BufferGeometry`, `Mesh`, `Group`, or other native `Object3D`.
|
|
45
44
|
|
|
46
45
|
Read [references/helper-catalog.md](references/helper-catalog.md) before adding
|
|
47
|
-
modeling capabilities or dependencies
|
|
48
|
-
*which surfacing mode* (palette, shader look, tiling projection, card, decal,
|
|
49
|
-
provider retexture, procedural mask) and whether the asset needs UVs at all,
|
|
50
|
-
walk the eight modes cheapest-first in the `vgai-3d-assets` skill's
|
|
51
|
-
`references/surfacing.md`.
|
|
46
|
+
modeling capabilities or dependencies; it answers *which op*.
|
|
52
47
|
|
|
53
48
|
## Author raw code
|
|
54
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vgai-3d-models
|
|
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
|
|
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
|
|
|
6
6
|
# Model a game asset
|
|
@@ -45,8 +45,8 @@ 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
46
|
keep scratch files in `.vgai/tmp/`.
|
|
47
47
|
|
|
48
|
-
For animation and skinning,
|
|
49
|
-
|
|
48
|
+
For animation and skinning, a static mesh export is not proof that an animated
|
|
49
|
+
character is game-ready.
|
|
50
50
|
|
|
51
51
|
## Where the model lives
|
|
52
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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-
|
|
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.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VGAI Three.js Authoring
|
|
@@ -23,9 +23,8 @@ 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
|
-
|
|
27
|
-
|
|
28
|
-
`vgai-environment-art` for whole-scene art direction.
|
|
26
|
+
Use `vgai-3d-models` for Blender-sourced assets; prefab placement, stories and the
|
|
27
|
+
naming floor are in `.agents/references/project-manual.md`.
|
|
29
28
|
|
|
30
29
|
## Choose the lowest sufficient layer
|
|
31
30
|
|
|
@@ -44,11 +43,7 @@ Keep alternate library representations temporary. Return a normal
|
|
|
44
43
|
`BufferGeometry`, `Mesh`, `Group`, or other native `Object3D`.
|
|
45
44
|
|
|
46
45
|
Read [references/helper-catalog.md](references/helper-catalog.md) before adding
|
|
47
|
-
modeling capabilities or dependencies
|
|
48
|
-
*which surfacing mode* (palette, shader look, tiling projection, card, decal,
|
|
49
|
-
provider retexture, procedural mask) and whether the asset needs UVs at all,
|
|
50
|
-
walk the eight modes cheapest-first in the `vgai-3d-assets` skill's
|
|
51
|
-
`references/surfacing.md`.
|
|
46
|
+
modeling capabilities or dependencies; it answers *which op*.
|
|
52
47
|
|
|
53
48
|
## Author raw code
|
|
54
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: vgai-3d-models
|
|
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
|
|
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
|
|
|
6
6
|
# Model a game asset
|
|
@@ -45,8 +45,8 @@ 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
46
|
keep scratch files in `.vgai/tmp/`.
|
|
47
47
|
|
|
48
|
-
For animation and skinning,
|
|
49
|
-
|
|
48
|
+
For animation and skinning, a static mesh export is not proof that an animated
|
|
49
|
+
character is game-ready.
|
|
50
50
|
|
|
51
51
|
## Where the model lives
|
|
52
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
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-
|
|
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.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# VGAI Three.js Authoring
|
|
@@ -23,9 +23,8 @@ 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
|
-
|
|
27
|
-
|
|
28
|
-
`vgai-environment-art` for whole-scene art direction.
|
|
26
|
+
Use `vgai-3d-models` for Blender-sourced assets; prefab placement, stories and the
|
|
27
|
+
naming floor are in `.agents/references/project-manual.md`.
|
|
29
28
|
|
|
30
29
|
## Choose the lowest sufficient layer
|
|
31
30
|
|
|
@@ -44,11 +43,7 @@ Keep alternate library representations temporary. Return a normal
|
|
|
44
43
|
`BufferGeometry`, `Mesh`, `Group`, or other native `Object3D`.
|
|
45
44
|
|
|
46
45
|
Read [references/helper-catalog.md](references/helper-catalog.md) before adding
|
|
47
|
-
modeling capabilities or dependencies
|
|
48
|
-
*which surfacing mode* (palette, shader look, tiling projection, card, decal,
|
|
49
|
-
provider retexture, procedural mask) and whether the asset needs UVs at all,
|
|
50
|
-
walk the eight modes cheapest-first in the `vgai-3d-assets` skill's
|
|
51
|
-
`references/surfacing.md`.
|
|
46
|
+
modeling capabilities or dependencies; it answers *which op*.
|
|
52
47
|
|
|
53
48
|
## Author raw code
|
|
54
49
|
|
package/template/AGENTS.md
CHANGED
|
@@ -10,7 +10,7 @@ The editor is the authoring and verification surface.
|
|
|
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
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-
|
|
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
14
|
| Other craft (2D/3D art, animation, humanoids, generated assets) | The matching `.agents/skills/vgai-*/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/` |
|
package/template/check-idioms.ts
CHANGED
|
@@ -63,8 +63,7 @@ import { fileURLToPath } from 'node:url';
|
|
|
63
63
|
// logs read on an interval, redirected live until satisfied — and
|
|
64
64
|
// the play log (`logs/play-*.jsonl`) is the playtest's receipt.
|
|
65
65
|
// SHIP-TIER (E9) — the required naming floor for shipped 3D source (owner
|
|
66
|
-
// decision 2026-08-10; `.agents/
|
|
67
|
-
// REQUIRED floor"). E9 reports as a WARNING with a standing count the
|
|
66
|
+
// decision 2026-08-10; `.agents/references/project-manual.md`). E9 reports as a WARNING with a standing count the
|
|
68
67
|
// operator reads. An unnamed primitive is normal mid-build;
|
|
69
68
|
// declaring a prefab folder entry without its registration is not.
|
|
70
69
|
// WARN (exit 0 unless --strict) — heuristics, more prone to false
|
|
@@ -1201,7 +1200,7 @@ function checkAuthoringWarnings(): void {
|
|
|
1201
1200
|
if (found.length === 0) return;
|
|
1202
1201
|
|
|
1203
1202
|
const fix =
|
|
1204
|
-
'Fix each one at its callsite — the R3F00x codes are the named-nodes half of the required floor: a named prefab with a story (.agents/
|
|
1203
|
+
'Fix each one at its callsite — the R3F00x codes are the named-nodes half of the required floor: a named prefab with a story (.agents/references/project-manual.md). R3F004 wants an ordinary `name` prop, R3F002 wants the ThreeElements transform props forwarded to the one native root, R3F003 wants a single wrapping group, R3F005 wants runtime motion on an inner child. `idioms-ignore E9 <reason>` is the escape when a code is genuinely wrong about your source.';
|
|
1205
1204
|
|
|
1206
1205
|
if (floorSeverity() === 'warn') {
|
|
1207
1206
|
const codes = [...new Set(found.map((f) => f.diagnostic.code))].sort();
|
|
@@ -1229,7 +1228,7 @@ function checkAuthoringWarnings(): void {
|
|
|
1229
1228
|
'E9',
|
|
1230
1229
|
'error',
|
|
1231
1230
|
'authoring-warnings-zero',
|
|
1232
|
-
`${diagnostic.code}: ${diagnostic.message} Authoring warnings are ZERO at handoff — the required floor: a named prefab with a story (.agents/
|
|
1231
|
+
`${diagnostic.code}: ${diagnostic.message} Authoring warnings are ZERO at handoff — the required floor: a named prefab with a story (.agents/references/project-manual.md).`,
|
|
1233
1232
|
fix,
|
|
1234
1233
|
);
|
|
1235
1234
|
}
|
|
@@ -1322,7 +1321,7 @@ function checkPrefabStories(): void {
|
|
|
1322
1321
|
'E10',
|
|
1323
1322
|
'error',
|
|
1324
1323
|
'prefab-ships-a-story',
|
|
1325
|
-
`${name} is a shipped prefab with no colocated story — the required floor: a named prefab with a story (.agents/
|
|
1324
|
+
`${name} is a shipped prefab with no colocated story — the required floor: a named prefab with a story (.agents/references/project-manual.md). Without one it is invisible to the editor's Content tab, which is where a designer finds, previews and places it.`,
|
|
1326
1325
|
`Add ${relPath(file).replace(/\.[jt]sx$/, '.stories.tsx')} with \`component: ${name}\` in its \`meta\` — copy src/prefabs/HeroBox.stories.tsx and rename. If this module is not a shipped prefab, it does not belong in ${PREFAB_DIR}.`,
|
|
1327
1326
|
);
|
|
1328
1327
|
continue;
|
package/template/package.json
CHANGED
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"@colyseus/sdk": "^0.17.34",
|
|
26
26
|
"@react-three/drei": "^10.7.7",
|
|
27
27
|
"@react-three/fiber": "^9.6.1",
|
|
28
|
-
"@volter/editor-project": "^0.5.
|
|
29
|
-
"@volter/game-runtime": "^0.5.
|
|
30
|
-
"@volter/threejs-runtime": "^0.5.
|
|
28
|
+
"@volter/editor-project": "^0.5.66",
|
|
29
|
+
"@volter/game-runtime": "^0.5.66",
|
|
30
|
+
"@volter/threejs-runtime": "^0.5.66",
|
|
31
31
|
"react": "~19.2.4",
|
|
32
32
|
"react-dom": "~19.2.4",
|
|
33
33
|
"three": "^0.180.0",
|
|
@@ -41,12 +41,12 @@
|
|
|
41
41
|
"@types/react-dom": "^19.2.3",
|
|
42
42
|
"@types/three": "^0.180.0",
|
|
43
43
|
"@vitejs/plugin-react": "^5.1.4",
|
|
44
|
-
"@volter/editor-core": "^0.5.
|
|
45
|
-
"@volter/editor-game": "^0.5.
|
|
46
|
-
"@volter/editor-live": "^0.5.
|
|
47
|
-
"@volter/editor-sdk": "^0.5.
|
|
48
|
-
"@volter/game-editor": "^0.5.
|
|
49
|
-
"@volter/game-live": "^0.5.
|
|
44
|
+
"@volter/editor-core": "^0.5.66",
|
|
45
|
+
"@volter/editor-game": "^0.5.66",
|
|
46
|
+
"@volter/editor-live": "^0.5.66",
|
|
47
|
+
"@volter/editor-sdk": "^0.5.66",
|
|
48
|
+
"@volter/game-editor": "^0.5.66",
|
|
49
|
+
"@volter/game-live": "^0.5.66",
|
|
50
50
|
"colyseus": "^0.17.8",
|
|
51
51
|
"storybook": "10.6.0",
|
|
52
52
|
"tsx": "^4.23.0",
|
package/template/tsconfig.json
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@volter/editor-project/*": ["node_modules/@volter/editor-project/src/*"],
|
|
28
28
|
"@volter/threejs-runtime/*": ["node_modules/@volter/threejs-runtime/src/*"],
|
|
29
29
|
"@volter/game-runtime/*": ["node_modules/@volter/game-runtime/src/*"],
|
|
30
|
+
"@editor/game-module-access": ["node_modules/@volter/editor-game/src/host/game-module-access.ts"],
|
|
30
31
|
"@editor/*": ["node_modules/@volter/editor-core/src/*"]
|
|
31
32
|
}
|
|
32
33
|
},
|
package/template/vgai.adapter.ts
CHANGED
|
@@ -70,6 +70,7 @@ export default defineAdapter({
|
|
|
70
70
|
find: [
|
|
71
71
|
{ finder: 'scenesFromEntrypointSelection', regions: ['world'], selection: 'scenes' },
|
|
72
72
|
{ finder: 'prefabsFromStories' },
|
|
73
|
+
{ finder: 'machinesFromModules', include: ['src/**/*.ts', 'src/**/*.tsx'] },
|
|
73
74
|
],
|
|
74
75
|
default: 'main',
|
|
75
76
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* THE GAME EDITOR'S OWN SPLASH — what this product draws into the kit's opening cover
|
|
2
|
-
(`VgaiProduct.cover`, `packages/editor/workbench/src/vgaiCover.ts`).
|
|
2
|
+
(`VgaiProduct.cover`, `packages/editor-core/workbench/src/vgaiCover.ts`).
|
|
3
3
|
|
|
4
4
|
IT SPELLS CLASSIC'S PALETTE, for the same reason the model editor's spells Blender's: the
|
|
5
5
|
cover paints BEFORE any theme extension is registered — the web workbench's first frame is
|