@babylonjs/lite 0.1.1 → 1.0.0
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/_mat4-storage-f64-CjDoht2w.js +11 -0
- package/_mat4-storage-f64-CjDoht2w.js.map +1 -0
- package/{alpha-test-fragment-CUiHCw7W.js → alpha-test-fragment-B7DjSnF7.js} +2 -2
- package/{alpha-test-fragment-CUiHCw7W.js.map → alpha-test-fragment-B7DjSnF7.js.map} +1 -1
- package/assets/splat-sort-worker-DT3eybMZ.js.map +1 -0
- package/{background-dds-skybox-yHTqabU3.js → background-dds-skybox-BEX309u3.js} +14 -14
- package/background-dds-skybox-BEX309u3.js.map +1 -0
- package/{background-ground-DIw6D3qf.js → background-ground-BU0HOcM4.js} +20 -20
- package/background-ground-BU0HOcM4.js.map +1 -0
- package/{background-hdr-skybox-c4uuTmkP.js → background-hdr-skybox--RRRic_K.js} +10 -10
- package/background-hdr-skybox--RRRic_K.js.map +1 -0
- package/{background-solid-skybox-DPGBpPbm.js → background-solid-skybox-BrH2fXSu.js} +12 -13
- package/background-solid-skybox-BrH2fXSu.js.map +1 -0
- package/{billboard-renderable-D8mlVGCd.js → billboard-renderable-BHWryAeC.js} +46 -10
- package/billboard-renderable-BHWryAeC.js.map +1 -0
- package/{clamp-block-BdII67hT.js → clamp-block-DqbwnQGW.js} +2 -2
- package/{clamp-block-BdII67hT.js.map → clamp-block-DqbwnQGW.js.map} +1 -1
- package/{clearcoat-fragment-LCiG98Rf.js → clearcoat-fragment-D6FSCie1.js} +2 -2
- package/{clearcoat-fragment-LCiG98Rf.js.map → clearcoat-fragment-D6FSCie1.js.map} +1 -1
- package/{create-skeleton-C9JdIJnb.js → create-skeleton-D_uplboC.js} +9 -9
- package/create-skeleton-D_uplboC.js.map +1 -0
- package/{cubemap-skybox-material-DvXMVc4k.js → cubemap-skybox-material-DQcMMdf-.js} +6 -7
- package/cubemap-skybox-material-DQcMMdf-.js.map +1 -0
- package/{curve-block-BlJpXVYv.js → curve-block-21rT0JjG.js} +2 -2
- package/{curve-block-BlJpXVYv.js.map → curve-block-21rT0JjG.js.map} +1 -1
- package/{emissive-fragment-BnNvbBCw.js → emissive-fragment-C5FtBs3y.js} +3 -3
- package/emissive-fragment-C5FtBs3y.js.map +1 -0
- package/{esm-shadow-view-DN9HIaM4.js → esm-shadow-view-Cl3rPGof.js} +2 -2
- package/{esm-shadow-view-DN9HIaM4.js.map → esm-shadow-view-Cl3rPGof.js.map} +1 -1
- package/{esm-shadow-view-Dk9NFtLq.js → esm-shadow-view-Gtd1LWRP.js} +2 -2
- package/{esm-shadow-view-Dk9NFtLq.js.map → esm-shadow-view-Gtd1LWRP.js.map} +1 -1
- package/{esm-shadow-view-DGKdF1NI.js → esm-shadow-view-c5YV4Eg9.js} +2 -2
- package/{esm-shadow-view-DGKdF1NI.js.map → esm-shadow-view-c5YV4Eg9.js.map} +1 -1
- package/{gaussian-splatting-pipeline-sh-DgJl7l56.js → gaussian-splatting-pipeline-sh-7J31V23x.js} +19 -19
- package/gaussian-splatting-pipeline-sh-7J31V23x.js.map +1 -0
- package/geometry-texture-output-dXk4E9uu.js +41 -0
- package/geometry-texture-output-dXk4E9uu.js.map +1 -0
- package/geometry-view-BsFJpBJa.js +404 -0
- package/geometry-view-BsFJpBJa.js.map +1 -0
- package/{gltf-animation-D7uyTyO3.js → gltf-animation-K_zZxj_d.js} +7 -7
- package/gltf-animation-K_zZxj_d.js.map +1 -0
- package/gltf-color-normalize-Qxl-9C48.js +29 -0
- package/gltf-color-normalize-Qxl-9C48.js.map +1 -0
- package/{gltf-ext-basisu-CPg5kPrx.js → gltf-ext-basisu-CDbPclzZ.js} +53 -18
- package/gltf-ext-basisu-CDbPclzZ.js.map +1 -0
- package/{gltf-ext-node-visibility-MafA9ot2.js → gltf-ext-node-visibility-DXCJEYr6.js} +2 -2
- package/{gltf-ext-node-visibility-MafA9ot2.js.map → gltf-ext-node-visibility-DXCJEYr6.js.map} +1 -1
- package/{gltf-ext-quantization-CpZyLDIz.js → gltf-ext-quantization-CvHI_0Vg.js} +4 -3
- package/gltf-ext-quantization-CvHI_0Vg.js.map +1 -0
- package/{gltf-ext-uv-transform-CE_-T1Tr.js → gltf-ext-uv-transform-DgYazJBs.js} +2 -2
- package/{gltf-ext-uv-transform-CE_-T1Tr.js.map → gltf-ext-uv-transform-DgYazJBs.js.map} +1 -1
- package/{gltf-feature-animation-pointer-BjpwOOqo.js → gltf-feature-animation-pointer-D1RJRFBw.js} +9 -9
- package/gltf-feature-animation-pointer-D1RJRFBw.js.map +1 -0
- package/{gltf-feature-animations-CCizegp8.js → gltf-feature-animations-Cmc1uoIu.js} +2 -2
- package/{gltf-feature-animations-CCizegp8.js.map → gltf-feature-animations-Cmc1uoIu.js.map} +1 -1
- package/{gltf-feature-draco-yGSMGTE3.js → gltf-feature-draco-CKKzT5E3.js} +6 -5
- package/gltf-feature-draco-CKKzT5E3.js.map +1 -0
- package/{gltf-feature-gpu-instancing-2e_CFQnl.js → gltf-feature-gpu-instancing-n87SO6Vh.js} +7 -6
- package/gltf-feature-gpu-instancing-n87SO6Vh.js.map +1 -0
- package/{gltf-feature-lights-punctual-DDDg4j0U.js → gltf-feature-lights-punctual-Ckm3ciL8.js} +5 -5
- package/{gltf-feature-lights-punctual-DDDg4j0U.js.map → gltf-feature-lights-punctual-Ckm3ciL8.js.map} +1 -1
- package/{gltf-feature-meshopt-Des96YFI.js → gltf-feature-meshopt-DLC4SF1E.js} +7 -6
- package/gltf-feature-meshopt-DLC4SF1E.js.map +1 -0
- package/{gltf-feature-morph-CKCw6tkX.js → gltf-feature-morph-Cjtu7hYa.js} +4 -4
- package/gltf-feature-morph-Cjtu7hYa.js.map +1 -0
- package/gltf-feature-registry-C63Hjp9w.js +59 -0
- package/gltf-feature-registry-C63Hjp9w.js.map +1 -0
- package/{gltf-feature-skeleton-D8hWLqi2.js → gltf-feature-skeleton-DKbOGidp.js} +3 -3
- package/{gltf-feature-skeleton-D8hWLqi2.js.map → gltf-feature-skeleton-DKbOGidp.js.map} +1 -1
- package/{gltf-feature-variants-Ds6v9byg.js → gltf-feature-variants-Cmzu0O0e.js} +2 -2
- package/{gltf-feature-variants-Ds6v9byg.js.map → gltf-feature-variants-Cmzu0O0e.js.map} +1 -1
- package/{gltf-glb-parser-D6UZWFuC.js → gltf-glb-parser-Cj5MHS-v.js} +5 -4
- package/gltf-glb-parser-Cj5MHS-v.js.map +1 -0
- package/{gltf-interleave-DGnUlz28.js → gltf-interleave-gHf9_t0i.js} +14 -14
- package/gltf-interleave-gHf9_t0i.js.map +1 -0
- package/gltf-normals-b2h74380.js +37 -0
- package/gltf-normals-b2h74380.js.map +1 -0
- package/{gltf-pbr-builder-ext-BFOxOCnQ.js → gltf-pbr-builder-ext-edNcjwPf.js} +5 -5
- package/gltf-pbr-builder-ext-edNcjwPf.js.map +1 -0
- package/{gltf-variants-DFbr8EES.js → gltf-variants-CPxNdtP4.js} +4 -4
- package/{gltf-variants-DFbr8EES.js.map → gltf-variants-CPxNdtP4.js.map} +1 -1
- package/{gs-picking-pipeline-DzfMASL9.js → gs-picking-pipeline-DYaW_Lg3.js} +14 -14
- package/gs-picking-pipeline-DYaW_Lg3.js.map +1 -0
- package/havok-floating-origin-Dr-18Nds.js +198 -0
- package/havok-floating-origin-Dr-18Nds.js.map +1 -0
- package/index-CLElg2Bo.js +39209 -0
- package/index-CLElg2Bo.js.map +1 -0
- package/index-CYZDclhF.js +918 -0
- package/index-CYZDclhF.js.map +1 -0
- package/index-SMJ67XwT.js +3330 -0
- package/index-SMJ67XwT.js.map +1 -0
- package/index.d.ts +2508 -119
- package/index.js +444 -302
- package/{input-block-DgAJBzN_.js → input-block-DqEedWF2.js} +2 -2
- package/{input-block-DgAJBzN_.js.map → input-block-DqEedWF2.js.map} +1 -1
- package/{iridescence-fragment-Gymp7or5.js → iridescence-fragment-BHU59-gQ.js} +2 -2
- package/{iridescence-fragment-Gymp7or5.js.map → iridescence-fragment-BHU59-gQ.js.map} +1 -1
- package/{light-block-B11ew7FA.js → light-block-Bv37V8vl.js} +2 -2
- package/{light-block-B11ew7FA.js.map → light-block-Bv37V8vl.js.map} +1 -1
- package/{loop-block-Bb23EOMb.js → loop-block-qTg8vb99.js} +2 -2
- package/{loop-block-Bb23EOMb.js.map → loop-block-qTg8vb99.js.map} +1 -1
- package/{morph-fragment-DOVo70gP.js → morph-fragment-BRCUr2wQ.js} +2 -2
- package/{morph-fragment-DOVo70gP.js.map → morph-fragment-BRCUr2wQ.js.map} +1 -1
- package/{multilight-wgsl-BGyiIOp3.js → multilight-wgsl-DMeppAdZ.js} +4 -4
- package/{multilight-wgsl-BGyiIOp3.js.map → multilight-wgsl-DMeppAdZ.js.map} +1 -1
- package/{node-env-BPZXZzBf.js → node-env-Bc559GmY.js} +6 -5
- package/node-env-Bc559GmY.js.map +1 -0
- package/node-geometry-view-COmWsRXK.js +291 -0
- package/node-geometry-view-COmWsRXK.js.map +1 -0
- package/{node-registry-extra-compat-Dhrw8fDQ.js → node-registry-extra-compat-dWrv7gpS.js} +2 -2
- package/{node-registry-extra-compat-Dhrw8fDQ.js.map → node-registry-extra-compat-dWrv7gpS.js.map} +1 -1
- package/{node-registry-extra-math-CsAHvIZo.js → node-registry-extra-math-Bn854sX9.js} +2 -2
- package/{node-registry-extra-math-CsAHvIZo.js.map → node-registry-extra-math-Bn854sX9.js.map} +1 -1
- package/{node-renderable-DlLIdBmd.js → node-renderable-B5G8WcdH.js} +41 -22
- package/node-renderable-B5G8WcdH.js.map +1 -0
- package/{node-shadow-DKrcqmNg.js → node-shadow-CVIUlNf0.js} +7 -7
- package/node-shadow-CVIUlNf0.js.map +1 -0
- package/{normal-map-fragment-DpsIXrJf.js → normal-map-fragment-CQSxhjCy.js} +3 -3
- package/{normal-map-fragment-DpsIXrJf.js.map → normal-map-fragment-CQSxhjCy.js.map} +1 -1
- package/pack-mat4-with-offset-BqB8Jqo7.js +37 -0
- package/pack-mat4-with-offset-BqB8Jqo7.js.map +1 -0
- package/package.json +3 -10
- package/{parse-camera-DM3oJJeT.js → parse-camera-pBRT_6i5.js} +2 -2
- package/{parse-camera-DM3oJJeT.js.map → parse-camera-pBRT_6i5.js.map} +1 -1
- package/pbr-fog-wgsl-BqdCid6r.js +8 -0
- package/pbr-fog-wgsl-BqdCid6r.js.map +1 -0
- package/pbr-geometry-view-NiZY_juX.js +491 -0
- package/pbr-geometry-view-NiZY_juX.js.map +1 -0
- package/{pbr-metallic-roughness-block-h_KAOZrW.js → pbr-metallic-roughness-block-JBSi-tQN.js} +2 -2
- package/{pbr-metallic-roughness-block-h_KAOZrW.js.map → pbr-metallic-roughness-block-JBSi-tQN.js.map} +1 -1
- package/{pbr-metallic-roughness-block-full-6vMm1Jk6.js → pbr-metallic-roughness-block-full-Ta9lR2cz.js} +2 -2
- package/{pbr-metallic-roughness-block-full-6vMm1Jk6.js.map → pbr-metallic-roughness-block-full-Ta9lR2cz.js.map} +1 -1
- package/{pbr-mr-helper-core-CIwm-T1G.js → pbr-mr-helper-core-BVWNR08D.js} +2 -2
- package/{pbr-mr-helper-core-CIwm-T1G.js.map → pbr-mr-helper-core-BVWNR08D.js.map} +1 -1
- package/{pbr-refraction-DGmMSa2v.js → pbr-refraction-C9FvFmAp.js} +2 -2
- package/{pbr-refraction-DGmMSa2v.js.map → pbr-refraction-C9FvFmAp.js.map} +1 -1
- package/{pbr-renderable-BJxUtPBb.js → pbr-renderable-DzUF2QIk.js} +118 -58
- package/pbr-renderable-DzUF2QIk.js.map +1 -0
- package/{pbr-shadow-fragment-LO9SlbJj.js → pbr-shadow-fragment-CnqnbGYS.js} +6 -1
- package/pbr-shadow-fragment-CnqnbGYS.js.map +1 -0
- package/{pbr-template-ext-8q7BcTDf.js → pbr-template-ext-CGgB2n2y.js} +3 -2
- package/{pbr-template-ext-8q7BcTDf.js.map → pbr-template-ext-CGgB2n2y.js.map} +1 -1
- package/{pbr-tracking-B3alzn91.js → pbr-tracking-3tU1kqea.js} +2 -2
- package/{pbr-tracking-B3alzn91.js.map → pbr-tracking-3tU1kqea.js.map} +1 -1
- package/pbr-transmission-ext-BcLjRxfB.js +190 -0
- package/pbr-transmission-ext-BcLjRxfB.js.map +1 -0
- package/recast-navigation.wasm-DG_0AFuk.js +8706 -0
- package/recast-navigation.wasm-DG_0AFuk.js.map +1 -0
- package/recast-navigation.wasm-compat-C-Bf2ylB.js +8692 -0
- package/recast-navigation.wasm-compat-C-Bf2ylB.js.map +1 -0
- package/{reflectance-fragment-BCrgPmrt.js → reflectance-fragment-Dbpgw3Jt.js} +2 -2
- package/{reflectance-fragment-BCrgPmrt.js.map → reflectance-fragment-Dbpgw3Jt.js.map} +1 -1
- package/{rgbd-decode-DCvzUYeI.js → rgbd-decode-DoyUquy3.js} +7 -6
- package/rgbd-decode-DoyUquy3.js.map +1 -0
- package/{scene-material-swap-C2ykv55W.js → scene-material-swap-nNUH4nGn.js} +11 -4
- package/scene-material-swap-nNUH4nGn.js.map +1 -0
- package/screenshot-readback-D0Sj9qq3.js +92 -0
- package/screenshot-readback-D0Sj9qq3.js.map +1 -0
- package/{mesh-features-BLENkYVt.js → shader-composer-BUD_pSX4.js} +7 -55
- package/shader-composer-BUD_pSX4.js.map +1 -0
- package/{shader-renderable-D-6796KR.js → shader-renderable-D7-RyVxa.js} +62 -27
- package/shader-renderable-D7-RyVxa.js.map +1 -0
- package/shader-thin-instance-DuBotxDO.js +150 -0
- package/shader-thin-instance-DuBotxDO.js.map +1 -0
- package/shadow-fragment-core-DHN2G6FI.js.map +1 -1
- package/{sheen-fragment-Dze2f7XJ.js → sheen-fragment-1MkEMcbc.js} +2 -2
- package/{sheen-fragment-Dze2f7XJ.js.map → sheen-fragment-1MkEMcbc.js.map} +1 -1
- package/{singlelight-directional-wgsl-CmUDZxwz.js → singlelight-directional-wgsl-BsV8G456.js} +2 -2
- package/{singlelight-directional-wgsl-CmUDZxwz.js.map → singlelight-directional-wgsl-BsV8G456.js.map} +1 -1
- package/{singlelight-hemispheric-wgsl-t-83IP_s.js → singlelight-hemispheric-wgsl-Bo0jKlW5.js} +2 -2
- package/{singlelight-hemispheric-wgsl-t-83IP_s.js.map → singlelight-hemispheric-wgsl-Bo0jKlW5.js.map} +1 -1
- package/{singlelight-point-wgsl-CLzULIYV.js → singlelight-point-wgsl-DV39UP5Y.js} +2 -2
- package/{singlelight-point-wgsl-CLzULIYV.js.map → singlelight-point-wgsl-DV39UP5Y.js.map} +1 -1
- package/{singlelight-spot-wgsl-DEEUrfVM.js → singlelight-spot-wgsl-yg3od6vL.js} +2 -2
- package/{singlelight-spot-wgsl-DEEUrfVM.js.map → singlelight-spot-wgsl-yg3od6vL.js.map} +1 -1
- package/{skeleton-fragment-B_XlFbtx.js → skeleton-fragment-DdxYG6kv.js} +2 -2
- package/{skeleton-fragment-B_XlFbtx.js.map → skeleton-fragment-DdxYG6kv.js.map} +1 -1
- package/{skybox-renderable-DDwzu-PT.js → skybox-renderable-CJD4XmX5.js} +8 -9
- package/skybox-renderable-CJD4XmX5.js.map +1 -0
- package/{splat-ply-compressed-BahdBG1r.js → splat-ply-compressed-DHjyiVmI.js} +9 -8
- package/splat-ply-compressed-DHjyiVmI.js.map +1 -0
- package/{standard-renderable-GjxL9xSf.js → standard-pipeline-XTbHL7MY.js} +12 -257
- package/standard-pipeline-XTbHL7MY.js.map +1 -0
- package/standard-renderable-CREWLNHI.js +191 -0
- package/standard-renderable-CREWLNHI.js.map +1 -0
- package/{std-ambient-fragment-BoUsD06w.js → std-ambient-fragment-Bjx3VFrr.js} +2 -2
- package/{std-ambient-fragment-BoUsD06w.js.map → std-ambient-fragment-Bjx3VFrr.js.map} +1 -1
- package/{std-cube-reflection-fragment-ulqc3bsP.js → std-cube-reflection-fragment-y9WWdXUt.js} +2 -2
- package/{std-cube-reflection-fragment-ulqc3bsP.js.map → std-cube-reflection-fragment-y9WWdXUt.js.map} +1 -1
- package/{std-emissive-fragment-DNGj1HdQ.js → std-emissive-fragment-C8Lnmojh.js} +2 -2
- package/{std-emissive-fragment-DNGj1HdQ.js.map → std-emissive-fragment-C8Lnmojh.js.map} +1 -1
- package/{std-lightmap-fragment-Bqj89aIe.js → std-lightmap-fragment-DFxGcoA5.js} +2 -2
- package/{std-lightmap-fragment-Bqj89aIe.js.map → std-lightmap-fragment-DFxGcoA5.js.map} +1 -1
- package/{std-opacity-fragment-KuPh5N2Z.js → std-opacity-fragment-EXzFWiSp.js} +2 -2
- package/{std-opacity-fragment-KuPh5N2Z.js.map → std-opacity-fragment-EXzFWiSp.js.map} +1 -1
- package/{std-reflection-fragment-BA5Ghn_M.js → std-reflection-fragment-BoJORqpG.js} +2 -2
- package/{std-reflection-fragment-BA5Ghn_M.js.map → std-reflection-fragment-BoJORqpG.js.map} +1 -1
- package/std-shadow-fragment-Bq-Wc8UJ.js +13 -0
- package/std-shadow-fragment-Bq-Wc8UJ.js.map +1 -0
- package/{std-specular-fragment-CE-6scqd.js → std-specular-fragment-CM5R5j2g.js} +2 -2
- package/{std-specular-fragment-CE-6scqd.js.map → std-specular-fragment-CM5R5j2g.js.map} +1 -1
- package/{std-tracking-CNKZ-hJN.js → std-tracking-Cif_wXeT.js} +2 -2
- package/{std-tracking-CNKZ-hJN.js.map → std-tracking-Cif_wXeT.js.map} +1 -1
- package/{subsurface-fragment-liM3y2-P.js → subsurface-fragment-BEaAXYXz.js} +2 -2
- package/{subsurface-fragment-liM3y2-P.js.map → subsurface-fragment-BEaAXYXz.js.map} +1 -1
- package/swapchain-overlay-UCLilhbq.js +37 -0
- package/swapchain-overlay-UCLilhbq.js.map +1 -0
- package/thin-instance-cull-binding-DWKUt5ZN.js +310 -0
- package/thin-instance-cull-binding-DWKUt5ZN.js.map +1 -0
- package/{thin-instance-gpu-C9Gv_Z1w.js → thin-instance-gpu-BDdRcNAh.js} +30 -5
- package/thin-instance-gpu-BDdRcNAh.js.map +1 -0
- package/{tracking-primitives-wgdBY85t.js → tracking-primitives-CglRNTlX.js} +2 -2
- package/{tracking-primitives-wgdBY85t.js.map → tracking-primitives-CglRNTlX.js.map} +1 -1
- package/{unlit-fragment-BIlhJpz6.js → unlit-fragment-kxfZWlnp.js} +2 -2
- package/{unlit-fragment-BIlhJpz6.js.map → unlit-fragment-kxfZWlnp.js.map} +1 -1
- package/{wgsl-helpers-DyzNzCeE.js → wgsl-helpers-D8sl1VVA.js} +4 -4
- package/{wgsl-helpers-DyzNzCeE.js.map → wgsl-helpers-D8sl1VVA.js.map} +1 -1
- package/assets/splat-sort-worker-Crg3CaCc.js.map +0 -1
- package/background-dds-skybox-yHTqabU3.js.map +0 -1
- package/background-ground-DIw6D3qf.js.map +0 -1
- package/background-hdr-skybox-c4uuTmkP.js.map +0 -1
- package/background-solid-skybox-DPGBpPbm.js.map +0 -1
- package/billboard-renderable-D8mlVGCd.js.map +0 -1
- package/create-skeleton-C9JdIJnb.js.map +0 -1
- package/cubemap-skybox-material-DvXMVc4k.js.map +0 -1
- package/emissive-fragment-BnNvbBCw.js.map +0 -1
- package/gaussian-splatting-pipeline-sh-DgJl7l56.js.map +0 -1
- package/gltf-animation-D7uyTyO3.js.map +0 -1
- package/gltf-ext-basisu-CPg5kPrx.js.map +0 -1
- package/gltf-ext-quantization-CpZyLDIz.js.map +0 -1
- package/gltf-feature-animation-pointer-BjpwOOqo.js.map +0 -1
- package/gltf-feature-draco-yGSMGTE3.js.map +0 -1
- package/gltf-feature-gpu-instancing-2e_CFQnl.js.map +0 -1
- package/gltf-feature-meshopt-Des96YFI.js.map +0 -1
- package/gltf-feature-morph-CKCw6tkX.js.map +0 -1
- package/gltf-glb-parser-D6UZWFuC.js.map +0 -1
- package/gltf-interleave-DGnUlz28.js.map +0 -1
- package/gltf-pbr-builder-ext-BFOxOCnQ.js.map +0 -1
- package/gs-picking-pipeline-DzfMASL9.js.map +0 -1
- package/index-C8HOR2sB.js +0 -19222
- package/index-C8HOR2sB.js.map +0 -1
- package/mesh-features-BLENkYVt.js.map +0 -1
- package/node-env-BPZXZzBf.js.map +0 -1
- package/node-registry-DwgC4yth.js +0 -190
- package/node-registry-DwgC4yth.js.map +0 -1
- package/node-renderable-DlLIdBmd.js.map +0 -1
- package/node-shadow-DKrcqmNg.js.map +0 -1
- package/pbr-renderable-BJxUtPBb.js.map +0 -1
- package/pbr-shadow-fragment-LO9SlbJj.js.map +0 -1
- package/pbr-transmission-ext-BxW4CEGu.js +0 -581
- package/pbr-transmission-ext-BxW4CEGu.js.map +0 -1
- package/rgbd-decode-DCvzUYeI.js.map +0 -1
- package/scene-material-swap-C2ykv55W.js.map +0 -1
- package/shader-renderable-D-6796KR.js.map +0 -1
- package/skybox-renderable-DDwzu-PT.js.map +0 -1
- package/splat-ply-compressed-BahdBG1r.js.map +0 -1
- package/standard-renderable-GjxL9xSf.js.map +0 -1
- package/std-shadow-fragment-FNQfrJuC.js +0 -8
- package/std-shadow-fragment-FNQfrJuC.js.map +0 -1
- package/swapchain-overlay-DcCSFDp7.js +0 -35
- package/swapchain-overlay-DcCSFDp7.js.map +0 -1
- package/thin-instance-gpu-C9Gv_Z1w.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"havok-floating-origin-Dr-18Nds.js","sources":["../src/physics/havok-floating-origin.ts"],"sourcesContent":["/**\n * Havok multi-region floating origin (Large World Rendering).\n *\n * This module is **dynamic-imported only when the engine has `useFloatingOrigin: true`**\n * (from `createHavokWorld`), so non-floating-origin physics scenes never pull this code into\n * their bundle.\n *\n * Under floating origin, bodies far apart in world space are simulated in separate regions —\n * each a native Havok world with a fixed `origin`. Bodies are stored in region-local coordinates\n * (`worldPos - origin`, near zero), so the float32 Havok solver keeps full precision at large\n * world coordinates. Node transforms remain true world coordinates; the eye-relative render path\n * is handled independently.\n *\n * Mirrors Babylon.js's `scene.floatingOriginMode` + Havok plugin `floatingOriginWorldRadius`.\n */\n\nimport type { Vec3 } from \"../math/types.js\";\nimport type { PhysicsBody, PhysicsWorld } from \"./havok.js\";\nimport { PhysicsMotionType } from \"./havok.js\";\n\n/**\n * A simulation region: a native Havok world whose bodies are simulated relative to a fixed\n * `origin`. `_regions[0]` is the default region (origin at the world origin).\n */\nexport interface WorldRegion {\n /** @internal */ _world: any;\n /** Floating origin (world-space centre) this region's bodies are stored relative to. */\n origin: Vec3;\n /** This region's gravity vector `[x, y, z]`. */\n gravity: number[];\n}\n\n/**\n * Floating-origin runtime stored on `PhysicsWorld._fo` (present only when floating origin is on).\n * Holds region state plus the standalone hooks the core physics module calls in place of its\n * single-world fast path.\n */\nexport interface HavokFloatingOriginContext {\n /** All simulation regions; `regions[0]` is the default (origin-centred) region. */\n regions: WorldRegion[];\n /** Region capture radius (metres). */\n radius: number;\n /** Most recently set world-wide gravity `[x, y, z]`; seeds newly created regions. */\n gravity: number[];\n placeBody(world: PhysicsWorld, body: PhysicsBody, startsAsleep: boolean): void;\n step(world: PhysicsWorld): void;\n setGravity(world: PhysicsWorld, gravity: number[], worldPosition?: Vec3): void;\n getRegionGravity(world: PhysicsWorld, worldPosition: Vec3): number[];\n setVelocityLimits(world: PhysicsWorld, maxLinear: number, maxAngular: number): void;\n dispose(world: PhysicsWorld): void;\n}\n\n/**\n * Builds the floating-origin context, seeding it with the world's default region (the native world\n * already created by `createHavokWorld`, centred at the origin).\n */\nexport function createHavokFloatingOriginContext(hkWorld: any, gravity: number[], radius: number): HavokFloatingOriginContext {\n return {\n regions: [{ _world: hkWorld, origin: { x: 0, y: 0, z: 0 }, gravity: [...gravity] }],\n radius,\n gravity: [...gravity],\n placeBody: _placeBody,\n step: _step,\n setGravity: _setGravity,\n getRegionGravity: _getRegionGravity,\n setVelocityLimits: _setVelocityLimits,\n dispose: _dispose,\n };\n}\n\n// ─── Region lookup / creation ────────────────────────────────────────\n\n/** Returns the region whose origin is within the capture radius of `pos`, or null. */\nfunction _findRegion(fo: HavokFloatingOriginContext, pos: Vec3): WorldRegion | null {\n const r2 = fo.radius * fo.radius;\n for (const region of fo.regions) {\n const dx = pos.x - region.origin.x;\n const dy = pos.y - region.origin.y;\n const dz = pos.z - region.origin.z;\n if (dx * dx + dy * dy + dz * dz <= r2) {\n return region;\n }\n }\n return null;\n}\n\n/** Returns an existing region containing `pos`, or creates a new one centred at `pos`. */\nfunction _getOrCreateRegion(world: PhysicsWorld, pos: Vec3): WorldRegion {\n const fo = world._fo!;\n const found = _findRegion(fo, pos);\n if (found) {\n return found;\n }\n const hknp = world._hknp;\n const newWorld = hknp.HP_World_Create()[1];\n hknp.HP_World_SetGravity(newWorld, fo.gravity);\n const limits = hknp.HP_World_GetSpeedLimit(world._hkWorld);\n hknp.HP_World_SetSpeedLimit(newWorld, limits[1], limits[2]);\n const region: WorldRegion = {\n _world: newWorld,\n origin: { x: pos.x, y: pos.y, z: pos.z },\n gravity: [...fo.gravity],\n };\n fo.regions.push(region);\n return region;\n}\n\n// ─── Hooks ───────────────────────────────────────────────────────────\n\nfunction _placeBody(world: PhysicsWorld, body: PhysicsBody, startsAsleep: boolean): void {\n const hknp = world._hknp;\n const node = body.node;\n const region = _getOrCreateRegion(world, node.position);\n hknp.HP_World_AddBody(region._world, body._hkBody, startsAsleep);\n const p = node.position;\n const q = node.rotationQuaternion;\n const o = region.origin;\n hknp.HP_Body_SetQTransform(body._hkBody, [\n [p.x - o.x, p.y - o.y, p.z - o.z],\n [q.x, q.y, q.z, q.w],\n ]);\n body._region = region;\n}\n\nfunction _step(world: PhysicsWorld): void {\n const hknp = world._hknp;\n const bodies = world._bodies;\n const regions = world._fo!.regions;\n\n // Re-region bodies that drifted out of their region BEFORE stepping.\n for (let i = 0; i < bodies.length; i++) {\n _reRegionBody(world, bodies[i]!);\n }\n\n // Pre-step: sync ANIMATED bodies from node → Havok.\n for (let i = 0; i < bodies.length; i++) {\n const b = bodies[i]!;\n if (b.motionType === (PhysicsMotionType.ANIMATED as number)) {\n _syncNodeToBody(hknp, b);\n }\n }\n\n // Step every region world.\n for (let i = 0; i < regions.length; i++) {\n hknp.HP_World_Step(regions[i]!._world, world._timestep);\n }\n\n // Post-step: sync DYNAMIC bodies from Havok → node.\n for (let i = 0; i < bodies.length; i++) {\n const b = bodies[i]!;\n if (b.motionType === (PhysicsMotionType.DYNAMIC as number)) {\n _syncBodyToNode(hknp, b);\n }\n }\n\n // Reclaim regions emptied by migration.\n _gcRegions(world);\n}\n\nfunction _setGravity(world: PhysicsWorld, gravity: number[], worldPosition?: Vec3): void {\n const fo = world._fo!;\n const hknp = world._hknp;\n if (worldPosition) {\n const region = _getOrCreateRegion(world, worldPosition);\n region.gravity = gravity;\n hknp.HP_World_SetGravity(region._world, gravity);\n return;\n }\n fo.gravity = gravity;\n for (const region of fo.regions) {\n region.gravity = gravity;\n hknp.HP_World_SetGravity(region._world, gravity);\n }\n}\n\nfunction _getRegionGravity(world: PhysicsWorld, worldPosition: Vec3): number[] {\n return _getOrCreateRegion(world, worldPosition).gravity;\n}\n\nfunction _setVelocityLimits(world: PhysicsWorld, maxLinear: number, maxAngular: number): void {\n for (const region of world._fo!.regions) {\n world._hknp.HP_World_SetSpeedLimit(region._world, maxLinear, maxAngular);\n }\n}\n\nfunction _dispose(world: PhysicsWorld): void {\n const hknp = world._hknp;\n const bodies = world._bodies;\n for (let i = bodies.length - 1; i >= 0; i--) {\n const b = bodies[i]!;\n hknp.HP_World_RemoveBody(b._region!._world, b._hkBody);\n hknp.HP_Body_Release(b._hkBody);\n }\n bodies.length = 0;\n const regions = world._fo!.regions;\n for (const region of regions) {\n hknp.HP_World_Release(region._world);\n }\n regions.length = 0;\n}\n\n// ─── Migration & sync ────────────────────────────────────────────────\n\n/**\n * Moves a body to the correct region if it has drifted past `radius * 1.2` (hysteresis) from its\n * current region's origin, preserving linear and angular velocity. Uses a one-second velocity\n * look-ahead to prefer joining an existing target region over spawning a throwaway one.\n */\nfunction _reRegionBody(world: PhysicsWorld, body: PhysicsBody): void {\n const hknp = world._hknp;\n const fo = world._fo!;\n const current = body._region!;\n\n const t = hknp.HP_Body_GetQTransform(body._hkBody)[1];\n const localPos = t[0];\n const orientation = t[1];\n\n // Distance from region origin == magnitude of the local position.\n const margin = fo.radius * 1.2;\n if (localPos[0] * localPos[0] + localPos[1] * localPos[1] + localPos[2] * localPos[2] <= margin * margin) {\n return;\n }\n\n const wx = localPos[0] + current.origin.x;\n const wy = localPos[1] + current.origin.y;\n const wz = localPos[2] + current.origin.z;\n\n const linVel = hknp.HP_Body_GetLinearVelocity(body._hkBody)[1];\n const angVel = hknp.HP_Body_GetAngularVelocity(body._hkBody)[1];\n\n const worldPos: Vec3 = { x: wx, y: wy, z: wz };\n const lookAhead: Vec3 = { x: wx + linVel[0], y: wy + linVel[1], z: wz + linVel[2] };\n\n let next = _findRegion(fo, lookAhead);\n if (!next || next === current) {\n next = _findRegion(fo, worldPos);\n }\n if (!next || next === current) {\n next = _getOrCreateRegion(world, worldPos);\n }\n if (next === current) {\n return;\n }\n\n hknp.HP_World_RemoveBody(current._world, body._hkBody);\n const o = next.origin;\n hknp.HP_Body_SetQTransform(body._hkBody, [[wx - o.x, wy - o.y, wz - o.z], orientation]);\n hknp.HP_World_AddBody(next._world, body._hkBody, false);\n hknp.HP_Body_SetLinearVelocity(body._hkBody, linVel);\n hknp.HP_Body_SetAngularVelocity(body._hkBody, angVel);\n body._region = next;\n}\n\n/** Releases any non-default region that no longer holds any bodies. */\nfunction _gcRegions(world: PhysicsWorld): void {\n const regions = world._fo!.regions;\n if (regions.length <= 1) {\n return;\n }\n const hknp = world._hknp;\n const used = new Set<WorldRegion>();\n for (let i = 0; i < world._bodies.length; i++) {\n used.add(world._bodies[i]!._region!);\n }\n for (let i = regions.length - 1; i >= 1; i--) {\n const region = regions[i]!;\n if (!used.has(region)) {\n hknp.HP_World_Release(region._world);\n regions.splice(i, 1);\n }\n }\n}\n\nfunction _syncBodyToNode(hknp: any, body: PhysicsBody): void {\n const t = hknp.HP_Body_GetQTransform(body._hkBody)[1];\n const pos = t[0]; // [x, y, z] in region-local space\n const rot = t[1]; // [x, y, z, w]\n const o = body._region!.origin;\n const node = body.node;\n node.position.set(pos[0] + o.x, pos[1] + o.y, pos[2] + o.z);\n node.rotationQuaternion.set(rot[0], rot[1], rot[2], rot[3]);\n}\n\nfunction _syncNodeToBody(hknp: any, body: PhysicsBody): void {\n const node = body.node;\n const p = node.position;\n const q = node.rotationQuaternion;\n const o = body._region!.origin;\n hknp.HP_Body_SetQTransform(body._hkBody, [\n [p.x - o.x, p.y - o.y, p.z - o.z],\n [q.x, q.y, q.z, q.w],\n ]);\n}\n"],"names":[],"mappings":"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"}
|