@babylonjs/lite 1.1.0 → 1.3.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-WeexU-hd.js → _mat4-storage-f64-BqqOLkos.js} +2 -2
- package/{_mat4-storage-f64-WeexU-hd.js.map → _mat4-storage-f64-BqqOLkos.js.map} +1 -1
- package/{alpha-test-fragment-x2mnjLgC.js → alpha-test-fragment-D8oeUpvv.js} +2 -2
- package/{alpha-test-fragment-x2mnjLgC.js.map → alpha-test-fragment-D8oeUpvv.js.map} +1 -1
- package/{background-dds-skybox-BpcDr-9c.js → background-dds-skybox-Cv92mmdC.js} +3 -4
- package/{background-dds-skybox-BpcDr-9c.js.map → background-dds-skybox-Cv92mmdC.js.map} +1 -1
- package/{background-ground-Bm6gjWqx.js → background-ground-ClcWiDuF.js} +2 -3
- package/{background-ground-Bm6gjWqx.js.map → background-ground-ClcWiDuF.js.map} +1 -1
- package/{background-hdr-skybox-CSFo8RX6.js → background-hdr-skybox-MfAwLhVx.js} +3 -3
- package/{background-hdr-skybox-CSFo8RX6.js.map → background-hdr-skybox-MfAwLhVx.js.map} +1 -1
- package/{background-solid-skybox-DOOBeDIz.js → background-solid-skybox-CkmGuOn5.js} +2 -3
- package/{background-solid-skybox-DOOBeDIz.js.map → background-solid-skybox-CkmGuOn5.js.map} +1 -1
- package/{billboard-renderable-IJfCpeDS.js → billboard-renderable-CmIfD7IP.js} +2 -2
- package/{billboard-renderable-IJfCpeDS.js.map → billboard-renderable-CmIfD7IP.js.map} +1 -1
- package/{clamp-block-BD_t8I89.js → clamp-block-Bupvx5sX.js} +2 -2
- package/{clamp-block-BD_t8I89.js.map → clamp-block-Bupvx5sX.js.map} +1 -1
- package/{clearcoat-fragment-Dj7vGX2u.js → clearcoat-fragment-wfkXOHHZ.js} +2 -2
- package/{clearcoat-fragment-Dj7vGX2u.js.map → clearcoat-fragment-wfkXOHHZ.js.map} +1 -1
- package/{create-skeleton-s0hjrC3A.js → create-skeleton-41NqPV9u.js} +2 -2
- package/{create-skeleton-s0hjrC3A.js.map → create-skeleton-41NqPV9u.js.map} +1 -1
- package/{cubemap-skybox-material-8lzbgi7K.js → cubemap-skybox-material-BWGdKMLi.js} +2 -2
- package/{cubemap-skybox-material-8lzbgi7K.js.map → cubemap-skybox-material-BWGdKMLi.js.map} +1 -1
- package/{curve-block-Ditr4R7V.js → curve-block-CeLMJE2N.js} +2 -2
- package/{curve-block-Ditr4R7V.js.map → curve-block-CeLMJE2N.js.map} +1 -1
- package/{emissive-fragment-BOAezkfk.js → emissive-fragment-CDJhX8ad.js} +2 -2
- package/{emissive-fragment-BOAezkfk.js.map → emissive-fragment-CDJhX8ad.js.map} +1 -1
- package/{esm-shadow-view-JCPaOOi7.js → esm-shadow-view-CcX1jdrL.js} +2 -2
- package/{esm-shadow-view-JCPaOOi7.js.map → esm-shadow-view-CcX1jdrL.js.map} +1 -1
- package/{esm-shadow-view-DRpyRAfa.js → esm-shadow-view-Cf2PwVNs.js} +2 -2
- package/{esm-shadow-view-DRpyRAfa.js.map → esm-shadow-view-Cf2PwVNs.js.map} +1 -1
- package/{esm-shadow-view-DmIORQGZ.js → esm-shadow-view-KyVyZnKZ.js} +2 -2
- package/{esm-shadow-view-DmIORQGZ.js.map → esm-shadow-view-KyVyZnKZ.js.map} +1 -1
- package/{gaussian-splatting-pipeline-sh-B30Mu56i.js → gaussian-splatting-pipeline-sh-lM48JDca.js} +2 -2
- package/{gaussian-splatting-pipeline-sh-B30Mu56i.js.map → gaussian-splatting-pipeline-sh-lM48JDca.js.map} +1 -1
- package/{geometry-texture-output-DURiaJ_n.js → geometry-texture-output-DSeH_3G_.js} +2 -2
- package/{geometry-texture-output-DURiaJ_n.js.map → geometry-texture-output-DSeH_3G_.js.map} +1 -1
- package/{geometry-view-DRrscyWU.js → geometry-view-L27hzPQF.js} +3 -4
- package/{geometry-view-DRrscyWU.js.map → geometry-view-L27hzPQF.js.map} +1 -1
- package/{gltf-animation-BjnXkop6.js → gltf-animation-Db8PwXmY.js} +6 -5
- package/gltf-animation-Db8PwXmY.js.map +1 -0
- package/{gltf-ext-basisu-DtzVV1Xx.js → gltf-ext-basisu-BARpgeiU.js} +2 -2
- package/{gltf-ext-basisu-DtzVV1Xx.js.map → gltf-ext-basisu-BARpgeiU.js.map} +1 -1
- package/{gltf-ext-node-visibility-BhX0DmiP.js → gltf-ext-node-visibility-Cv7HyWR_.js} +2 -2
- package/{gltf-ext-node-visibility-BhX0DmiP.js.map → gltf-ext-node-visibility-Cv7HyWR_.js.map} +1 -1
- package/{gltf-ext-quantization-DaymajCR.js → gltf-ext-quantization-DIYKR7_3.js} +2 -2
- package/{gltf-ext-quantization-DaymajCR.js.map → gltf-ext-quantization-DIYKR7_3.js.map} +1 -1
- package/{gltf-ext-uv-transform-DFmNJ8kA.js → gltf-ext-uv-transform-qU-LScDy.js} +2 -2
- package/{gltf-ext-uv-transform-DFmNJ8kA.js.map → gltf-ext-uv-transform-qU-LScDy.js.map} +1 -1
- package/gltf-feature-animation-pointer-nDf6dGpL.js +161 -0
- package/gltf-feature-animation-pointer-nDf6dGpL.js.map +1 -0
- package/{gltf-feature-animations-v0S_yb4T.js → gltf-feature-animations-Dr9AsgIN.js} +3 -3
- package/{gltf-feature-animations-v0S_yb4T.js.map → gltf-feature-animations-Dr9AsgIN.js.map} +1 -1
- package/gltf-feature-draco-CRgxNaK1.js +33 -0
- package/gltf-feature-draco-CRgxNaK1.js.map +1 -0
- package/{gltf-feature-gpu-instancing-BoeSm6Tn.js → gltf-feature-gpu-instancing-QfJNFW1R.js} +2 -2
- package/{gltf-feature-gpu-instancing-BoeSm6Tn.js.map → gltf-feature-gpu-instancing-QfJNFW1R.js.map} +1 -1
- package/{gltf-feature-lights-punctual-BCTwgyi_.js → gltf-feature-lights-punctual-B3xbCshn.js} +5 -5
- package/{gltf-feature-lights-punctual-BCTwgyi_.js.map → gltf-feature-lights-punctual-B3xbCshn.js.map} +1 -1
- package/{gltf-feature-meshopt-DItMkOMt.js → gltf-feature-meshopt-DBvtC2n2.js} +2 -34
- package/gltf-feature-meshopt-DBvtC2n2.js.map +1 -0
- package/{gltf-feature-morph-Cv0mEYIq.js → gltf-feature-morph-DE63vfIE.js} +3 -3
- package/{gltf-feature-morph-Cv0mEYIq.js.map → gltf-feature-morph-DE63vfIE.js.map} +1 -1
- package/{gltf-feature-registry-wNbt6UC-.js → gltf-feature-registry-DfOiNmhR.js} +15 -15
- package/{gltf-feature-registry-wNbt6UC-.js.map → gltf-feature-registry-DfOiNmhR.js.map} +1 -1
- package/{gltf-feature-skeleton-Deh2UBAn.js → gltf-feature-skeleton-IHj-DuKx.js} +12 -3
- package/gltf-feature-skeleton-IHj-DuKx.js.map +1 -0
- package/{gltf-feature-variants-DGSdFNJq.js → gltf-feature-variants-C-eyBru5.js} +2 -2
- package/{gltf-feature-variants-DGSdFNJq.js.map → gltf-feature-variants-C-eyBru5.js.map} +1 -1
- package/{gltf-glb-parser-DSQWsT4r.js → gltf-glb-parser-DXMAJA8e.js} +2 -2
- package/{gltf-glb-parser-DSQWsT4r.js.map → gltf-glb-parser-DXMAJA8e.js.map} +1 -1
- package/{gltf-interleave-OBqmlu-h.js → gltf-interleave-BdKrRH3j.js} +4 -4
- package/gltf-interleave-BdKrRH3j.js.map +1 -0
- package/{gltf-pbr-builder-ext-3imk8Tev.js → gltf-pbr-builder-ext-DJ8Jm7jo.js} +2 -2
- package/{gltf-pbr-builder-ext-3imk8Tev.js.map → gltf-pbr-builder-ext-DJ8Jm7jo.js.map} +1 -1
- package/{gltf-variants-Dyr54wwg.js → gltf-variants-C0HetOre.js} +4 -4
- package/{gltf-variants-Dyr54wwg.js.map → gltf-variants-C0HetOre.js.map} +1 -1
- package/{gpu-task-timer-DVBNZfq5.js → gpu-task-timer-C-3sLTxO.js} +2 -2
- package/{gpu-task-timer-DVBNZfq5.js.map → gpu-task-timer-C-3sLTxO.js.map} +1 -1
- package/{gs-picking-pipeline-CERN-Trj.js → gs-picking-pipeline-DlogO8fI.js} +2 -2
- package/{gs-picking-pipeline-CERN-Trj.js.map → gs-picking-pipeline-DlogO8fI.js.map} +1 -1
- package/{havok-floating-origin-VVdJRUYc.js → havok-floating-origin-CQ7yE-XD.js} +2 -2
- package/{havok-floating-origin-VVdJRUYc.js.map → havok-floating-origin-CQ7yE-XD.js.map} +1 -1
- package/{index-BgY3QEzL.js → index-C2sM8ERH.js} +2697 -932
- package/index-C2sM8ERH.js.map +1 -0
- package/index.d.ts +443 -12
- package/index.js +525 -507
- package/{input-block-DjdlndCL.js → input-block-DfFVJB-8.js} +2 -2
- package/{input-block-DjdlndCL.js.map → input-block-DfFVJB-8.js.map} +1 -1
- package/{iridescence-fragment-kfsCs8lN.js → iridescence-fragment-CQwzyZ3W.js} +2 -2
- package/{iridescence-fragment-kfsCs8lN.js.map → iridescence-fragment-CQwzyZ3W.js.map} +1 -1
- package/{light-block-qjCrz3de.js → light-block-othUHIHC.js} +2 -2
- package/{light-block-qjCrz3de.js.map → light-block-othUHIHC.js.map} +1 -1
- package/{loop-block-C8vkQ2bz.js → loop-block-DgHyTx97.js} +2 -2
- package/{loop-block-C8vkQ2bz.js.map → loop-block-DgHyTx97.js.map} +1 -1
- package/{morph-fragment-NpZYyIIU.js → morph-fragment-D_rgysrc.js} +2 -2
- package/{morph-fragment-NpZYyIIU.js.map → morph-fragment-D_rgysrc.js.map} +1 -1
- package/{multilight-wgsl-I5SncF0q.js → multilight-wgsl-DRmyM3cC.js} +2 -2
- package/{multilight-wgsl-I5SncF0q.js.map → multilight-wgsl-DRmyM3cC.js.map} +1 -1
- package/{node-env-D7Aee08u.js → node-env-B-Ca2DL0.js} +2 -2
- package/{node-env-D7Aee08u.js.map → node-env-B-Ca2DL0.js.map} +1 -1
- package/{node-geometry-view-DfKXWNfV.js → node-geometry-view-BJDB-lrf.js} +3 -3
- package/{node-geometry-view-DfKXWNfV.js.map → node-geometry-view-BJDB-lrf.js.map} +1 -1
- package/{node-registry-extra-compat-CDLeBR1P.js → node-registry-extra-compat-SwS962Ax.js} +2 -2
- package/{node-registry-extra-compat-CDLeBR1P.js.map → node-registry-extra-compat-SwS962Ax.js.map} +1 -1
- package/{node-registry-extra-math-BA8_l4lB.js → node-registry-extra-math-Bsj4UAE5.js} +2 -2
- package/{node-registry-extra-math-BA8_l4lB.js.map → node-registry-extra-math-Bsj4UAE5.js.map} +1 -1
- package/{node-renderable-EwLLnaL1.js → node-renderable-BOIc3hM1.js} +2 -2
- package/{node-renderable-EwLLnaL1.js.map → node-renderable-BOIc3hM1.js.map} +1 -1
- package/{node-shadow-CeTmT6g4.js → node-shadow-DE--Q2V1.js} +2 -2
- package/{node-shadow-CeTmT6g4.js.map → node-shadow-DE--Q2V1.js.map} +1 -1
- package/{normal-map-fragment-BHImLyM-.js → normal-map-fragment-Cjm-v9uq.js} +2 -3
- package/{normal-map-fragment-BHImLyM-.js.map → normal-map-fragment-Cjm-v9uq.js.map} +1 -1
- package/package.json +3 -3
- package/{parse-camera-5IGdctAS.js → parse-camera-uQ8oKgeH.js} +2 -2
- package/{parse-camera-5IGdctAS.js.map → parse-camera-uQ8oKgeH.js.map} +1 -1
- package/{pbr-fog-wgsl-BqdCid6r.js → pbr-fog-wgsl-B5LrMToX.js} +2 -2
- package/{pbr-fog-wgsl-BqdCid6r.js.map → pbr-fog-wgsl-B5LrMToX.js.map} +1 -1
- package/{pbr-geometry-view-Dthf9Aut.js → pbr-geometry-view-BI52zgUI.js} +9 -11
- package/pbr-geometry-view-BI52zgUI.js.map +1 -0
- package/{pbr-metallic-roughness-block-g7wjzwN_.js → pbr-metallic-roughness-block-C7s1jL4q.js} +2 -2
- package/{pbr-metallic-roughness-block-g7wjzwN_.js.map → pbr-metallic-roughness-block-C7s1jL4q.js.map} +1 -1
- package/{pbr-metallic-roughness-block-full-DD6zI_Lx.js → pbr-metallic-roughness-block-full-BuhhVBFO.js} +2 -2
- package/{pbr-metallic-roughness-block-full-DD6zI_Lx.js.map → pbr-metallic-roughness-block-full-BuhhVBFO.js.map} +1 -1
- package/{pbr-mr-helper-core-CWROQ7OA.js → pbr-mr-helper-core-XeyKg-g6.js} +2 -2
- package/{pbr-mr-helper-core-CWROQ7OA.js.map → pbr-mr-helper-core-XeyKg-g6.js.map} +1 -1
- package/{pbr-refraction-Dxsm_gii.js → pbr-refraction-Bxz4GDeh.js} +2 -2
- package/{pbr-refraction-Dxsm_gii.js.map → pbr-refraction-Bxz4GDeh.js.map} +1 -1
- package/{pbr-renderable-CuKWalEM.js → pbr-renderable-B0elfRlX.js} +41 -189
- package/pbr-renderable-B0elfRlX.js.map +1 -0
- package/{pbr-shadow-fragment-waeIBQUq.js → pbr-shadow-fragment-QHbgqVlc.js} +2 -2
- package/{pbr-shadow-fragment-waeIBQUq.js.map → pbr-shadow-fragment-QHbgqVlc.js.map} +1 -1
- package/{pbr-tracking-CdeqbBrh.js → pbr-tracking-BWWSjls_.js} +2 -2
- package/{pbr-tracking-CdeqbBrh.js.map → pbr-tracking-BWWSjls_.js.map} +1 -1
- package/{pbr-transmission-ext-BNiXngZc.js → pbr-transmission-ext-DiEBLim-.js} +2 -2
- package/{pbr-transmission-ext-BNiXngZc.js.map → pbr-transmission-ext-DiEBLim-.js.map} +1 -1
- package/{reflectance-fragment-BQFZ_pgy.js → reflectance-fragment-wBk8UtBP.js} +2 -2
- package/{reflectance-fragment-BQFZ_pgy.js.map → reflectance-fragment-wBk8UtBP.js.map} +1 -1
- package/{rgbd-decode-duTlXMWd.js → rgbd-decode-CAQ7XSwl.js} +2 -2
- package/{rgbd-decode-duTlXMWd.js.map → rgbd-decode-CAQ7XSwl.js.map} +1 -1
- package/{screenshot-readback-DnxR4rhp.js → screenshot-readback-NxsFpnE4.js} +2 -2
- package/{screenshot-readback-DnxR4rhp.js.map → screenshot-readback-NxsFpnE4.js.map} +1 -1
- package/{shader-renderable-DVMVD6zP.js → shader-renderable-CUlJSove.js} +4 -196
- package/shader-renderable-CUlJSove.js.map +1 -0
- package/{shader-thin-instance-CsDo3ULk.js → shader-thin-instance-BjIbuYdv.js} +2 -2
- package/{shader-thin-instance-CsDo3ULk.js.map → shader-thin-instance-BjIbuYdv.js.map} +1 -1
- package/{sheen-fragment-B_Jd7wrr.js → sheen-fragment-ef8myYaq.js} +2 -2
- package/{sheen-fragment-B_Jd7wrr.js.map → sheen-fragment-ef8myYaq.js.map} +1 -1
- package/{singlelight-directional-wgsl-Bw84txva.js → singlelight-directional-wgsl-BvFBA1MO.js} +2 -2
- package/{singlelight-directional-wgsl-Bw84txva.js.map → singlelight-directional-wgsl-BvFBA1MO.js.map} +1 -1
- package/{singlelight-hemispheric-wgsl-DjxhgI8r.js → singlelight-hemispheric-wgsl-BEsGCqSN.js} +2 -2
- package/{singlelight-hemispheric-wgsl-DjxhgI8r.js.map → singlelight-hemispheric-wgsl-BEsGCqSN.js.map} +1 -1
- package/{singlelight-point-wgsl-iA1aRkXA.js → singlelight-point-wgsl-CvMr18Zf.js} +2 -2
- package/{singlelight-point-wgsl-iA1aRkXA.js.map → singlelight-point-wgsl-CvMr18Zf.js.map} +1 -1
- package/{singlelight-spot-wgsl-MDdTdstF.js → singlelight-spot-wgsl-jYIr13wU.js} +2 -2
- package/{singlelight-spot-wgsl-MDdTdstF.js.map → singlelight-spot-wgsl-jYIr13wU.js.map} +1 -1
- package/{skeleton-fragment-COdHWFcK.js → skeleton-fragment-B9M_ddNC.js} +2 -2
- package/{skeleton-fragment-COdHWFcK.js.map → skeleton-fragment-B9M_ddNC.js.map} +1 -1
- package/{skybox-renderable-DJYkfw32.js → skybox-renderable-lbMC32aI.js} +2 -3
- package/{skybox-renderable-DJYkfw32.js.map → skybox-renderable-lbMC32aI.js.map} +1 -1
- package/{splat-ply-compressed-SxMlsKNK.js → splat-ply-compressed-B_w2N_V7.js} +2 -2
- package/{splat-ply-compressed-SxMlsKNK.js.map → splat-ply-compressed-B_w2N_V7.js.map} +1 -1
- package/{standard-renderable-BAc-i-ig.js → standard-renderable-AYZ-Pdcm.js} +3 -4
- package/standard-renderable-AYZ-Pdcm.js.map +1 -0
- package/{std-ambient-fragment-P8dHZ4An.js → std-ambient-fragment-BXl-88sn.js} +2 -2
- package/{std-ambient-fragment-P8dHZ4An.js.map → std-ambient-fragment-BXl-88sn.js.map} +1 -1
- package/{std-cube-reflection-fragment-CF03MuQt.js → std-cube-reflection-fragment-Dn34WuMa.js} +2 -2
- package/{std-cube-reflection-fragment-CF03MuQt.js.map → std-cube-reflection-fragment-Dn34WuMa.js.map} +1 -1
- package/{std-emissive-fragment-P8yJGclx.js → std-emissive-fragment-CK7TwRAt.js} +2 -2
- package/{std-emissive-fragment-P8yJGclx.js.map → std-emissive-fragment-CK7TwRAt.js.map} +1 -1
- package/{std-lightmap-fragment-CymEG79z.js → std-lightmap-fragment-BSeS8K-4.js} +2 -2
- package/{std-lightmap-fragment-CymEG79z.js.map → std-lightmap-fragment-BSeS8K-4.js.map} +1 -1
- package/{std-opacity-fragment-DLa1zV06.js → std-opacity-fragment-DnLaWH9w.js} +2 -2
- package/{std-opacity-fragment-DLa1zV06.js.map → std-opacity-fragment-DnLaWH9w.js.map} +1 -1
- package/{std-reflection-fragment-BLySsYos.js → std-reflection-fragment-BToYPemd.js} +2 -2
- package/{std-reflection-fragment-BLySsYos.js.map → std-reflection-fragment-BToYPemd.js.map} +1 -1
- package/{std-shadow-fragment-C_q27Mdi.js → std-shadow-fragment-9b0rFY7F.js} +2 -2
- package/{std-shadow-fragment-C_q27Mdi.js.map → std-shadow-fragment-9b0rFY7F.js.map} +1 -1
- package/{std-specular-fragment-CaBXyAWY.js → std-specular-fragment-OBO-zxGh.js} +2 -2
- package/{std-specular-fragment-CaBXyAWY.js.map → std-specular-fragment-OBO-zxGh.js.map} +1 -1
- package/{std-tracking-Bw61Dv98.js → std-tracking-4SHTntWt.js} +2 -2
- package/{std-tracking-Bw61Dv98.js.map → std-tracking-4SHTntWt.js.map} +1 -1
- package/{subsurface-fragment-BNQoG9gr.js → subsurface-fragment-D7QRWN_d.js} +2 -2
- package/{subsurface-fragment-BNQoG9gr.js.map → subsurface-fragment-D7QRWN_d.js.map} +1 -1
- package/{thin-instance-cull-binding-BNC5JiGw.js → thin-instance-cull-binding-D-p2Yxfg.js} +3 -3
- package/{thin-instance-cull-binding-BNC5JiGw.js.map → thin-instance-cull-binding-D-p2Yxfg.js.map} +1 -1
- package/{thin-instance-gpu-C1DGstap.js → thin-instance-gpu-QETC_NyQ.js} +2 -2
- package/{thin-instance-gpu-C1DGstap.js.map → thin-instance-gpu-QETC_NyQ.js.map} +1 -1
- package/{tracking-primitives-CMBWLxGr.js → tracking-primitives-CqIIi7Ej.js} +2 -2
- package/{tracking-primitives-CMBWLxGr.js.map → tracking-primitives-CqIIi7Ej.js.map} +1 -1
- package/{unlit-fragment-BsHrS9XX.js → unlit-fragment-DPWDQLxo.js} +2 -2
- package/{unlit-fragment-BsHrS9XX.js.map → unlit-fragment-DPWDQLxo.js.map} +1 -1
- package/gltf-animation-BjnXkop6.js.map +0 -1
- package/gltf-feature-animation-pointer-C40tqOhL.js +0 -88
- package/gltf-feature-animation-pointer-C40tqOhL.js.map +0 -1
- package/gltf-feature-draco-CljWrsna.js +0 -125
- package/gltf-feature-draco-CljWrsna.js.map +0 -1
- package/gltf-feature-meshopt-DItMkOMt.js.map +0 -1
- package/gltf-feature-skeleton-Deh2UBAn.js.map +0 -1
- package/gltf-interleave-OBqmlu-h.js.map +0 -1
- package/index-BgY3QEzL.js.map +0 -1
- package/pbr-geometry-view-Dthf9Aut.js.map +0 -1
- package/pbr-renderable-CuKWalEM.js.map +0 -1
- package/shader-composer-CBy2i8nU.js +0 -293
- package/shader-composer-CBy2i8nU.js.map +0 -1
- package/shader-renderable-DVMVD6zP.js.map +0 -1
- package/standard-pipeline-DXFOUqU_.js +0 -391
- package/standard-pipeline-DXFOUqU_.js.map +0 -1
- package/standard-renderable-BAc-i-ig.js.map +0 -1
- package/wgsl-helpers-D8sl1VVA.js +0 -48
- package/wgsl-helpers-D8sl1VVA.js.map +0 -1
package/index.d.ts
CHANGED
|
@@ -170,6 +170,10 @@ export declare function addTaskBefore(target: FrameGraph | SceneContext, task: T
|
|
|
170
170
|
/** Attach a `TextRenderable` to a scene. Uses the scene's deferred-renderables hook. */
|
|
171
171
|
export declare function addTextRenderable(scene: SceneContext, renderable: TextRenderable): void;
|
|
172
172
|
|
|
173
|
+
/** Add a text layer to an existing renderer if it is not already present.
|
|
174
|
+
*
|
|
175
|
+
* @param tr - Text renderer to mutate.
|
|
176
|
+
* @param layer - Layer to append; draw order is sorted during renderer update. */
|
|
173
177
|
export declare function addTextRendererLayer(tr: TextRenderer, layer: TextLayer): void;
|
|
174
178
|
|
|
175
179
|
/** Add one instance. Returns its index. Grows capacity as needed. */
|
|
@@ -297,7 +301,59 @@ export declare interface AnimationGroup {
|
|
|
297
301
|
/** Whether animation loops (default true). */
|
|
298
302
|
loopAnimation: boolean;
|
|
299
303
|
/** Weighted contribution used by AnimationManager mixing (default 1). */
|
|
300
|
-
weight: number;
|
|
304
|
+
weight: number;
|
|
305
|
+
/** Optional include/exclude target-name mask. When set, only targets the mask retains
|
|
306
|
+
* animate; masked-out targets stay at their bind/rest pose. Matched by glTF node /
|
|
307
|
+
* bone name. See {@link createAnimationGroupMask}. To update an active mask, change
|
|
308
|
+
* its `mode`/`disabled`, replace its `names` array, or reassign `group.mask`;
|
|
309
|
+
* in-place same-length edits of `names` are not picked up. */
|
|
310
|
+
mask?: AnimationGroupMask;
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Filter applied to an {@link AnimationGroup} (via `group.mask`) that restricts which
|
|
314
|
+
* targets the group animates, matched by target name.
|
|
315
|
+
*
|
|
316
|
+
* A target is identified by its name (the glTF node / bone name). The same mask can be
|
|
317
|
+
* reused across animation groups whose targets are named the same way. Matching is exact
|
|
318
|
+
* and case-sensitive. Masked-out targets are left untouched and therefore stay at their
|
|
319
|
+
* bind/rest pose (matching Babylon.js, which pauses those targets).
|
|
320
|
+
*
|
|
321
|
+
* Pure state: create with {@link createAnimationGroupMask} and read membership with
|
|
322
|
+
* {@link animationGroupMaskRetainsTarget}. To change an active mask, toggle `mode` or
|
|
323
|
+
* `disabled`, or replace the `names` array (assign a new array, or push/pop): the
|
|
324
|
+
* controller re-resolves whenever `mode`, `disabled`, the `names` array reference, or
|
|
325
|
+
* its length changes. Editing `names` in place at the same length (e.g. `names[0] = …`
|
|
326
|
+
* or reordering) is NOT detected — assign a new `names` array, or reassign `group.mask`,
|
|
327
|
+
* to apply such a change.
|
|
328
|
+
*/
|
|
329
|
+
export declare interface AnimationGroupMask {
|
|
330
|
+
/** How `names` is interpreted (Include vs Exclude). */
|
|
331
|
+
mode: AnimationGroupMaskMode;
|
|
332
|
+
/** Target (node/bone) names listed by the mask. */
|
|
333
|
+
names: string[];
|
|
334
|
+
/** When true the mask is ignored and every target animates (default false). */
|
|
335
|
+
disabled: boolean;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/** Mode controlling how an {@link AnimationGroupMask} filters targets. */
|
|
339
|
+
export declare enum AnimationGroupMaskMode {
|
|
340
|
+
/** Only the listed target names animate; every other target stays at its bind/rest pose. */
|
|
341
|
+
Include = 0,
|
|
342
|
+
/** Every target animates except the listed names (which stay at their bind/rest pose). */
|
|
343
|
+
Exclude = 1
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Whether the mask retains (keeps animating) the given target name.
|
|
348
|
+
*
|
|
349
|
+
* Mirrors Babylon.js `AnimationGroupMask.retainsTarget`: in Include mode a name is
|
|
350
|
+
* retained when it is listed; in Exclude mode a name is retained when it is NOT listed.
|
|
351
|
+
* A disabled mask retains every name.
|
|
352
|
+
* @param mask - The mask to query.
|
|
353
|
+
* @param name - The target (node/bone) name to test.
|
|
354
|
+
* @returns True if a target with this name should animate, false if it is masked out.
|
|
355
|
+
*/
|
|
356
|
+
export declare function animationGroupMaskRetainsTarget(mask: AnimationGroupMask, name: string): boolean;
|
|
301
357
|
|
|
302
358
|
/** A single keyframe on a property animation track. Supply exactly one of `time` (seconds) or `frame`. */
|
|
303
359
|
export declare interface AnimationKeyframe {
|
|
@@ -499,16 +555,27 @@ export declare interface AssetContainer {
|
|
|
499
555
|
packets: unknown[];
|
|
500
556
|
assetPacket?: unknown;
|
|
501
557
|
};
|
|
558
|
+
/** Bone-control handles, one per glTF skin. Present only when
|
|
559
|
+
* `enableBoneControl()` was called before loading; otherwise `undefined`.
|
|
560
|
+
* Drive bones via `getBoneByName()` + the `setBone*` functions. */
|
|
561
|
+
skeletons?: Skeleton[];
|
|
502
562
|
}
|
|
503
563
|
|
|
504
564
|
/** Bind the gizmo to a node — the gizmo follows the node's world translation
|
|
505
565
|
* and applies drag deltas to its `position`. */
|
|
506
566
|
export declare function attachAxisDragGizmoToNode(gizmo: AxisDragGizmo, node: SceneNode | null): void;
|
|
507
567
|
|
|
568
|
+
/** Attach the axis scale gizmo to a scene node, or detach it with `null`. */
|
|
508
569
|
export declare function attachAxisScaleGizmoToNode(gizmo: AxisScaleGizmo, node: SceneNode | null): void;
|
|
509
570
|
|
|
571
|
+
/** Attach the bounding-box gizmo to a node, or detach it with `null`.
|
|
572
|
+
* Recomputes the current bounds immediately so handles match the new target.
|
|
573
|
+
*/
|
|
510
574
|
export declare function attachBoundingBoxGizmoToNode(gizmo: BoundingBoxGizmo, node: SceneNode | null): void;
|
|
511
575
|
|
|
576
|
+
/** Attach the camera gizmo to a camera, or detach it with `null`.
|
|
577
|
+
* The frustum wireframe is built lazily the first time a camera is attached.
|
|
578
|
+
*/
|
|
512
579
|
export declare function attachCameraGizmoToCamera(gizmo: CameraGizmo, camera: Camera | null): void;
|
|
513
580
|
|
|
514
581
|
/**
|
|
@@ -592,16 +659,24 @@ export declare function attachFreeControl(camera: FreeCamera, canvas: HTMLCanvas
|
|
|
592
659
|
*/
|
|
593
660
|
export declare function attachGeospatialControls(camera: GeospatialCamera, canvas: HTMLCanvasElement, scene: SceneContext, options?: GeospatialControlOptions): () => void;
|
|
594
661
|
|
|
662
|
+
/** Attach the light gizmo to a light, or detach it with `null`.
|
|
663
|
+
* Type-specific geometry is built lazily when a light is first attached.
|
|
664
|
+
*/
|
|
595
665
|
export declare function attachLightGizmoToLight(gizmo: LightGizmo, light: LightBase | null): void;
|
|
596
666
|
|
|
667
|
+
/** Attach the plane drag gizmo to a scene node, or detach it with `null`. */
|
|
597
668
|
export declare function attachPlaneDragGizmoToNode(gizmo: PlaneDragGizmo, node: SceneNode | null): void;
|
|
598
669
|
|
|
670
|
+
/** Attach the rotation gizmo to a scene node, or detach it with `null`. */
|
|
599
671
|
export declare function attachPlaneRotationGizmoToNode(gizmo: PlaneRotationGizmo, node: SceneNode | null): void;
|
|
600
672
|
|
|
673
|
+
/** Attach all position sub-gizmos to a node, or detach them with `null`. */
|
|
601
674
|
export declare function attachPositionGizmoToNode(gizmo: PositionGizmo, node: SceneNode | null): void;
|
|
602
675
|
|
|
676
|
+
/** Attach all rotation sub-gizmos to a node, or detach them with `null`. */
|
|
603
677
|
export declare function attachRotationGizmoToNode(gizmo: RotationGizmo, node: SceneNode | null): void;
|
|
604
678
|
|
|
679
|
+
/** Attach all scale sub-gizmos to a node, or detach them with `null`. */
|
|
605
680
|
export declare function attachScaleGizmoToNode(gizmo: ScaleGizmo, node: SceneNode | null): void;
|
|
606
681
|
|
|
607
682
|
/**
|
|
@@ -634,6 +709,7 @@ export declare function attachSpriteAnimationsToScene(scene: SceneContext, manag
|
|
|
634
709
|
*/
|
|
635
710
|
export declare function attachVat(engine: EngineContext, mesh: Mesh, baked: VatBakeResult, clip?: string): VatHandle;
|
|
636
711
|
|
|
712
|
+
/** A single arrow-shaped gizmo that translates its attached node along one axis. */
|
|
637
713
|
export declare interface AxisDragGizmo {
|
|
638
714
|
/** The root node — gizmo follows its `attachedNode` by copying world translation. */
|
|
639
715
|
readonly root: SceneNode;
|
|
@@ -652,6 +728,7 @@ export declare interface AxisDragGizmo {
|
|
|
652
728
|
* automatically during pointer-down on the collider. */
|
|
653
729
|
readonly materials: GizmoMaterialSet;
|
|
654
730
|
|
|
731
|
+
/** Options for building a single-axis position drag gizmo. */
|
|
655
732
|
export declare interface AxisDragGizmoOptions {
|
|
656
733
|
/** World-space drag axis (unit vector). */
|
|
657
734
|
dragAxis: Vec3;
|
|
@@ -668,6 +745,7 @@ export declare interface AxisDragGizmoOptions {
|
|
|
668
745
|
/** A billboard sprite system that rotates only around a fixed world axis. */
|
|
669
746
|
export declare type AxisLockedBillboardSpriteSystem = BillboardSpriteSystem<"axis-locked">;
|
|
670
747
|
|
|
748
|
+
/** A cube or octahedron handle that scales its attached node from pointer drag distance. */
|
|
671
749
|
export declare interface AxisScaleGizmo {
|
|
672
750
|
readonly root: SceneNode;
|
|
673
751
|
readonly drag: PointerDrag;
|
|
@@ -677,6 +755,7 @@ export declare interface AxisScaleGizmo {
|
|
|
677
755
|
useLocalCoordinates: boolean;
|
|
678
756
|
readonly materials: GizmoMaterialSet;
|
|
679
757
|
|
|
758
|
+
/** Options for building a single-axis or uniform scale gizmo handle. */
|
|
680
759
|
export declare interface AxisScaleGizmoOptions {
|
|
681
760
|
/** World-space drag axis (unit vector). Scaling is applied to the attached
|
|
682
761
|
* node's local `scaling` components proportional to each axis component. */
|
|
@@ -877,6 +956,13 @@ export declare interface BlurPostProcessTaskConfig extends Omit<PostProcessTaskC
|
|
|
877
956
|
kernel?: number;
|
|
878
957
|
}
|
|
879
958
|
|
|
959
|
+
/** A single bone of a {@link Skeleton}. Pure data — drive it via the `setBone*`
|
|
960
|
+
* functions, addressing it through its owning `Skeleton`. */
|
|
961
|
+
export declare interface Bone {
|
|
962
|
+
/** Bone (joint node) name from the glTF, or `bone_<index>` when unnamed. */
|
|
963
|
+
readonly name: string;
|
|
964
|
+
|
|
965
|
+
/** Interactive bounding-box gizmo that can translate, rotate, and scale an attached node. */
|
|
880
966
|
export declare interface BoundingBoxGizmo {
|
|
881
967
|
readonly root: SceneNode;
|
|
882
968
|
/** Currently attached node — set via `attachBoundingBoxGizmoToNode`. */
|
|
@@ -886,6 +972,7 @@ export declare interface BoundingBoxGizmo {
|
|
|
886
972
|
/** Material used to render all gizmo geometry. */
|
|
887
973
|
readonly material: StandardMaterialProps;
|
|
888
974
|
|
|
975
|
+
/** Options for the interactive bounding-box gizmo. */
|
|
889
976
|
export declare interface BoundingBoxGizmoOptions {
|
|
890
977
|
/** RGB colour for the wireframe + handle materials. Defaults to grey. */
|
|
891
978
|
color?: [number, number, number];
|
|
@@ -916,6 +1003,7 @@ export declare interface Camera {
|
|
|
916
1003
|
readonly worldMatrix: Mat4;
|
|
917
1004
|
readonly worldMatrixVersion: number;
|
|
918
1005
|
|
|
1006
|
+
/** Display-only gizmo that visualizes an attached camera body and optional frustum. */
|
|
919
1007
|
export declare interface CameraGizmo {
|
|
920
1008
|
/** Root node — the gizmo follows the attached camera's world translation
|
|
921
1009
|
* and orientation each frame. */
|
|
@@ -928,6 +1016,7 @@ export declare interface CameraGizmo {
|
|
|
928
1016
|
/** Currently attached camera — set via `attachCameraGizmoToCamera`. */
|
|
929
1017
|
attachedCamera: Camera | null;
|
|
930
1018
|
|
|
1019
|
+
/** Options for the display-only camera gizmo. */
|
|
931
1020
|
export declare interface CameraGizmoOptions {
|
|
932
1021
|
/** RGB color for the camera body + frustum material. Defaults to grey. */
|
|
933
1022
|
color?: [number, number, number];
|
|
@@ -1151,6 +1240,9 @@ export declare function clearAnimationManager(manager: AnimationManager): void;
|
|
|
1151
1240
|
*/
|
|
1152
1241
|
export declare function clearBillboardSprites(system: BillboardSpriteSystem): void;
|
|
1153
1242
|
|
|
1243
|
+
/** Remove all overrides for a bone, reverting it to animation / rest pose, then re-bake. */
|
|
1244
|
+
export declare function clearBoneOverride(skeleton: Skeleton, bone: Bone): void;
|
|
1245
|
+
|
|
1154
1246
|
/** Clearcoat layer properties. Maps to BJS PBRMaterial.clearCoat sub-object. */
|
|
1155
1247
|
export declare interface ClearCoatProps {
|
|
1156
1248
|
/** Whether clearcoat is active. Default false. */
|
|
@@ -1327,6 +1419,7 @@ export declare interface CopyToTextureTask extends Task {
|
|
|
1327
1419
|
readonly outputTexture: RenderTarget;
|
|
1328
1420
|
}
|
|
1329
1421
|
|
|
1422
|
+
/** Options used to create a copy-to-texture frame-graph task. Selects the source render target, the target or resolve target, and optional viewport / mip-level settings for blit and copy paths. */
|
|
1330
1423
|
export declare interface CopyToTextureTaskConfig {
|
|
1331
1424
|
name?: string;
|
|
1332
1425
|
sourceTexture: RenderTarget;
|
|
@@ -1374,6 +1467,19 @@ export declare function createAnaglyphPostProcessTask(config: AnaglyphPostProces
|
|
|
1374
1467
|
*/
|
|
1375
1468
|
export declare function createAnimationController(clip: AnimationClip, nodes: readonly NodeRest[], skeletons: readonly SkeletonBinding[], morphBindings: readonly MorphBinding[], nodeTargets?: readonly (AnimatedNodeTarget | undefined)[], excludedNodeIndices?: ReadonlySet<number>): AnimationController;
|
|
1376
1469
|
|
|
1470
|
+
export declare function createAnimationController(clip: AnimationClip, nodes: readonly NodeRest[], skeletons: readonly SkeletonBinding[], morphBindings: readonly MorphBinding[], nodeTargets: readonly (AnimatedNodeTarget | undefined)[] | undefined, excludedNodeIndices: ReadonlySet<number> | undefined, boneOverrides: ReadonlyMap<number, unknown> | undefined): AnimationController;
|
|
1471
|
+
|
|
1472
|
+
export declare function createAnimationController(clip: AnimationClip, nodes: readonly NodeRest[], skeletons: readonly SkeletonBinding[], morphBindings: readonly MorphBinding[], nodeTargets: readonly (AnimatedNodeTarget | undefined)[] | undefined, excludedNodeIndices: ReadonlySet<number> | undefined, boneOverrides: ReadonlyMap<number, unknown> | undefined, nodeNames?: readonly (string | undefined)[]): AnimationController;
|
|
1473
|
+
|
|
1474
|
+
/**
|
|
1475
|
+
* Create an {@link AnimationGroupMask}.
|
|
1476
|
+
* @param names - Target names listed by the mask (copied). Defaults to empty.
|
|
1477
|
+
* @param mode - Include (only listed names animate) or Exclude (all but listed names animate).
|
|
1478
|
+
* Defaults to {@link AnimationGroupMaskMode.Include}.
|
|
1479
|
+
* @returns A new mask. Assign it to `animationGroup.mask`.
|
|
1480
|
+
*/
|
|
1481
|
+
export declare function createAnimationGroupMask(names?: string[], mode?: AnimationGroupMaskMode): AnimationGroupMask;
|
|
1482
|
+
|
|
1377
1483
|
/** Create AnimationGroup(s) from parsed glTF animation data.
|
|
1378
1484
|
* Returns one group per animation clip. */
|
|
1379
1485
|
export declare function createAnimationGroups(animData: GltfAnimationData): AnimationGroup[];
|
|
@@ -1406,6 +1512,12 @@ export declare function createAxisDragGizmo(engine: EngineContext, layer: Utilit
|
|
|
1406
1512
|
*/
|
|
1407
1513
|
export declare function createAxisLockedBillboardSystem(atlas: SpriteAtlas, axis: readonly [number, number, number], opts?: BillboardSpriteSystemOptions): AxisLockedBillboardSpriteSystem;
|
|
1408
1514
|
|
|
1515
|
+
/** Create an axis scale gizmo in the utility layer.
|
|
1516
|
+
* @param engine - Engine that owns the created meshes.
|
|
1517
|
+
* @param layer - Utility layer that renders and picks the gizmo.
|
|
1518
|
+
* @param options - Drag axis, scale mode, sensitivity, and material options.
|
|
1519
|
+
* @returns A detached scale gizmo ready to attach to a node.
|
|
1520
|
+
*/
|
|
1409
1521
|
export declare function createAxisScaleGizmo(engine: EngineContext, layer: UtilityLayer, options: AxisScaleGizmoOptions): AxisScaleGizmo;
|
|
1410
1522
|
|
|
1411
1523
|
/**
|
|
@@ -1441,6 +1553,12 @@ export declare function createBloomPostProcessTask(config: BloomPostProcessTaskC
|
|
|
1441
1553
|
*/
|
|
1442
1554
|
export declare function createBlurPostProcessTask(config: BlurPostProcessTaskConfig, engine: EngineContext, scene?: SceneContext): BlurPostProcessTask;
|
|
1443
1555
|
|
|
1556
|
+
/** Create an interactive bounding-box gizmo in the utility layer.
|
|
1557
|
+
* @param engine - Engine that owns the created meshes.
|
|
1558
|
+
* @param layer - Utility layer that renders and picks the bounding-box handles.
|
|
1559
|
+
* @param options - Visual size and color options for edges and handles.
|
|
1560
|
+
* @returns A detached bounding-box gizmo ready to attach to a node.
|
|
1561
|
+
*/
|
|
1444
1562
|
export declare function createBoundingBoxGizmo(engine: EngineContext, layer: UtilityLayer, options?: BoundingBoxGizmoOptions): BoundingBoxGizmo;
|
|
1445
1563
|
|
|
1446
1564
|
/** Create a box mesh. Caller must assign material. */
|
|
@@ -1515,6 +1633,7 @@ export declare function createClusteredLightContainer(options?: ClusteredLightCo
|
|
|
1515
1633
|
*/
|
|
1516
1634
|
export declare function createClusteredPointLight(container: ClusteredLightContainer, options: ClusteredPointLightOptions): ClusteredPointLight;
|
|
1517
1635
|
|
|
1636
|
+
/** Create a frame-graph task that copies, blits, or resolves one render target color attachment into another. The task chooses the fastest valid path during `record()` based on the configured targets, samples, viewport, and mip level. */
|
|
1518
1637
|
export declare function createCopyToTextureTask(config: CopyToTextureTaskConfig, engine: EngineContext, scene: SceneContext): CopyToTextureTask;
|
|
1519
1638
|
|
|
1520
1639
|
/**
|
|
@@ -1552,6 +1671,7 @@ export declare function createCsmDirectionalShadowGenerator(engine: EngineContex
|
|
|
1552
1671
|
/** Create a cylinder (or cone / truncated cone / prism) mesh. Caller must assign material. */
|
|
1553
1672
|
export declare function createCylinder(engine: EngineContext, options?: CylinderOptions): Mesh;
|
|
1554
1673
|
|
|
1674
|
+
/** Generate indexed vertex data for a cylinder, cone, truncated cone, or prism using Babylon-compatible defaults. The returned arrays contain positions, normals, UVs, and indices suitable for constructing a mesh. */
|
|
1555
1675
|
export declare function createCylinderData(options?: CylinderOptions): CylinderData;
|
|
1556
1676
|
|
|
1557
1677
|
/**
|
|
@@ -1958,8 +2078,20 @@ export declare function createPhysicsViewer(scene: SceneContext, world: PhysicsW
|
|
|
1958
2078
|
/** Create a plane (unit quad facing -Z). Caller must assign material. */
|
|
1959
2079
|
export declare function createPlane(engine: EngineContext, options?: PlaneOptions): Mesh;
|
|
1960
2080
|
|
|
2081
|
+
/** Create a planar drag gizmo in the utility layer.
|
|
2082
|
+
* @param engine - Engine that owns the created meshes.
|
|
2083
|
+
* @param layer - Utility layer that renders and picks the gizmo.
|
|
2084
|
+
* @param options - Plane normal and material options.
|
|
2085
|
+
* @returns A detached plane drag gizmo ready to attach to a node.
|
|
2086
|
+
*/
|
|
1961
2087
|
export declare function createPlaneDragGizmo(engine: EngineContext, layer: UtilityLayer, options: PlaneDragGizmoOptions): PlaneDragGizmo;
|
|
1962
2088
|
|
|
2089
|
+
/** Create a plane rotation gizmo in the utility layer.
|
|
2090
|
+
* @param engine - Engine that owns the created meshes and rotation display material.
|
|
2091
|
+
* @param layer - Utility layer that renders and picks the gizmo.
|
|
2092
|
+
* @param options - Plane normal, ring sizing, and material options.
|
|
2093
|
+
* @returns A detached rotation gizmo ready to attach to a node.
|
|
2094
|
+
*/
|
|
1963
2095
|
export declare function createPlaneRotationGizmo(engine: EngineContext, layer: UtilityLayer, options: PlaneRotationGizmoOptions): PlaneRotationGizmo;
|
|
1964
2096
|
|
|
1965
2097
|
/** Build a PointerDrag descriptor. The drag is inert until `registerPointerDrag`
|
|
@@ -2058,8 +2190,20 @@ export declare function createRenderTexture2D(engine: EngineContext, width: numb
|
|
|
2058
2190
|
/** Create a ribbon from an array of parallel Vec3 paths. Caller must assign material. */
|
|
2059
2191
|
export declare function createRibbon(engine: EngineContext, options: RibbonOptions): Mesh;
|
|
2060
2192
|
|
|
2193
|
+
/** Create a composite rotation gizmo with one ring for each principal axis.
|
|
2194
|
+
* @param engine - Engine that owns the created meshes.
|
|
2195
|
+
* @param layer - Utility layer that renders and picks the rings.
|
|
2196
|
+
* @param options - Ring tessellation and thickness options.
|
|
2197
|
+
* @returns A detached rotation gizmo ready to attach to a node.
|
|
2198
|
+
*/
|
|
2061
2199
|
export declare function createRotationGizmo(engine: EngineContext, layer: UtilityLayer, options?: RotationGizmoOptions): RotationGizmo;
|
|
2062
2200
|
|
|
2201
|
+
/** Create a composite scale gizmo with per-axis handles and a uniform centre handle.
|
|
2202
|
+
* @param engine - Engine that owns the created meshes.
|
|
2203
|
+
* @param layer - Utility layer that renders and picks the handles.
|
|
2204
|
+
* @param options - Shared scale-handle thickness options.
|
|
2205
|
+
* @returns A detached scale gizmo ready to attach to a node.
|
|
2206
|
+
*/
|
|
2063
2207
|
export declare function createScaleGizmo(engine: EngineContext, layer: UtilityLayer, options?: ScaleGizmoOptions): ScaleGizmo;
|
|
2064
2208
|
|
|
2065
2209
|
/** Create an empty scene context bound to the given `surface`. The default render task
|
|
@@ -2193,10 +2337,25 @@ export declare function createSurface(engine: EngineContext, canvas: RenderCanva
|
|
|
2193
2337
|
* runs can be appended later via `updateTextData({ update: "addRun", … })`. */
|
|
2194
2338
|
export declare function createTextData(storage: GlyphStorage, runs?: readonly GlyphRun[]): TextData;
|
|
2195
2339
|
|
|
2340
|
+
/** Create a 2D text layer that places a `TextData` block in canvas pixel space.
|
|
2341
|
+
*
|
|
2342
|
+
* @param data - Text data block drawn by the layer.
|
|
2343
|
+
* @param options - Optional pixel placement, scale, order, opacity, and visibility.
|
|
2344
|
+
* @returns A mutable layer object for use with a `TextRenderer`. */
|
|
2196
2345
|
export declare function createTextLayer(data: TextData, options?: TextLayerOptions): TextLayer;
|
|
2197
2346
|
|
|
2347
|
+
/** Create a scene renderable that draws the supplied `TextData` through the normal renderable pipeline.
|
|
2348
|
+
*
|
|
2349
|
+
* @param data - Text data block to render.
|
|
2350
|
+
* @param options - Optional transform, opacity, depth, and ordering settings.
|
|
2351
|
+
* @returns A transparent renderable suitable for adding to a scene. */
|
|
2198
2352
|
export declare function createTextRenderable(data: TextData, options?: TextRenderableOptions): TextRenderable;
|
|
2199
2353
|
|
|
2354
|
+
/** Create a standalone text renderer for one surface.
|
|
2355
|
+
*
|
|
2356
|
+
* @param surface - Surface whose swapchain receives the text pass.
|
|
2357
|
+
* @param opts - Initial layers and clear settings.
|
|
2358
|
+
* @returns A rendering context that can be registered with the engine. */
|
|
2200
2359
|
export declare function createTextRenderer(surface: SurfaceContext, opts: TextRendererOptions): TextRenderer;
|
|
2201
2360
|
|
|
2202
2361
|
/**
|
|
@@ -2378,6 +2537,16 @@ export declare interface CylinderOptions {
|
|
|
2378
2537
|
subdivisions?: number;
|
|
2379
2538
|
}
|
|
2380
2539
|
|
|
2540
|
+
/** Result of {@link mat4Decompose}: a TRS triple. */
|
|
2541
|
+
export declare interface DecomposedTransform {
|
|
2542
|
+
/** Translation (matrix columns 12/13/14). */
|
|
2543
|
+
translation: Vec3;
|
|
2544
|
+
/** Rotation as a unit quaternion. */
|
|
2545
|
+
rotation: Quat;
|
|
2546
|
+
/** Per-axis scale (lengths of the basis columns). */
|
|
2547
|
+
scale: Vec3;
|
|
2548
|
+
}
|
|
2549
|
+
|
|
2381
2550
|
/** Convenience text-data variant that owns its `GlyphStorage` and exposes the laid-out
|
|
2382
2551
|
* pixel-space `width` / `height` of the text block. Produced by `createDefaultTextData`. */
|
|
2383
2552
|
export declare interface DefaultTextData extends TextData {
|
|
@@ -2461,10 +2630,13 @@ export declare interface DiscOptions {
|
|
|
2461
2630
|
/** Dispose the gizmo: remove meshes, unregister pointer-drag, drop materials. */
|
|
2462
2631
|
export declare function disposeAxisDragGizmo(gizmo: AxisDragGizmo, layer: UtilityLayer): void;
|
|
2463
2632
|
|
|
2633
|
+
/** Dispose the axis scale gizmo meshes, observers, and pointer-drag registration. */
|
|
2464
2634
|
export declare function disposeAxisScaleGizmo(gizmo: AxisScaleGizmo, layer: UtilityLayer): void;
|
|
2465
2635
|
|
|
2636
|
+
/** Dispose all meshes, observers, and pointer-drag registrations owned by the bounding-box gizmo. */
|
|
2466
2637
|
export declare function disposeBoundingBoxGizmo(gizmo: BoundingBoxGizmo, layer: UtilityLayer): void;
|
|
2467
2638
|
|
|
2639
|
+
/** Dispose all meshes and follow callbacks owned by the camera gizmo. */
|
|
2468
2640
|
export declare function disposeCameraGizmo(gizmo: CameraGizmo, layer: UtilityLayer): void;
|
|
2469
2641
|
|
|
2470
2642
|
/** Frees the WASM memory backing a solid. The solid must not be used afterwards. */
|
|
@@ -2491,8 +2663,12 @@ export declare function disposeFrameGraphContext(ctx: FrameGraphContext): void;
|
|
|
2491
2663
|
* ensuring no `TextData` is still drawing from this storage. */
|
|
2492
2664
|
export declare function disposeGlyphStorage(storage: GlyphStorage): void;
|
|
2493
2665
|
|
|
2666
|
+
/** Dispose all meshes and frame callbacks owned by the light gizmo. */
|
|
2494
2667
|
export declare function disposeLightGizmo(gizmo: LightGizmo, layer: UtilityLayer): void;
|
|
2495
2668
|
|
|
2669
|
+
/** Destroy all GPU resources owned by a mesh (vertex buffers, skeleton, morph targets). */
|
|
2670
|
+
export declare function disposeMeshGpu(mesh: Mesh): void;
|
|
2671
|
+
|
|
2496
2672
|
/**
|
|
2497
2673
|
* Removes and releases all bodies, then releases the native world. Call once when tearing down physics.
|
|
2498
2674
|
* @param world - The physics world to dispose.
|
|
@@ -2505,14 +2681,19 @@ export declare function disposePhysicsViewer(viewer: PhysicsViewer): void;
|
|
|
2505
2681
|
/** Dispose GPU resources owned by this picker. */
|
|
2506
2682
|
export declare function disposePicker(picker: GpuPicker): void;
|
|
2507
2683
|
|
|
2684
|
+
/** Dispose the plane drag gizmo meshes and pointer-drag registration. */
|
|
2508
2685
|
export declare function disposePlaneDragGizmo(gizmo: PlaneDragGizmo, layer: UtilityLayer): void;
|
|
2509
2686
|
|
|
2687
|
+
/** Dispose the rotation gizmo meshes, observers, and pointer-drag registration. */
|
|
2510
2688
|
export declare function disposePlaneRotationGizmo(gizmo: PlaneRotationGizmo, layer: UtilityLayer): void;
|
|
2511
2689
|
|
|
2690
|
+
/** Dispose all sub-gizmos owned by the composite position gizmo. */
|
|
2512
2691
|
export declare function disposePositionGizmo(gizmo: PositionGizmo, layer: UtilityLayer): void;
|
|
2513
2692
|
|
|
2693
|
+
/** Dispose all sub-gizmos owned by the composite rotation gizmo. */
|
|
2514
2694
|
export declare function disposeRotationGizmo(gizmo: RotationGizmo, layer: UtilityLayer): void;
|
|
2515
2695
|
|
|
2696
|
+
/** Dispose all sub-gizmos owned by the composite scale gizmo. */
|
|
2516
2697
|
export declare function disposeScaleGizmo(gizmo: ScaleGizmo, layer: UtilityLayer): void;
|
|
2517
2698
|
|
|
2518
2699
|
/** Release all GPU resources owned by this scene. */
|
|
@@ -2546,8 +2727,10 @@ export declare function disposeSurface(surface: SurfaceContext): void;
|
|
|
2546
2727
|
* `disposeGlyphStorage` once no `TextData` references it. */
|
|
2547
2728
|
export declare function disposeTextData(data: TextData): void;
|
|
2548
2729
|
|
|
2730
|
+
/** Release GPU buffers owned by a text renderable. The underlying `TextData` and `GlyphStorage` remain caller-owned. */
|
|
2549
2731
|
export declare function disposeTextRenderable(renderable: TextRenderable): void;
|
|
2550
2732
|
|
|
2733
|
+
/** Dispose a text renderer and all per-layer GPU resources it owns. Layer `TextData` remains caller-owned. */
|
|
2551
2734
|
export declare function disposeTextRenderer(tr: TextRenderer): void;
|
|
2552
2735
|
|
|
2553
2736
|
/** Destroy the uniform buffer and clear cached GPU objects owned by the uniform effect wrapper. */
|
|
@@ -2665,6 +2848,27 @@ export declare interface EffectWrapperOptions {
|
|
|
2665
2848
|
/** Enable advanced animation blending for a manager. Kept opt-in so manual-only weights do not pay for skeletal mixing code. */
|
|
2666
2849
|
export declare function enableAnimationBlending(manager: AnimationManager): void;
|
|
2667
2850
|
|
|
2851
|
+
/**
|
|
2852
|
+
* Enable bone control for skinned glTF models. Call once, before loading the
|
|
2853
|
+
* assets you want to control. After loading, read `container.skeletons` and drive
|
|
2854
|
+
* bones with {@link getBoneByName} + the `setBone*` functions.
|
|
2855
|
+
*
|
|
2856
|
+
* ```ts
|
|
2857
|
+
* enableBoneControl(); // ← opt-in, before loadGltf
|
|
2858
|
+
* const character = await loadGltf(engine, "character.glb");
|
|
2859
|
+
* addToScene(scene, character);
|
|
2860
|
+
* const skel = character.skeletons![0];
|
|
2861
|
+
* const head = getBoneByName(skel, "Head");
|
|
2862
|
+
* if (head) setBoneVisible(skel, head, false); // hide the head + everything under it
|
|
2863
|
+
* ```
|
|
2864
|
+
*
|
|
2865
|
+
* Process-global and idempotent. Skinned scenes that never call this are
|
|
2866
|
+
* unaffected (near byte-identical to a build without bone control).
|
|
2867
|
+
*
|
|
2868
|
+
* @public
|
|
2869
|
+
*/
|
|
2870
|
+
export declare function enableBoneControl(): void;
|
|
2871
|
+
|
|
2668
2872
|
/**
|
|
2669
2873
|
* Enable detailed picking on a GPU picker.
|
|
2670
2874
|
* When enabled, pickAsync() will compute faceId, bu, bv
|
|
@@ -2705,6 +2909,41 @@ export declare function enableHavokFloatingOrigin(world: PhysicsWorld, floatingO
|
|
|
2705
2909
|
*/
|
|
2706
2910
|
export declare function enableMaterialPlugins(scene: SceneContext): void;
|
|
2707
2911
|
|
|
2912
|
+
/**
|
|
2913
|
+
* Opt-in entry point for per-material stencil state.
|
|
2914
|
+
*
|
|
2915
|
+
* Stencil (a {@link StencilState} baked into a material's main-pass pipeline — used to mask/discard
|
|
2916
|
+
* fragments, e.g. portals or decals) is an *explicit* opt-in so stencil-free scenes stay BYTE-IDENTICAL to a
|
|
2917
|
+
* build without it. The always-fetched Standard / PBR / Shader pipeline builders reference stencil only
|
|
2918
|
+
* through a module-local resolver hook that is `null` until this function installs it; with the hook absent
|
|
2919
|
+
* from the bundle the tree-shaker + minifier fold every stencil branch away. Calling `enableMaterialStencil`
|
|
2920
|
+
* links the resolver (and pulls in its descriptor-building code) into all three pipelines.
|
|
2921
|
+
*
|
|
2922
|
+
* Contract: attach stencil to materials via `material.stencil = { ... }`, then call this once AFTER creating
|
|
2923
|
+
* the materials/meshes and BEFORE `registerScene(scene)`. It is process-global and idempotent — no engine or
|
|
2924
|
+
* scene argument is needed.
|
|
2925
|
+
*/
|
|
2926
|
+
/**
|
|
2927
|
+
* Enable per-material stencil state for Standard, PBR, and Shader materials.
|
|
2928
|
+
*
|
|
2929
|
+
* A writer material uses `compare: "always"` + `passOp: "increment-clamp"` to stamp the stencil buffer where
|
|
2930
|
+
* it draws; a tester material uses `compare: "equal"` to draw only where the stencil is still the pass's
|
|
2931
|
+
* default reference of 0 (i.e. where the writer did NOT draw). No dynamic stencil reference is needed.
|
|
2932
|
+
*
|
|
2933
|
+
* ```ts
|
|
2934
|
+
* const mask = createStandardMaterial();
|
|
2935
|
+
* mask.stencil = { passOp: "increment-clamp" }; // writes 1 where it draws
|
|
2936
|
+
* const masked = createStandardMaterial();
|
|
2937
|
+
* masked.stencil = { compare: "equal" }; // draws only where stencil is still 0
|
|
2938
|
+
*
|
|
2939
|
+
* enableMaterialStencil(); // ← opt-in, before registerScene
|
|
2940
|
+
* await registerScene(scene);
|
|
2941
|
+
* ```
|
|
2942
|
+
*
|
|
2943
|
+
* @public
|
|
2944
|
+
*/
|
|
2945
|
+
export declare function enableMaterialStencil(): void;
|
|
2946
|
+
|
|
2708
2947
|
/** Enable automatic dirty tracking on a PBR or Standard material.
|
|
2709
2948
|
* After calling this, any UBO-backed property mutation marks the source material UBO dirty. */
|
|
2710
2949
|
export declare function enableMaterialTracking(material: Material & {
|
|
@@ -2714,8 +2953,10 @@ export declare function enableMaterialTracking(material: Material & {
|
|
|
2714
2953
|
/** Enables weighted property-animation blending on `manager` by registering its category handler. */
|
|
2715
2954
|
export declare function enablePropertyAnimationBlending(manager: AnimationManager): void;
|
|
2716
2955
|
|
|
2956
|
+
/** Enable mid-pass scene-color grabs for a single render task and return the live texture handle. The task is wrapped so transmissive draw calls can sample the opaque color rendered earlier in the same pass. */
|
|
2717
2957
|
export declare function enableRenderTaskTransmission(task: RenderTask, engine: EngineContext, options?: TransmissionOptions): SceneColorGrab;
|
|
2718
2958
|
|
|
2959
|
+
/** Enable scene-color transmission for every render task currently registered in a scene. PBR materials are marked for linear transmission, and a trailing image-processing task is appended when needed. */
|
|
2719
2960
|
export declare function enableSceneTransmission(scene: SceneContext, engine: EngineContext): void;
|
|
2720
2961
|
|
|
2721
2962
|
/** Enable or disable GPU frustum culling for an existing thin-instanced mesh.
|
|
@@ -2914,6 +3155,7 @@ export declare interface FogConfig {
|
|
|
2914
3155
|
color: [number, number, number];
|
|
2915
3156
|
}
|
|
2916
3157
|
|
|
3158
|
+
/** Opaque handle for a loaded TrueType/OpenType font used by the default text layout and glyph extraction helpers. */
|
|
2917
3159
|
export declare interface Font {
|
|
2918
3160
|
readonly [fontBrand]: true;
|
|
2919
3161
|
|
|
@@ -3024,6 +3266,7 @@ export declare interface GeometryRendererTask extends Task {
|
|
|
3024
3266
|
includeInVelocity(mesh: Mesh): void;
|
|
3025
3267
|
}
|
|
3026
3268
|
|
|
3269
|
+
/** Configuration for a geometry-renderer frame-graph task. Describes the meshes, camera, target size, geometry texture attachments, and optional real-color output target used by the MRT pass. */
|
|
3027
3270
|
export declare interface GeometryRendererTaskConfig {
|
|
3028
3271
|
name?: string;
|
|
3029
3272
|
/** Caster meshes. When omitted, defaults to `scene.meshes`. */
|
|
@@ -3047,7 +3290,7 @@ export declare interface GeometryRendererTaskConfig {
|
|
|
3047
3290
|
reverseCulling?: boolean;
|
|
3048
3291
|
/** Optional color render-target that receives the *real* (lit) material
|
|
3049
3292
|
* color, written as an additional color attachment alongside the geometry
|
|
3050
|
-
* data attachments. Must have the same
|
|
3293
|
+
* data attachments. Must have the same `sampleCount` and resolved
|
|
3051
3294
|
* pixel size as the geometry MRT (size: `<surface>` with samples matching).
|
|
3052
3295
|
* When omitted, no real-color attachment is added to the pass.
|
|
3053
3296
|
*
|
|
@@ -3068,10 +3311,10 @@ export declare interface GeometryRendererTextureDescription {
|
|
|
3068
3311
|
/** Which geometry value to write. */
|
|
3069
3312
|
readonly type: GeometryTextureType;
|
|
3070
3313
|
/** Per-attachment WebGPU format override. Defaults to
|
|
3071
|
-
*
|
|
3314
|
+
* `GEOMETRY_TEXTURE_DESCRIPTIONS[type].defaultFormat`. */
|
|
3072
3315
|
readonly format?: GPUTextureFormat;
|
|
3073
3316
|
/** Per-attachment clear-value override. Defaults to
|
|
3074
|
-
*
|
|
3317
|
+
* `GEOMETRY_TEXTURE_DESCRIPTIONS[type].clearValue`. Use to match a
|
|
3075
3318
|
* reference engine's clear behaviour (e.g. clear VIEW_DEPTH to 0 instead of
|
|
3076
3319
|
* the camera far plane to mirror BJS's PREPASS_DEPTH). */
|
|
3077
3320
|
readonly clearValue?: GPUColor;
|
|
@@ -3252,6 +3495,10 @@ export declare function getAnimationGroups(manager: AnimationManager): readonly
|
|
|
3252
3495
|
*/
|
|
3253
3496
|
export declare function getBillboardSpriteHandleIndex(handle: BillboardSpriteHandle): number;
|
|
3254
3497
|
|
|
3498
|
+
/** Find a bone by its (glTF joint node) name. Returns `undefined` if not present.
|
|
3499
|
+
* When several joints share a name, the first in joint order is returned. */
|
|
3500
|
+
export declare function getBoneByName(skeleton: Skeleton, name: string): Bone | undefined;
|
|
3501
|
+
|
|
3255
3502
|
/** Get the world-space position of a camera. */
|
|
3256
3503
|
export declare function getCameraPosition(camera: Camera): Vec3;
|
|
3257
3504
|
|
|
@@ -3404,8 +3651,19 @@ export declare interface GltfAnimationData {
|
|
|
3404
3651
|
* matrices bake an `invMeshWorld` captured at load, so moving them at runtime
|
|
3405
3652
|
* would double-transform the skinned vertices). */
|
|
3406
3653
|
readonly excludedNodeIndices: ReadonlySet<number>;
|
|
3407
|
-
|
|
3408
|
-
|
|
3654
|
+
/** glTF node names indexed by node index (undefined for unnamed nodes). Used by
|
|
3655
|
+
* {@link AnimationGroupMask} to resolve include/exclude target names to the node
|
|
3656
|
+
* indices its channels animate. */
|
|
3657
|
+
readonly nodeNames: readonly (string | undefined)[];
|
|
3658
|
+
/** Shared node-index → bone override map, present only when `enableBoneControl()`
|
|
3659
|
+
* installed bone control. Handed to every AnimationController so a playing clip
|
|
3660
|
+
* honours user bone overrides (animation wins per-component). `undefined` on the
|
|
3661
|
+
* default path. Typed as `unknown` value to keep the internal `BoneOverride`
|
|
3662
|
+
* shape out of the public API surface. */
|
|
3663
|
+
readonly boneOverrides?: ReadonlyMap<number, unknown>;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
/** Axis-aligned glyph extents in font units, used to size the rendered quad and spatial curve bands. */
|
|
3409
3667
|
export declare type GlyphBounds = {
|
|
3410
3668
|
readonly xMin: number;
|
|
3411
3669
|
readonly yMin: number;
|
|
@@ -3413,11 +3671,13 @@ export declare type GlyphBounds = {
|
|
|
3413
3671
|
readonly yMax: number;
|
|
3414
3672
|
};
|
|
3415
3673
|
|
|
3674
|
+
/** Complete outline data for one glyph id, ready to be packed into a `GlyphStorage` atlas. */
|
|
3416
3675
|
export declare type GlyphCurves = {
|
|
3417
3676
|
readonly glyphId: number;
|
|
3418
3677
|
readonly curves: readonly QuadCurve[];
|
|
3419
3678
|
readonly bounds: GlyphBounds;
|
|
3420
3679
|
|
|
3680
|
+
/** Batch of placed glyphs that all use the same curve set and font-unit-to-pixel scale. */
|
|
3421
3681
|
export declare type GlyphRun = {
|
|
3422
3682
|
/** Which curve set this run's glyph ids index into. */
|
|
3423
3683
|
readonly curveSet: CurveSetId;
|
|
@@ -3765,6 +4025,7 @@ export declare interface LightBase extends IWorldMatrixProvider, IParentable {
|
|
|
3765
4025
|
readonly worldMatrix: Mat4;
|
|
3766
4026
|
readonly worldMatrixVersion: number;
|
|
3767
4027
|
|
|
4028
|
+
/** Display-only gizmo that visualizes an attached light using type-specific geometry. */
|
|
3768
4029
|
export declare interface LightGizmo {
|
|
3769
4030
|
/** Root node — follows the attached light's position (when it has one)
|
|
3770
4031
|
* and orients along its direction (when it has one). */
|
|
@@ -3773,6 +4034,7 @@ export declare interface LightGizmo {
|
|
|
3773
4034
|
/** Currently attached light — set via `attachLightGizmoToLight`. */
|
|
3774
4035
|
attachedLight: LightBase | null;
|
|
3775
4036
|
|
|
4037
|
+
/** Options for the display-only light gizmo. */
|
|
3776
4038
|
export declare interface LightGizmoOptions {
|
|
3777
4039
|
/** RGB color for the light gizmo body material. Defaults to grey. */
|
|
3778
4040
|
color?: [number, number, number];
|
|
@@ -3880,16 +4142,31 @@ export declare function loadEnvironment(scene: SceneContext, url: string, option
|
|
|
3880
4142
|
export declare function loadFont(url: string): Promise<Font>;
|
|
3881
4143
|
|
|
3882
4144
|
/**
|
|
3883
|
-
* Load a
|
|
4145
|
+
* Load a glTF/GLB asset, parse it, and upload mesh + material data to GPU.
|
|
3884
4146
|
* Supports both binary GLB and separate .gltf + .bin + image files.
|
|
3885
4147
|
* Registers a deferred PBR renderable builder.
|
|
3886
4148
|
* Automatically parses glTF animations if present.
|
|
3887
4149
|
*
|
|
3888
4150
|
* Returns a AssetContainer. Pass it to addToScene() which adds the hierarchy,
|
|
3889
4151
|
* registers animation ticks, and applies any scene-level settings.
|
|
4152
|
+
*
|
|
4153
|
+
* @param engine - The engine to upload GPU resources to.
|
|
4154
|
+
* @param url - URL of the .glb/.gltf asset to fetch.
|
|
3890
4155
|
*/
|
|
3891
4156
|
export declare function loadGltf(engine: EngineContext, url: string): Promise<AssetContainer>;
|
|
3892
4157
|
|
|
4158
|
+
/**
|
|
4159
|
+
* Load a glTF/GLB asset directly from already-loaded local data (drag-and-drop, OPFS, a `fetch` body, etc.).
|
|
4160
|
+
*
|
|
4161
|
+
* GLB-vs-glTF is determined from the data's magic bytes, not a file extension. `ArrayBuffer`/`Blob` inputs
|
|
4162
|
+
* have no base URL, so they must be self-contained: a GLB, or a glTF whose buffers/images use `data:` URIs.
|
|
4163
|
+
* A glTF that references external `.bin`/image files by relative path can only be loaded from a URL.
|
|
4164
|
+
*
|
|
4165
|
+
* @param engine - The engine to upload GPU resources to.
|
|
4166
|
+
* @param data - The raw `ArrayBuffer` or `Blob` of a self-contained glTF/GLB asset.
|
|
4167
|
+
*/
|
|
4168
|
+
export declare function loadGltf(engine: EngineContext, data: ArrayBuffer | Blob): Promise<AssetContainer>;
|
|
4169
|
+
|
|
3893
4170
|
/**
|
|
3894
4171
|
* Loads a Radiance `.hdr` (RGBE) equirectangular panorama and builds GPU-ready IBL textures
|
|
3895
4172
|
* (prefiltered specular cubemap, BRDF LUT, and irradiance spherical harmonics), then attaches
|
|
@@ -3901,6 +4178,14 @@ export declare function loadGltf(engine: EngineContext, url: string): Promise<As
|
|
|
3901
4178
|
*/
|
|
3902
4179
|
export declare function loadHdrEnvironment(scene: SceneContext, url: string, options?: HdrLoadOptions): Promise<EnvironmentTextures>;
|
|
3903
4180
|
|
|
4181
|
+
/** Fetch and decode a standalone KTX2 (Basis Universal) texture from a URL into a Texture2D, transcoded to the
|
|
4182
|
+
* device's best GPU-compressed format (BC7/ETC2/ASTC) so it STAYS compressed in VRAM (a few times less than the
|
|
4183
|
+
* uncompressed RGBA8 `loadTexture2D` always uploads). Mirrors `loadKtxTexture2D` (KTX1) for app textures that
|
|
4184
|
+
* live outside a glTF. Requires the KTX2 decoder (configure self-hosting via `setKtx2DecoderUrl`). `sRGB`
|
|
4185
|
+
* selects the `*-srgb` GPU format (default false: raw/linear sampling, matching `loadTexture2D`'s `srgb:false`).
|
|
4186
|
+
* The decoder uploads the stored mips as-is (no V-flip), so author the .ktx2 in the orientation you want. */
|
|
4187
|
+
export declare function loadKtx2Texture2D(engine: EngineContext, url: string, sRGB?: boolean): Promise<Texture2D>;
|
|
4188
|
+
|
|
3904
4189
|
/**
|
|
3905
4190
|
* Load a texture with KTX compressed format auto-selection and fallback.
|
|
3906
4191
|
*
|
|
@@ -3992,6 +4277,16 @@ export declare interface Mat4 {
|
|
|
3992
4277
|
readonly length: 16;
|
|
3993
4278
|
/** Compose TRS (translation * rotation * scale) into a single Mat4. */
|
|
3994
4279
|
export declare function mat4Compose(tx: number, ty: number, tz: number, qx: number, qy: number, qz: number, qw: number, sx: number, sy: number, sz: number): Mat4;
|
|
3995
4280
|
|
|
4281
|
+
/**
|
|
4282
|
+
* Decompose a column-major 4×4 affine matrix into translation, rotation (unit
|
|
4283
|
+
* quaternion), and scale. Assumes a TRS matrix (no shear). Mirror image (negative
|
|
4284
|
+
* determinant) matrices are not specially handled — the returned scale is always
|
|
4285
|
+
* non-negative, matching the rest of the engine's decompose usage.
|
|
4286
|
+
* @param m - Column-major 4×4 matrix.
|
|
4287
|
+
* @returns A new translation/rotation/scale triple.
|
|
4288
|
+
*/
|
|
4289
|
+
export declare function mat4Decompose(m: Mat4): DecomposedTransform;
|
|
4290
|
+
|
|
3996
4291
|
/** Create a rotation matrix from a quaternion. */
|
|
3997
4292
|
export declare function mat4FromQuat(qx: number, qy: number, qz: number, qw: number): Mat4;
|
|
3998
4293
|
|
|
@@ -4085,7 +4380,7 @@ export declare interface MaterialVariantData {
|
|
|
4085
4380
|
* scenes that never create views do not retain view-specific unwrap branches.
|
|
4086
4381
|
*
|
|
4087
4382
|
* Specialized views (e.g. the Standard geometry MRT view) override
|
|
4088
|
-
*
|
|
4383
|
+
* `_buildGroup` with a view-specific builder whose
|
|
4089
4384
|
* `_rebuildSingle` builds the right kind of Renderable — no per-family
|
|
4090
4385
|
* branching is required in the core render-task. */
|
|
4091
4386
|
export declare interface MaterialView extends Material {
|
|
@@ -4720,7 +5015,10 @@ export declare interface PbrMaterialProps extends Material {
|
|
|
4720
5015
|
/** Linear-RGB tint applied to baseColor when `unlit` is true (i.e. glTF
|
|
4721
5016
|
* `baseColorFactor`). When omitted or [1,1,1], no tint is applied.
|
|
4722
5017
|
* Only bundled/bound when the unlit extension is active. */
|
|
4723
|
-
unlitColor?: [number, number, number];
|
|
5018
|
+
unlitColor?: [number, number, number];
|
|
4724
5019
|
/** Optional stencil-test state baked into the main-pass pipeline. Lets this material write the stencil buffer
|
|
5020
|
+
* where it draws (mask) or discard where another material wrote it. Default none. See `StencilState`. */
|
|
5021
|
+
stencil?: StencilState;
|
|
5022
|
+
}
|
|
4725
5023
|
|
|
4726
5024
|
/** Configuration for a directional-light PCF shadow generator: map size, depth bias, darkness, and ortho projection bounds. */
|
|
4727
5025
|
export declare interface PcfDirectionalShadowGeneratorConfig {
|
|
@@ -5187,6 +5485,7 @@ export declare interface PixelViewport {
|
|
|
5187
5485
|
height: number;
|
|
5188
5486
|
}
|
|
5189
5487
|
|
|
5488
|
+
/** Positioned glyph instance in pixel space, usually produced by layout before being packed into a `GlyphRun`. */
|
|
5190
5489
|
export declare type PlacedGlyph = {
|
|
5191
5490
|
readonly glyphId: number;
|
|
5192
5491
|
/** Pixel position of glyph baseline origin. */
|
|
@@ -5199,6 +5498,7 @@ export declare type PlacedGlyph = {
|
|
|
5199
5498
|
readonly color?: readonly [number, number, number, number];
|
|
5200
5499
|
};
|
|
5201
5500
|
|
|
5501
|
+
/** A square planar gizmo that translates its attached node within a drag plane. */
|
|
5202
5502
|
export declare interface PlaneDragGizmo {
|
|
5203
5503
|
readonly root: SceneNode;
|
|
5204
5504
|
readonly drag: PointerDrag;
|
|
@@ -5209,6 +5509,7 @@ export declare interface PlaneDragGizmo {
|
|
|
5209
5509
|
useLocalCoordinates: boolean;
|
|
5210
5510
|
readonly materials: GizmoMaterialSet;
|
|
5211
5511
|
|
|
5512
|
+
/** Options for building a planar position drag gizmo. */
|
|
5212
5513
|
export declare interface PlaneDragGizmoOptions {
|
|
5213
5514
|
/** World-space drag plane normal (unit vector). */
|
|
5214
5515
|
dragPlaneNormal: Vec3;
|
|
@@ -5224,6 +5525,7 @@ export declare interface PlaneOptions {
|
|
|
5224
5525
|
height?: number;
|
|
5225
5526
|
}
|
|
5226
5527
|
|
|
5528
|
+
/** A torus-shaped gizmo that rotates its attached node around a plane normal. */
|
|
5227
5529
|
export declare interface PlaneRotationGizmo {
|
|
5228
5530
|
readonly root: SceneNode;
|
|
5229
5531
|
readonly drag: PointerDrag;
|
|
@@ -5236,6 +5538,7 @@ export declare interface PlaneRotationGizmo {
|
|
|
5236
5538
|
* callers can change the colour at runtime. */
|
|
5237
5539
|
readonly rotationDisplayMaterial: ShaderMaterial;
|
|
5238
5540
|
|
|
5541
|
+
/** Options for building a rotation ring constrained to a single plane. */
|
|
5239
5542
|
export declare interface PlaneRotationGizmoOptions {
|
|
5240
5543
|
/** World-space rotation plane normal (unit vector). */
|
|
5241
5544
|
planeNormal: Vec3;
|
|
@@ -5338,6 +5641,7 @@ export declare interface PluginUboField {
|
|
|
5338
5641
|
readonly type: string;
|
|
5339
5642
|
}
|
|
5340
5643
|
|
|
5644
|
+
/** Pointer-drag behavior shared by gizmos and driven by the per-canvas dispatcher. */
|
|
5341
5645
|
export declare interface PointerDrag {
|
|
5342
5646
|
readonly options: Readonly<PointerDragOptions>;
|
|
5343
5647
|
enabled: boolean;
|
|
5344
5648
|
/** Fired once when a pointer-down lands on one of `_colliders`. */
|
|
@@ -5359,10 +5663,12 @@ export declare interface PointerDrag {
|
|
|
5359
5663
|
hovering: boolean;
|
|
5360
5664
|
}
|
|
5361
5665
|
|
|
5666
|
+
/** Event raised when the active pointer drag is released or cancelled. */
|
|
5362
5667
|
export declare interface PointerDragEndEvent {
|
|
5363
5668
|
pointerEvent: PointerEvent | null;
|
|
5364
5669
|
}
|
|
5365
5670
|
|
|
5671
|
+
/** Event raised for each pointer move while a drag is active. */
|
|
5366
5672
|
export declare interface PointerDragMoveEvent {
|
|
5367
5673
|
/** World-space delta from the previous drag-plane point. For axis-drag this
|
|
5368
5674
|
* is already projected onto the drag axis (parallel to axis). */
|
|
@@ -5374,6 +5680,7 @@ export declare interface PointerDragMoveEvent {
|
|
|
5374
5680
|
dragDistance: number;
|
|
5375
5681
|
}
|
|
5376
5682
|
|
|
5683
|
+
/** Configuration for converting pointer movement into world-space drag deltas. */
|
|
5377
5684
|
export declare interface PointerDragOptions {
|
|
5378
5685
|
/** Drag along a single world-space axis (unit vector). Mutually exclusive
|
|
5379
5686
|
* with `dragPlaneNormal`. */
|
|
@@ -5395,6 +5702,7 @@ export declare interface PointerDragOptions {
|
|
|
5395
5702
|
getPlanePoint?: () => Vec3 | null;
|
|
5396
5703
|
}
|
|
5397
5704
|
|
|
5705
|
+
/** Event raised when a pointer drag begins on one of the registered colliders. */
|
|
5398
5706
|
export declare interface PointerDragStartEvent {
|
|
5399
5707
|
/** World-space point where the ray intersected the drag plane on drag start. */
|
|
5400
5708
|
dragPlanePoint: Vec3;
|
|
@@ -5427,6 +5735,7 @@ export declare interface PolyhedronOptions {
|
|
|
5427
5735
|
flat?: boolean;
|
|
5428
5736
|
}
|
|
5429
5737
|
|
|
5738
|
+
/** Composite translation gizmo made from X/Y/Z axis arrows and optional planar handles. */
|
|
5430
5739
|
export declare interface PositionGizmo {
|
|
5431
5740
|
readonly xGizmo: AxisDragGizmo;
|
|
5432
5741
|
readonly yGizmo: AxisDragGizmo;
|
|
@@ -5437,6 +5746,7 @@ export declare interface PositionGizmo {
|
|
|
5437
5746
|
attachedNode: SceneNode | null;
|
|
5438
5747
|
}
|
|
5439
5748
|
|
|
5749
|
+
/** Options for the composite position gizmo. */
|
|
5440
5750
|
export declare interface PositionGizmoOptions {
|
|
5441
5751
|
/** When true, planar drag gizmos (XY/XZ/YZ) are created in addition to the
|
|
5442
5752
|
* 3 axis arrows. Default false — matches BJS where `planarGizmoEnabled`
|
|
@@ -5527,6 +5837,7 @@ export declare interface PropertyAnimationTrackOptions {
|
|
|
5527
5837
|
readonly quaternion?: boolean;
|
|
5528
5838
|
}
|
|
5529
5839
|
|
|
5840
|
+
/** Quadratic Bézier curve describing one segment of a glyph outline in font units. */
|
|
5530
5841
|
export declare type QuadCurve = {
|
|
5531
5842
|
readonly p0x: number;
|
|
5532
5843
|
readonly p0y: number;
|
|
@@ -5544,6 +5855,25 @@ export declare interface Quat {
|
|
|
5544
5855
|
w: number;
|
|
5545
5856
|
}
|
|
5546
5857
|
|
|
5858
|
+
/**
|
|
5859
|
+
* Build a unit quaternion that orients local +Z onto `forward` and local +Y onto
|
|
5860
|
+
* `up`, using a right-handed basis (`right = up × forward`). Matches Babylon.js
|
|
5861
|
+
* `Quaternion.FromLookDirectionRH`.
|
|
5862
|
+
* @param forward - Desired forward direction (should be normalized).
|
|
5863
|
+
* @param up - Desired up direction (should be normalized and not parallel to `forward`).
|
|
5864
|
+
* @returns A new `{ x, y, z, w }` quaternion.
|
|
5865
|
+
*/
|
|
5866
|
+
export declare function quatFromLookDirectionRH(forward: Vec3, up: Vec3): Quat;
|
|
5867
|
+
|
|
5868
|
+
/**
|
|
5869
|
+
* Build a unit quaternion from the rotation part of a column-major 4×4 matrix,
|
|
5870
|
+
* matching Babylon.js `Quaternion.FromRotationMatrix`. The matrix's upper-left
|
|
5871
|
+
* 3×3 must be a pure rotation (orthonormal, no scale).
|
|
5872
|
+
* @param matrix - Column-major 4×4 rotation matrix.
|
|
5873
|
+
* @returns A new `{ x, y, z, w }` quaternion.
|
|
5874
|
+
*/
|
|
5875
|
+
export declare function quatFromRotationMatrix(matrix: Mat4): Quat;
|
|
5876
|
+
|
|
5547
5877
|
/** A ray defined by origin, direction, and length. */
|
|
5548
5878
|
declare interface Ray {
|
|
5549
5879
|
origin: [number, number, number];
|
|
@@ -5652,6 +5982,7 @@ export declare function registerSceneWithShadowSupport(scene: SceneContext): Pro
|
|
|
5652
5982
|
/** Push the renderer onto its engine's `_renderingContexts`. Idempotent — a second call is a no-op. */
|
|
5653
5983
|
export declare function registerSpriteRenderer(sr: SpriteRenderer): void;
|
|
5654
5984
|
|
|
5985
|
+
/** Register a text renderer with its surface so the engine updates and records it each frame. */
|
|
5655
5986
|
export declare function registerTextRenderer(tr: TextRenderer): void;
|
|
5656
5987
|
|
|
5657
5988
|
/** Register the utility layer with the engine. Must be called after the main
|
|
@@ -5751,6 +6082,9 @@ export declare function removeSpriteAnimationManager(manager: AnimationManager,
|
|
|
5751
6082
|
/** Remove a layer from the renderer and destroy any GPU resources cached for it. */
|
|
5752
6083
|
export declare function removeSpriteRendererLayer(sr: SpriteRenderer, layer: Sprite2DLayer): boolean;
|
|
5753
6084
|
|
|
6085
|
+
/** Remove a text layer and release its per-layer GPU buffers.
|
|
6086
|
+
*
|
|
6087
|
+
* @returns `true` when the layer was present and removed. */
|
|
5754
6088
|
export declare function removeTextRendererLayer(tr: TextRenderer, layer: TextLayer): boolean;
|
|
5755
6089
|
|
|
5756
6090
|
/** Remove instance by index. Swap-removes: last instance fills the gap. */
|
|
@@ -5782,6 +6116,7 @@ export declare interface Renderable {
|
|
|
5782
6116
|
*/
|
|
5783
6117
|
export declare type RenderCanvas = HTMLCanvasElement | OffscreenCanvas;
|
|
5784
6118
|
|
|
6119
|
+
/** Render one frame for every surface registered on the engine. Updates each rendering context, records its GPU work into a shared command encoder, submits the frame, and publishes the total draw-call count. */
|
|
5785
6120
|
export declare function renderFrame(engine: EngineContext, delta: number): void;
|
|
5786
6121
|
|
|
5787
6122
|
/**
|
|
@@ -5989,6 +6324,7 @@ export declare interface RibbonOptions {
|
|
|
5989
6324
|
offset?: number;
|
|
5990
6325
|
}
|
|
5991
6326
|
|
|
6327
|
+
/** Composite rotation gizmo made from X/Y/Z plane rotation rings. */
|
|
5992
6328
|
export declare interface RotationGizmo {
|
|
5993
6329
|
readonly xGizmo: PlaneRotationGizmo;
|
|
5994
6330
|
readonly yGizmo: PlaneRotationGizmo;
|
|
@@ -5996,11 +6332,13 @@ export declare interface RotationGizmo {
|
|
|
5996
6332
|
attachedNode: SceneNode | null;
|
|
5997
6333
|
}
|
|
5998
6334
|
|
|
6335
|
+
/** Options for the composite rotation gizmo. */
|
|
5999
6336
|
export declare interface RotationGizmoOptions {
|
|
6000
6337
|
tessellation?: number;
|
|
6001
6338
|
thickness?: number;
|
|
6002
6339
|
}
|
|
6003
6340
|
|
|
6341
|
+
/** Composite scale gizmo made from X/Y/Z axis handles and a central uniform handle. */
|
|
6004
6342
|
export declare interface ScaleGizmo {
|
|
6005
6343
|
readonly xGizmo: AxisScaleGizmo;
|
|
6006
6344
|
readonly yGizmo: AxisScaleGizmo;
|
|
@@ -6010,6 +6348,7 @@ export declare interface ScaleGizmo {
|
|
|
6010
6348
|
attachedNode: SceneNode | null;
|
|
6011
6349
|
}
|
|
6012
6350
|
|
|
6351
|
+
/** Options for the composite scale gizmo. */
|
|
6013
6352
|
export declare interface ScaleGizmoOptions {
|
|
6014
6353
|
thickness?: number;
|
|
6015
6354
|
}
|
|
@@ -6166,6 +6505,24 @@ export declare function setBillboardSpriteFrame(handle: BillboardSpriteHandle, f
|
|
|
6166
6505
|
*/
|
|
6167
6506
|
export declare function setBillboardSpriteFrameIndex(system: BillboardSpriteSystem, index: number, frame: number): void;
|
|
6168
6507
|
|
|
6508
|
+
/** Override a bone's local translation, then re-bake. Ignored each frame for a
|
|
6509
|
+
* bone whose translation the playing clip animates. */
|
|
6510
|
+
export declare function setBonePosition(skeleton: Skeleton, bone: Bone, x: number, y: number, z: number): void;
|
|
6511
|
+
|
|
6512
|
+
/** Override a bone's local rotation (quaternion), then re-bake. Ignored each frame
|
|
6513
|
+
* for a bone whose rotation the playing clip animates. */
|
|
6514
|
+
export declare function setBoneRotationQuaternion(skeleton: Skeleton, bone: Bone, x: number, y: number, z: number, w: number): void;
|
|
6515
|
+
|
|
6516
|
+
/** Override a bone's local scale, then re-bake. Ignored each frame for a bone
|
|
6517
|
+
* whose scale the playing clip animates. */
|
|
6518
|
+
export declare function setBoneScaling(skeleton: Skeleton, bone: Bone, x: number, y: number, z: number): void;
|
|
6519
|
+
|
|
6520
|
+
/** Show or hide the sub-tree driven by a bone, the Babylon.js way: hiding scales
|
|
6521
|
+
* the bone to zero (collapsing it and its descendant bones to a point so the
|
|
6522
|
+
* skinned triangles degenerate and disappear); showing clears the scale override
|
|
6523
|
+
* so the bone returns to its animated / rest scale. */
|
|
6524
|
+
export declare function setBoneVisible(skeleton: Skeleton, bone: Bone, visible: boolean): void;
|
|
6525
|
+
|
|
6169
6526
|
/**
|
|
6170
6527
|
* Configure orbit/zoom limits on an ArcRotateCamera. This is fully opt-in and
|
|
6171
6528
|
* self-contained: cameras that never call it pay zero cost and bundle no clamping
|
|
@@ -6202,6 +6559,9 @@ export declare function setCameraLimits(camera: ArcRotateCamera, limits: ArcRota
|
|
|
6202
6559
|
*/
|
|
6203
6560
|
export declare function setClipPlane(scene: SceneContext, plane: ClipPlane): void;
|
|
6204
6561
|
|
|
6562
|
+
/** Override the base URL where draco_decoder.js and draco_decoder.wasm are hosted. */
|
|
6563
|
+
export declare function setDracoBaseUrl(url: string): void;
|
|
6564
|
+
|
|
6205
6565
|
/**
|
|
6206
6566
|
* Bind a texture to one of the effect's texture slots, marking the bind group dirty so it is rebuilt.
|
|
6207
6567
|
* @param wrapper - The effect wrapper to update.
|
|
@@ -6283,6 +6643,19 @@ export declare function setKtx2DecoderUrl(url: string, wasmUrls?: Record<string,
|
|
|
6283
6643
|
* and UBOs bake the cap into their WGSL/layout. */
|
|
6284
6644
|
export declare function setMaxLights(n: number): void;
|
|
6285
6645
|
|
|
6646
|
+
/**
|
|
6647
|
+
* Lazy EXT_meshopt_compression decoder.
|
|
6648
|
+
*
|
|
6649
|
+
* The meshoptimizer decoder (JS glue + embedded WASM) is loaded from
|
|
6650
|
+
* `/meshopt_decoder.js` on first use via a `<script>` injection — exactly like
|
|
6651
|
+
* the Draco decoder. This keeps bundle size at zero bytes for scenes that do
|
|
6652
|
+
* not load meshopt-compressed glTF assets: the entire module (including this
|
|
6653
|
+
* file) is dynamic-imported from the meshopt feature only when an asset's
|
|
6654
|
+
* `extensionsUsed` lists EXT_meshopt_compression.
|
|
6655
|
+
*/
|
|
6656
|
+
/** Override the base URL where meshopt_decoder.js is hosted. */
|
|
6657
|
+
export declare function setMeshoptBaseUrl(url: string): void;
|
|
6658
|
+
|
|
6286
6659
|
/** Update morph target weights on CPU and GPU.
|
|
6287
6660
|
* Only the first four weights are used, matching the current morph target limit.
|
|
6288
6661
|
* @param engine - Engine context that owns the morph target GPU buffer.
|
|
@@ -6296,12 +6669,16 @@ export declare function setNavigationRandomSeed(plugin: NavigationPlugin, seed:
|
|
|
6296
6669
|
|
|
6297
6670
|
/**
|
|
6298
6671
|
* Reparents `child` while preserving its current world-space transform, mirroring
|
|
6299
|
-
* Babylon.js `TransformNode.setParent()`.
|
|
6300
|
-
*
|
|
6672
|
+
* Babylon.js `TransformNode.setParent()`. Also keeps the scene-graph `children`
|
|
6673
|
+
* arrays consistent: the child is removed from its previous parent's `children`
|
|
6674
|
+
* and appended to the new parent's, so traversal helpers see the new hierarchy.
|
|
6675
|
+
* @param child - The node to reparent (mesh, transform node, or any scene node).
|
|
6301
6676
|
* @param parent - The new parent (any world-matrix provider), or `null` to detach to world space.
|
|
6302
6677
|
*/
|
|
6303
6678
|
export declare function setParent(child: Mesh, parent: IWorldMatrixProvider | null): void;
|
|
6304
6679
|
|
|
6680
|
+
export declare function setParent(child: SceneNode, parent: IWorldMatrixProvider | null): void;
|
|
6681
|
+
|
|
6305
6682
|
/**
|
|
6306
6683
|
* Set a body's angular velocity (rad/s).
|
|
6307
6684
|
*/
|
|
@@ -6447,6 +6824,7 @@ export declare function setPhysicsTimestep(world: PhysicsWorld, dt: number): voi
|
|
|
6447
6824
|
*/
|
|
6448
6825
|
export declare function setPhysicsVelocityLimits(world: PhysicsWorld, maxLinear: number, maxAngular: number): void;
|
|
6449
6826
|
|
|
6827
|
+
/** Toggle whether the position gizmo axes follow the attached node's rotation. */
|
|
6450
6828
|
export declare function setPositionGizmoLocalCoordinates(gizmo: PositionGizmo, useLocal: boolean): void;
|
|
6451
6829
|
|
|
6452
6830
|
/** Enable or disable per-frame-graph-task GPU timing.
|
|
@@ -6458,6 +6836,7 @@ export declare function setPositionGizmoLocalCoordinates(gizmo: PositionGizmo, u
|
|
|
6458
6836
|
*/
|
|
6459
6837
|
export declare function setRenderTaskGpuTimingEnabled(engine: EngineContext, enabled: boolean): Promise<RenderTaskGpuTimings>;
|
|
6460
6838
|
|
|
6839
|
+
/** Toggle whether the rotation rings follow the attached node's rotation. */
|
|
6461
6840
|
export declare function setRotationGizmoLocalCoordinates(gizmo: RotationGizmo, useLocal: boolean): void;
|
|
6462
6841
|
|
|
6463
6842
|
/** Toggle local-coord mode on the per-axis scale arrows. The uniform-scale
|
|
@@ -6628,7 +7007,11 @@ export declare interface ShaderMaterial extends Material {
|
|
|
6628
7007
|
readonly depthCompare: GPUCompareFunction;
|
|
6629
7008
|
readonly depthOnlyFragment: boolean;
|
|
6630
7009
|
readonly depthBias: number;
|
|
6631
|
-
readonly depthBiasSlopeScale: number;
|
|
7010
|
+
readonly depthBiasSlopeScale: number;
|
|
7011
|
+
/** Optional stencil-test state baked into the main-pass pipeline (mask write / discard). Set after
|
|
7012
|
+
* creation (`mat.stencil = { ... }`) and call `enableMaterialStencil()` before `registerScene`. Default
|
|
7013
|
+
* none. See `StencilState`. */
|
|
7014
|
+
stencil?: StencilState;
|
|
6632
7015
|
|
|
6633
7016
|
/** Options describing a ShaderMaterial: WGSL sources, attributes, uniforms,
|
|
6634
7017
|
* samplers, defines, and blend/depth state. Passed to `createShaderMaterial()`. */
|
|
@@ -6847,6 +7230,14 @@ export declare function showPhysicsBody(viewer: PhysicsViewer, body: PhysicsBody
|
|
|
6847
7230
|
/** Shows a simplified Physics V2 constraint overlay: local axes (with arrowheads) plus angular-limit disks. */
|
|
6848
7231
|
export declare function showPhysicsConstraint(viewer: PhysicsViewer, constraint: PhysicsConstraintDebug): Mesh[];
|
|
6849
7232
|
|
|
7233
|
+
/** A skinned model's skeleton — one per glTF skin, surfaced on
|
|
7234
|
+
* `AssetContainer.skeletons` once {@link enableBoneControl} is called. Reach its
|
|
7235
|
+
* bones via `skeleton.bones` / {@link getBoneByName}, and drive them via the
|
|
7236
|
+
* `setBone*` functions. */
|
|
7237
|
+
export declare interface Skeleton {
|
|
7238
|
+
/** Bones in glTF joint order (matches the skin's `joints` array). */
|
|
7239
|
+
readonly bones: readonly Bone[];
|
|
7240
|
+
|
|
6850
7241
|
/** Connects a skeleton to its GPU bone texture for per-frame updates. */
|
|
6851
7242
|
declare interface SkeletonBinding {
|
|
6852
7243
|
readonly jointNodes: readonly number[];
|
|
@@ -7256,6 +7647,9 @@ export declare interface StandardMaterialProps extends Material {
|
|
|
7256
7647
|
* on top of the built-in Standard pipeline). Attach via `material.plugins = [plugin]`,
|
|
7257
7648
|
* then call `enableMaterialPlugins(scene)` before `registerScene`. */
|
|
7258
7649
|
plugins?: MaterialPlugin[];
|
|
7650
|
+
/** Optional stencil-test state baked into the main-pass pipeline (mask write / discard). Default none.
|
|
7651
|
+
* See `StencilState`. */
|
|
7652
|
+
stencil?: StencilState;
|
|
7259
7653
|
diffuseColor: [number, number, number];
|
|
7260
7654
|
alpha: number;
|
|
7261
7655
|
specularColor: [number, number, number];
|
|
@@ -7338,6 +7732,29 @@ export declare function startEngine(engine: EngineContext): Promise<void>;
|
|
|
7338
7732
|
*/
|
|
7339
7733
|
export declare function startSpriteAnimationManager(manager: SpriteAnimationManager): void;
|
|
7340
7734
|
|
|
7735
|
+
/** Optional stencil-test state baked into a material's main-pass pipeline. Shared by every concrete material kind
|
|
7736
|
+
* (Standard, PBR, Shader) so none has to depend on another. Lets one material WRITE the stencil buffer where it
|
|
7737
|
+
* draws (a mask) and another DISCARD fragments where the stencil was written — with NO dynamic stencil reference:
|
|
7738
|
+
* a writer uses `compare:"always"` + `passOp:"increment-clamp"` (stencil 0→1 where it draws); a tester uses
|
|
7739
|
+
* `compare:"equal"` (passes only where the stencil is still 0, i.e. NOT written), since the render pass's default
|
|
7740
|
+
* stencil reference is 0. Only takes effect on a stencil-capable depth target (the main color pass); ignored on
|
|
7741
|
+
* depth-only/shadow targets. Assigning `material.stencil` is inert until {@link enableMaterialStencil} is called
|
|
7742
|
+
* (the opt-in that keeps stencil-free scenes byte-identical) — call it once before `registerScene`. */
|
|
7743
|
+
export declare interface StencilState {
|
|
7744
|
+
/** Stencil compare function, applied to front & back faces. Default `"always"`. */
|
|
7745
|
+
readonly compare?: GPUCompareFunction;
|
|
7746
|
+
/** Stencil operation when the stencil + depth tests both pass. Default `"keep"`. */
|
|
7747
|
+
readonly passOp?: GPUStencilOperation;
|
|
7748
|
+
/** Stencil operation when the stencil test fails. Default `"keep"`. */
|
|
7749
|
+
readonly failOp?: GPUStencilOperation;
|
|
7750
|
+
/** Stencil operation when the stencil test passes but depth fails. Default `"keep"`. */
|
|
7751
|
+
readonly depthFailOp?: GPUStencilOperation;
|
|
7752
|
+
/** Stencil read mask. Default `0xFF`. */
|
|
7753
|
+
readonly readMask?: number;
|
|
7754
|
+
/** Stencil write mask. Default `0xFF`. */
|
|
7755
|
+
readonly writeMask?: number;
|
|
7756
|
+
}
|
|
7757
|
+
|
|
7341
7758
|
/** Stop playback and reset to frame 0. */
|
|
7342
7759
|
export declare function stopAnimation(group: AnimationGroup): void;
|
|
7343
7760
|
|
|
@@ -7447,6 +7864,7 @@ export declare interface Task {
|
|
|
7447
7864
|
dispose(): void;
|
|
7448
7865
|
}
|
|
7449
7866
|
|
|
7867
|
+
/** Mutable text block data containing glyph runs and the packed per-glyph instance buffer consumed by text renderers. */
|
|
7450
7868
|
export declare interface TextData {
|
|
7451
7869
|
readonly [textDataBrand]: true;
|
|
7452
7870
|
/** Live, in-insertion-order view of the runs currently rendered. Mutated by
|
|
@@ -7500,6 +7918,7 @@ export declare interface TextLayer {
|
|
|
7500
7918
|
readonly data: TextData;
|
|
7501
7919
|
opacity: number;
|
|
7502
7920
|
visible: boolean;
|
|
7503
7921
|
|
|
7922
|
+
/** Initial placement and compositing options for a 2D text layer in a standalone text renderer. */
|
|
7504
7923
|
export declare interface TextLayerOptions {
|
|
7505
7924
|
/** Top-left origin (in canvas pixels) for the layer's local coordinate frame. Default (0, 0). */
|
|
7506
7925
|
readonly positionPx?: {
|
|
@@ -7518,6 +7937,7 @@ export declare interface TextLayerOptions {
|
|
|
7518
7937
|
readonly visible?: boolean;
|
|
7519
7938
|
}
|
|
7520
7939
|
|
|
7940
|
+
/** Options for the default text layout helper, expressed in output pixels with simple LTR word wrapping. */
|
|
7521
7941
|
export declare type TextLayoutOptions = {
|
|
7522
7942
|
/** Max line width in pixels before word-wrap. Default: Infinity. */
|
|
7523
7943
|
readonly maxWidth?: number;
|
|
@@ -7531,6 +7951,7 @@ export declare type TextLayoutOptions = {
|
|
|
7531
7951
|
readonly tabSize?: number;
|
|
7532
7952
|
};
|
|
7533
7953
|
|
|
7954
|
+
/** Scene renderable that draws a `TextData` block with mesh-like transform controls. */
|
|
7534
7955
|
export declare interface TextRenderable extends Renderable {
|
|
7535
7956
|
readonly position: ObservableVec3;
|
|
7536
7957
|
readonly rotation: EulerProxy;
|
|
7537
7958
|
readonly rotationQuaternion: ObservableQuat;
|
|
@@ -7540,6 +7961,7 @@ export declare interface TextRenderable extends Renderable {
|
|
|
7540
7961
|
readonly positi
|
|
7541
7962
|
ignoreDepth: boolean;
|
|
7542
7963
|
order: number;
|
|
7543
7964
|
|
|
7965
|
+
/** Initial transform and draw options for a scene-attached text renderable. */
|
|
7544
7966
|
export declare interface TextRenderableOptions {
|
|
7545
7967
|
readonly position?: Readonly<Vec3>;
|
|
7546
7968
|
readonly rotationQuaternion?: {
|
|
@@ -7556,8 +7978,10 @@ export declare interface TextRenderableOptions {
|
|
|
7556
7978
|
readonly order?: number;
|
|
7557
7979
|
}
|
|
7558
7980
|
|
|
7981
|
+
/** Standalone rendering context that draws sorted 2D text layers directly to the swapchain. */
|
|
7559
7982
|
export declare interface TextRenderer extends RenderingContext_2 {
|
|
7560
7983
|
readonly layers: readonly TextLayer[];
|
|
7561
7984
|
|
|
7985
|
+
/** Options for creating a standalone text renderer that draws directly to a surface. */
|
|
7562
7986
|
export declare interface TextRendererOptions {
|
|
7563
7987
|
layers: readonly TextLayer[];
|
|
7564
7988
|
/** Default true. Set false for HUD overlays so the text pass preserves existing scene color. */
|
|
@@ -7718,6 +8142,7 @@ export declare interface TranslucencyProps {
|
|
|
7718
8142
|
diffusionDistance?: [number, number, number];
|
|
7719
8143
|
}
|
|
7720
8144
|
|
|
8145
|
+
/** Options controlling how a render task exposes opaque scene color to transmissive materials. Use these to opt out of the linear offscreen path, control refresh frequency, and limit mipmap generation cost. */
|
|
7721
8146
|
export declare interface TransmissionOptions {
|
|
7722
8147
|
/** When true (the default), retarget the task's color buffer to a linear `rgba16float`
|
|
7723
8148
|
* offscreen and tone-map it in a trailing image-processing pass — the model PBR
|
|
@@ -7792,6 +8217,7 @@ export declare function unregisterScene(scene: SceneContext): void;
|
|
|
7792
8217
|
/** Splice the renderer out of its engine's `_renderingContexts`. No-op if not present. */
|
|
7793
8218
|
export declare function unregisterSpriteRenderer(sr: SpriteRenderer): void;
|
|
7794
8219
|
|
|
8220
|
+
/** Unregister a text renderer from its surface without disposing its layer data. */
|
|
7795
8221
|
export declare function unregisterTextRenderer(tr: TextRenderer): void;
|
|
7796
8222
|
|
|
7797
8223
|
/** Advances every active task by `deltaMs` (or by `fixedDeltaMs` when set), running the category handler first.
|
|
@@ -7887,6 +8313,10 @@ export declare function updateSprite2DIndex(layer: Sprite2DLayer, index: number,
|
|
|
7887
8313
|
*/
|
|
7888
8314
|
export declare function updateSpriteAnimationManager(manager: SpriteAnimationManager, deltaMs: number): void;
|
|
7889
8315
|
|
|
8316
|
+
/** Apply an incremental edit to a `TextData`, such as adding, removing, replacing, or compacting runs.
|
|
8317
|
+
*
|
|
8318
|
+
* @param data - Text data block to update.
|
|
8319
|
+
* @param update - Discriminated update operation to apply. */
|
|
7890
8320
|
export declare function updateTextData(data: TextData, update: TextDataUpdate): void;
|
|
7891
8321
|
|
|
7892
8322
|
/**
|
|
@@ -7914,6 +8344,7 @@ export declare interface UtilityLayer {
|
|
|
7914
8344
|
readonly mainScene: SceneContext;
|
|
7915
8345
|
}
|
|
7916
8346
|
|
|
8347
|
+
/** Options used when creating a utility layer for gizmos and overlays. */
|
|
7917
8348
|
export declare interface UtilityLayerOptions {
|
|
7918
8349
|
/** Add a built-in hemispheric light so gizmo materials are visible without
|
|
7919
8350
|
* the caller adding one. Defaults to true. */
|