@holoscript/core 8.0.3 → 8.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/LICENSE +21 -0
  2. package/bin/holoscript.cjs +0 -0
  3. package/dist/{GLTFPipeline-PN3DN6FO.js → GLTFPipeline-37FPRVPH.js} +5 -5
  4. package/dist/{GLTFPipeline-W45UOCNY.cjs → GLTFPipeline-EK3LFJKW.cjs} +9 -9
  5. package/dist/{chunk-JYTTPNKK.js → chunk-5KVXXUD4.js} +3 -3
  6. package/dist/{chunk-5PLWAEQQ.cjs → chunk-6FH72EB2.cjs} +8 -8
  7. package/dist/{chunk-37ZNYWWW.js → chunk-E4M5OAYO.js} +3 -3
  8. package/dist/{chunk-6S5VS7BF.cjs → chunk-FXKAW7ZO.cjs} +3 -3
  9. package/dist/{chunk-U5GLSXSD.cjs → chunk-I5CDNPPE.cjs} +6 -6
  10. package/dist/{chunk-RLLNOI3T.js → chunk-KMC6CQH3.js} +3 -3
  11. package/dist/{chunk-33AZRKKQ.cjs → chunk-LKWQNUE6.cjs} +5 -5
  12. package/dist/{chunk-XF3AATZJ.js → chunk-OBP5REIV.js} +5 -5
  13. package/dist/{chunk-DHXLCJJN.js → chunk-OJXHYNXN.js} +3 -3
  14. package/dist/{chunk-VDDJUO4G.cjs → chunk-ON5QSY35.cjs} +10 -10
  15. package/dist/{chunk-DXWOTOUK.js → chunk-ONDAWTW4.js} +3 -3
  16. package/dist/{chunk-SMRVK6BI.cjs → chunk-PJGFU5DN.cjs} +5 -5
  17. package/dist/{chunk-QRPRIJ2W.js → chunk-UO4WPSGQ.js} +10 -3
  18. package/dist/{chunk-QSCGZ4DW.js → chunk-WQKJSGVS.js} +3 -3
  19. package/dist/{chunk-ELEHNDDS.cjs → chunk-YT5L3B57.cjs} +5 -5
  20. package/dist/{chunk-UPXIY52O.cjs → chunk-ZMCVKFXI.cjs} +10 -3
  21. package/dist/compiler/gltf-pipeline.cjs +8 -8
  22. package/dist/compiler/gltf-pipeline.js +1 -1
  23. package/dist/compiler/index.cjs +41 -41
  24. package/dist/compiler/index.js +7 -7
  25. package/dist/compiler/r3f.cjs +8 -8
  26. package/dist/compiler/r3f.js +3 -3
  27. package/dist/index.cjs +291 -291
  28. package/dist/index.js +9 -9
  29. package/dist/reconstruction/index.cjs +31 -31
  30. package/dist/reconstruction/index.js +2 -2
  31. package/dist/traits/botanical-lotus.cjs +48 -48
  32. package/dist/traits/botanical-lotus.js +2 -2
  33. package/dist/traits/index.cjs +469 -469
  34. package/dist/traits/index.js +5 -5
  35. package/package.json +88 -73
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 HoloScript Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
File without changes
@@ -1,8 +1,8 @@
1
- export { GLTFPipeline, createGLTFPipeline, generateScaleNormalMap, generateScaleTexture } from './chunk-RLLNOI3T.js';
1
+ export { GLTFPipeline, createGLTFPipeline, generateScaleNormalMap, generateScaleTexture } from './chunk-KMC6CQH3.js';
2
2
  import './chunk-EKBKLK7P.js';
3
- import './chunk-37ZNYWWW.js';
3
+ import './chunk-E4M5OAYO.js';
4
4
  import './chunk-XT6JY5W5.js';
5
- import './chunk-QRPRIJ2W.js';
5
+ import './chunk-UO4WPSGQ.js';
6
6
  import './chunk-TJHVSBP2.js';
7
7
  import './chunk-4C57PR42.js';
8
8
  import './chunk-GZG4KA4E.js';
@@ -13,5 +13,5 @@ import './chunk-N75IH2HY.js';
13
13
  import './chunk-MXFUTKCO.js';
14
14
  import './chunk-VVKVQZI6.js';
15
15
  import './chunk-OL46QLBJ.js';
16
- //# sourceMappingURL=GLTFPipeline-PN3DN6FO.js.map
17
- //# sourceMappingURL=GLTFPipeline-PN3DN6FO.js.map
16
+ //# sourceMappingURL=GLTFPipeline-37FPRVPH.js.map
17
+ //# sourceMappingURL=GLTFPipeline-37FPRVPH.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunk5PLWAEQQ_cjs = require('./chunk-5PLWAEQQ.cjs');
3
+ var chunk6FH72EB2_cjs = require('./chunk-6FH72EB2.cjs');
4
4
  require('./chunk-EXUP2BUM.cjs');
5
- require('./chunk-VDDJUO4G.cjs');
5
+ require('./chunk-ON5QSY35.cjs');
6
6
  require('./chunk-UOIGFQXC.cjs');
7
- require('./chunk-UPXIY52O.cjs');
7
+ require('./chunk-ZMCVKFXI.cjs');
8
8
  require('./chunk-5S7RKFGR.cjs');
9
9
  require('./chunk-OIQYIIO3.cjs');
10
10
  require('./chunk-AIA52I7T.cjs');
@@ -20,19 +20,19 @@ require('./chunk-HCCQLAA4.cjs');
20
20
 
21
21
  Object.defineProperty(exports, "GLTFPipeline", {
22
22
  enumerable: true,
23
- get: function () { return chunk5PLWAEQQ_cjs.GLTFPipeline; }
23
+ get: function () { return chunk6FH72EB2_cjs.GLTFPipeline; }
24
24
  });
25
25
  Object.defineProperty(exports, "createGLTFPipeline", {
26
26
  enumerable: true,
27
- get: function () { return chunk5PLWAEQQ_cjs.createGLTFPipeline; }
27
+ get: function () { return chunk6FH72EB2_cjs.createGLTFPipeline; }
28
28
  });
29
29
  Object.defineProperty(exports, "generateScaleNormalMap", {
30
30
  enumerable: true,
31
- get: function () { return chunk5PLWAEQQ_cjs.generateScaleNormalMap; }
31
+ get: function () { return chunk6FH72EB2_cjs.generateScaleNormalMap; }
32
32
  });
33
33
  Object.defineProperty(exports, "generateScaleTexture", {
34
34
  enumerable: true,
35
- get: function () { return chunk5PLWAEQQ_cjs.generateScaleTexture; }
35
+ get: function () { return chunk6FH72EB2_cjs.generateScaleTexture; }
36
36
  });
37
- //# sourceMappingURL=GLTFPipeline-W45UOCNY.cjs.map
38
- //# sourceMappingURL=GLTFPipeline-W45UOCNY.cjs.map
37
+ //# sourceMappingURL=GLTFPipeline-EK3LFJKW.cjs.map
38
+ //# sourceMappingURL=GLTFPipeline-EK3LFJKW.cjs.map
@@ -435,7 +435,7 @@ function uint8ArrayToBase64(data) {
435
435
  return btoa(binary);
436
436
  }
437
437
  async function importGLTFPipeline() {
438
- return import('./GLTFPipeline-PN3DN6FO.js');
438
+ return import('./GLTFPipeline-37FPRVPH.js');
439
439
  }
440
440
  function registerGLTFTools(server) {
441
441
  for (const tool of GLTF_PIPELINE_TOOLS) {
@@ -445,5 +445,5 @@ function registerGLTFTools(server) {
445
445
  var GLTFPipelineMCPTool_default = handleGLTFToolCall;
446
446
 
447
447
  export { GLTFPipelineMCPTool_default, GLTF_PIPELINE_TOOLS, analyzeOptimizations, handleGLTFToolCall, inspectComposition, registerGLTFTools, validateForGLTF };
448
- //# sourceMappingURL=chunk-JYTTPNKK.js.map
449
- //# sourceMappingURL=chunk-JYTTPNKK.js.map
448
+ //# sourceMappingURL=chunk-5KVXXUD4.js.map
449
+ //# sourceMappingURL=chunk-5KVXXUD4.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkEXUP2BUM_cjs = require('./chunk-EXUP2BUM.cjs');
4
- var chunkVDDJUO4G_cjs = require('./chunk-VDDJUO4G.cjs');
4
+ var chunkON5QSY35_cjs = require('./chunk-ON5QSY35.cjs');
5
5
  var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
6
6
  var chunkHKEXJUWS_cjs = require('./chunk-HKEXJUWS.cjs');
7
7
  var chunkKKP7JKN4_cjs = require('./chunk-KKP7JKN4.cjs');
@@ -9,7 +9,7 @@ var ans = require('@holoscript/core-types/ans');
9
9
 
10
10
  // src/compiler/GLTFPipeline.ts
11
11
  chunkOIQYIIO3_cjs.init_TraitCompositor();
12
- chunkVDDJUO4G_cjs.init_R3FCompiler();
12
+ chunkON5QSY35_cjs.init_R3FCompiler();
13
13
  chunkKKP7JKN4_cjs.init_CompilerBase();
14
14
  chunkHKEXJUWS_cjs.init_DomainBlockCompilerMixin();
15
15
 
@@ -120,8 +120,8 @@ function declareExtensions(gltf) {
120
120
  }
121
121
 
122
122
  // src/compiler/GLTFPipeline.ts
123
- chunkVDDJUO4G_cjs.init_ObjectPool();
124
- var gltfNodePool = new chunkVDDJUO4G_cjs.ASTNodePool(
123
+ chunkON5QSY35_cjs.init_ObjectPool();
124
+ var gltfNodePool = new chunkON5QSY35_cjs.ASTNodePool(
125
125
  () => ({ name: "" }),
126
126
  (node) => {
127
127
  node.name = "";
@@ -1601,8 +1601,8 @@ var GLTFPipeline = class extends chunkKKP7JKN4_cjs.CompilerBase {
1601
1601
  let attenuationColor;
1602
1602
  let attenuationDistance;
1603
1603
  const namedMat = this.findProp(object, "material");
1604
- if (typeof namedMat === "string" && chunkVDDJUO4G_cjs.MATERIAL_PRESETS[namedMat]) {
1605
- const preset = chunkVDDJUO4G_cjs.MATERIAL_PRESETS[namedMat];
1604
+ if (typeof namedMat === "string" && chunkON5QSY35_cjs.MATERIAL_PRESETS[namedMat]) {
1605
+ const preset = chunkON5QSY35_cjs.MATERIAL_PRESETS[namedMat];
1606
1606
  if (preset.color) color = this.parseColorString(preset.color);
1607
1607
  if (preset.metalness !== void 0) metallic = preset.metalness;
1608
1608
  if (preset.roughness !== void 0) roughness = preset.roughness;
@@ -2253,5 +2253,5 @@ exports.GLTFPipeline = GLTFPipeline;
2253
2253
  exports.createGLTFPipeline = createGLTFPipeline;
2254
2254
  exports.generateScaleNormalMap = generateScaleNormalMap;
2255
2255
  exports.generateScaleTexture = generateScaleTexture;
2256
- //# sourceMappingURL=chunk-5PLWAEQQ.cjs.map
2257
- //# sourceMappingURL=chunk-5PLWAEQQ.cjs.map
2256
+ //# sourceMappingURL=chunk-6FH72EB2.cjs.map
2257
+ //# sourceMappingURL=chunk-6FH72EB2.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { init_material_properties_visual, init_surface_texture_visual, init_lighting_visual, init_gems_minerals_visual, init_fabric_cloth_visual, init_visual_effects_visual, init_age_condition_visual, init_water_fluid_visual, init_weather_phenomena_visual, init_emotion_mood_visual, init_size_scale_visual, init_environmental_biome_visual, init_magic_fantasy_visual, init_scifi_technology_visual, init_creatures_mythical_visual, init_nature_life_visual, init_furniture_decor_visual, init_construction_building_visual, init_containers_storage_visual, init_shape_form_visual, init_animals_visual, init_maritime_naval_visual, init_time_period_visual, init_accessibility_visual, init_accessibility_extended_visual, init_architecture_realestate_visual, init_audio_visual, init_cooking_food_visual, init_core_vr_interaction_visual, init_data_visualization_visual, init_education_learning_visual, init_environment_input_visual, init_game_mechanics_visual, init_geospatial_web3_visual, init_healthcare_medical_visual, init_humanoid_avatar_visual, init_intelligence_behavior_visual, init_interop_copresence_visual, init_iot_autonomous_agents_visual, init_locomotion_movement_visual, init_measurement_sensing_visual, init_media_analytics_visual, init_multisensory_haptic_visual, init_musical_sound_visual, init_music_performance_visual, init_narrative_storytelling_visual, init_networking_ai_visual, init_npc_roles_visual, init_object_interaction_visual, init_parser_core_ui_visual, init_physical_affordances_visual, init_physics_expansion_visual, init_procedural_generation_visual, init_resource_gathering_visual, init_safety_boundaries_visual, init_signs_communication_visual, init_simple_modifiers_visual, init_social_commerce_visual, init_social_effects_visual, init_sports_fitness_visual, init_state_persistence_visual, init_transportation_vehicles_visual, init_volumetric_webgpu_visual, init_weather_particles_visual, init_xr_platform_visual, MATERIAL_PROPERTIES_VISUALS, SURFACE_TEXTURE_VISUALS, LIGHTING_VISUALS, GEMS_MINERALS_VISUALS, FABRIC_CLOTH_VISUALS, VISUAL_EFFECTS_VISUALS, AGE_CONDITION_VISUALS, WATER_FLUID_VISUALS, WEATHER_PHENOMENA_VISUALS, EMOTION_MOOD_VISUALS, SIZE_SCALE_VISUALS, ENVIRONMENTAL_BIOME_VISUALS, MAGIC_FANTASY_VISUALS, SCIFI_TECHNOLOGY_VISUALS, CREATURES_MYTHICAL_VISUALS, NATURE_LIFE_VISUALS, FURNITURE_DECOR_VISUALS, CONSTRUCTION_BUILDING_VISUALS, CONTAINERS_STORAGE_VISUALS, SHAPE_FORM_VISUALS, ANIMALS_VISUALS, MARITIME_NAVAL_VISUALS, TIME_PERIOD_VISUALS, ACCESSIBILITY_VISUALS, ACCESSIBILITY_EXTENDED_VISUALS, ARCHITECTURE_REALESTATE_VISUALS, AUDIO_VISUALS, COOKING_FOOD_VISUALS, CORE_VR_INTERACTION_VISUALS, DATA_VISUALIZATION_VISUALS, EDUCATION_LEARNING_VISUALS, ENVIRONMENT_INPUT_VISUALS, GAME_MECHANICS_VISUALS, GEOSPATIAL_WEB3_VISUALS, HEALTHCARE_MEDICAL_VISUALS, HUMANOID_AVATAR_VISUALS, INTELLIGENCE_BEHAVIOR_VISUALS, INTEROP_COPRESENCE_VISUALS, IOT_AUTONOMOUS_AGENTS_VISUALS, LOCOMOTION_MOVEMENT_VISUALS, MEASUREMENT_SENSING_VISUALS, MEDIA_ANALYTICS_VISUALS, MULTISENSORY_HAPTIC_VISUALS, MUSICAL_SOUND_VISUALS, MUSIC_PERFORMANCE_VISUALS, NARRATIVE_STORYTELLING_VISUALS, NETWORKING_AI_VISUALS, NPC_ROLES_VISUALS, OBJECT_INTERACTION_VISUALS, PARSER_CORE_UI_VISUALS, PHYSICAL_AFFORDANCES_VISUALS, PHYSICS_EXPANSION_VISUALS, PROCEDURAL_GENERATION_VISUALS, RESOURCE_GATHERING_VISUALS, SAFETY_BOUNDARIES_VISUALS, SIGNS_COMMUNICATION_VISUALS, SIMPLE_MODIFIERS_VISUALS, SOCIAL_COMMERCE_VISUALS, SOCIAL_EFFECTS_VISUALS, SPORTS_FITNESS_VISUALS, STATE_PERSISTENCE_VISUALS, TRANSPORTATION_VEHICLES_VISUALS, VOLUMETRIC_WEBGPU_VISUALS, WEATHER_PARTICLES_VISUALS, XR_PLATFORM_VISUALS } from './chunk-XT6JY5W5.js';
2
- import { init_BotanicalLotusTrait, createBotanicalLotusRenderProfile, buildLotusPetalMaterialSpec, LOTUS_PETAL_UNIFORM_BINDINGS, buildLotusPetalGeometryData, lotusPetalGeometryParamsFromProfile, buildLotusFlowerPlacements } from './chunk-QRPRIJ2W.js';
2
+ import { init_BotanicalLotusTrait, createBotanicalLotusRenderProfile, buildLotusPetalMaterialSpec, LOTUS_PETAL_UNIFORM_BINDINGS, buildLotusPetalGeometryData, lotusPetalGeometryParamsFromProfile, buildLotusFlowerPlacements } from './chunk-UO4WPSGQ.js';
3
3
  import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-TJHVSBP2.js';
4
4
  import { init_TraitVisualRegistry, init_types, init_TraitCompositor, TraitCompositor, TraitVisualRegistry } from './chunk-4C57PR42.js';
5
5
  import { init_PlatformConditionalCompilerMixin, createPlatformTarget, PlatformConditionalCompilerMixin } from './chunk-GZG4KA4E.js';
@@ -4413,5 +4413,5 @@ var init_R3FCompiler = __esm({
4413
4413
  });
4414
4414
 
4415
4415
  export { ASTNodePool, ENVIRONMENT_PRESETS, MATERIAL_PRESETS, QUALITY_TIER_SCALES, R3FCompiler, R3FCompiler_exports, UI_COMPONENT_PRESETS, init_ObjectPool, init_R3FCompiler, init_visual, registerAllPresets };
4416
- //# sourceMappingURL=chunk-37ZNYWWW.js.map
4417
- //# sourceMappingURL=chunk-37ZNYWWW.js.map
4416
+ //# sourceMappingURL=chunk-E4M5OAYO.js.map
4417
+ //# sourceMappingURL=chunk-E4M5OAYO.js.map
@@ -437,7 +437,7 @@ function uint8ArrayToBase64(data) {
437
437
  return btoa(binary);
438
438
  }
439
439
  async function importGLTFPipeline() {
440
- return import('./GLTFPipeline-W45UOCNY.cjs');
440
+ return import('./GLTFPipeline-EK3LFJKW.cjs');
441
441
  }
442
442
  function registerGLTFTools(server) {
443
443
  for (const tool of GLTF_PIPELINE_TOOLS) {
@@ -453,5 +453,5 @@ exports.handleGLTFToolCall = handleGLTFToolCall;
453
453
  exports.inspectComposition = inspectComposition;
454
454
  exports.registerGLTFTools = registerGLTFTools;
455
455
  exports.validateForGLTF = validateForGLTF;
456
- //# sourceMappingURL=chunk-6S5VS7BF.cjs.map
457
- //# sourceMappingURL=chunk-6S5VS7BF.cjs.map
456
+ //# sourceMappingURL=chunk-FXKAW7ZO.cjs.map
457
+ //# sourceMappingURL=chunk-FXKAW7ZO.cjs.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVDDJUO4G_cjs = require('./chunk-VDDJUO4G.cjs');
3
+ var chunkON5QSY35_cjs = require('./chunk-ON5QSY35.cjs');
4
4
  var chunk5S7RKFGR_cjs = require('./chunk-5S7RKFGR.cjs');
5
5
  var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
6
6
  var chunkAIA52I7T_cjs = require('./chunk-AIA52I7T.cjs');
@@ -2564,7 +2564,7 @@ var init_NIRCompiler = chunkHCCQLAA4_cjs.__esm({
2564
2564
 
2565
2565
  // src/compiler/USDZPipeline.ts
2566
2566
  chunkHKEXJUWS_cjs.init_DomainBlockCompilerMixin();
2567
- chunkVDDJUO4G_cjs.init_R3FCompiler();
2567
+ chunkON5QSY35_cjs.init_R3FCompiler();
2568
2568
  function presetString(p, k) {
2569
2569
  const v = p[k];
2570
2570
  return typeof v === "string" ? v : void 0;
@@ -2795,8 +2795,8 @@ ${domainBlocksOutput}` : materials,
2795
2795
  const matName = `Material_${this.sanitizeName(obj.name)}`;
2796
2796
  const mat = { name: matName };
2797
2797
  const presetName = typeof material === "string" ? material : typeof materialPreset === "string" ? materialPreset : void 0;
2798
- if (presetName && chunkVDDJUO4G_cjs.MATERIAL_PRESETS[presetName]) {
2799
- const preset = chunkVDDJUO4G_cjs.MATERIAL_PRESETS[presetName];
2798
+ if (presetName && chunkON5QSY35_cjs.MATERIAL_PRESETS[presetName]) {
2799
+ const preset = chunkON5QSY35_cjs.MATERIAL_PRESETS[presetName];
2800
2800
  const colorStr = presetString(preset, "color");
2801
2801
  if (colorStr) mat.baseColor = this.hexToRGB(colorStr);
2802
2802
  const metal = presetNumber(preset, "metalness");
@@ -6943,5 +6943,5 @@ exports.runSafetyPass = runSafetyPass;
6943
6943
  exports.selectModality = selectModality;
6944
6944
  exports.selectModalityForAll = selectModalityForAll;
6945
6945
  exports.spatialPartition = spatialPartition;
6946
- //# sourceMappingURL=chunk-U5GLSXSD.cjs.map
6947
- //# sourceMappingURL=chunk-U5GLSXSD.cjs.map
6946
+ //# sourceMappingURL=chunk-I5CDNPPE.cjs.map
6947
+ //# sourceMappingURL=chunk-I5CDNPPE.cjs.map
@@ -1,5 +1,5 @@
1
1
  import { generateHullGeometry, generateMembraneGeometry, generateSplineGeometry } from './chunk-EKBKLK7P.js';
2
- import { init_R3FCompiler, init_ObjectPool, ASTNodePool, MATERIAL_PRESETS } from './chunk-37ZNYWWW.js';
2
+ import { init_R3FCompiler, init_ObjectPool, ASTNodePool, MATERIAL_PRESETS } from './chunk-E4M5OAYO.js';
3
3
  import { init_TraitCompositor, TraitCompositor } from './chunk-4C57PR42.js';
4
4
  import { init_DomainBlockCompilerMixin, compileDomainBlocks, compileMaterialBlock, materialToGLTF } from './chunk-BOVPWH4H.js';
5
5
  import { init_CompilerBase, CompilerBase } from './chunk-QPSKHBJP.js';
@@ -2248,5 +2248,5 @@ function createGLTFPipeline(options) {
2248
2248
  }
2249
2249
 
2250
2250
  export { GLTFPipeline, createGLTFPipeline, generateScaleNormalMap, generateScaleTexture };
2251
- //# sourceMappingURL=chunk-RLLNOI3T.js.map
2252
- //# sourceMappingURL=chunk-RLLNOI3T.js.map
2251
+ //# sourceMappingURL=chunk-KMC6CQH3.js.map
2252
+ //# sourceMappingURL=chunk-KMC6CQH3.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkELEHNDDS_cjs = require('./chunk-ELEHNDDS.cjs');
3
+ var chunkYT5L3B57_cjs = require('./chunk-YT5L3B57.cjs');
4
4
 
5
5
  // src/reconstruction/FusedAttentionKernel.ts
6
6
  var FUSED_ATTENTION_WGSL = `
@@ -585,9 +585,9 @@ function mobileSensorBundleToFrames(bundle) {
585
585
  }
586
586
  async function replayMobileSensorBundle(bundle, config = {}) {
587
587
  const frames = mobileSensorBundleToFrames(bundle);
588
- const runtime = chunkELEHNDDS_cjs.createHoloMapRuntime();
588
+ const runtime = chunkYT5L3B57_cjs.createHoloMapRuntime();
589
589
  await runtime.init({
590
- ...chunkELEHNDDS_cjs.HOLOMAP_DEFAULTS,
590
+ ...chunkYT5L3B57_cjs.HOLOMAP_DEFAULTS,
591
591
  seed: 0,
592
592
  modelHash: bundle.bundleId,
593
593
  videoHash: bundle.bundleId,
@@ -635,5 +635,5 @@ exports.mergeAnchoredProvenance = mergeAnchoredProvenance;
635
635
  exports.mobileSensorBundleToFrames = mobileSensorBundleToFrames;
636
636
  exports.replayMobileSensorBundle = replayMobileSensorBundle;
637
637
  exports.validateMobileSensorBundle = validateMobileSensorBundle;
638
- //# sourceMappingURL=chunk-33AZRKKQ.cjs.map
639
- //# sourceMappingURL=chunk-33AZRKKQ.cjs.map
638
+ //# sourceMappingURL=chunk-LKWQNUE6.cjs.map
639
+ //# sourceMappingURL=chunk-LKWQNUE6.cjs.map
@@ -2,9 +2,9 @@ import { computeHoloMapReplayFingerprint } from './chunk-WNNE3PO3.js';
2
2
  import { isWebGpuEnvironmentPresent, HOLOMAP_SIMULATION_CONTRACT_KIND } from './chunk-YF2I3MV3.js';
3
3
 
4
4
  // src/version.ts
5
- var HOLOSCRIPT_VERSION = "8.0.3" ;
6
- var GIT_COMMIT_SHA = "b806c07bf" ;
7
- var BUILD_TIMESTAMP = "2026-06-05T00:05:33.792Z" ;
5
+ var HOLOSCRIPT_VERSION = "8.0.5" ;
6
+ var GIT_COMMIT_SHA = "bea63562d" ;
7
+ var BUILD_TIMESTAMP = "2026-06-05T00:49:49.456Z" ;
8
8
  function getVersionString() {
9
9
  const sha = `+${GIT_COMMIT_SHA}` ;
10
10
  return `${HOLOSCRIPT_VERSION}${sha}`;
@@ -2172,5 +2172,5 @@ function createHoloMapRuntime(_config) {
2172
2172
  }
2173
2173
 
2174
2174
  export { BUILD_TIMESTAMP, GIT_COMMIT_SHA, HOLOMAP_DEFAULTS, HOLOSCRIPT_VERSION, assertWeightCid, createHoloMapMicroEncoder, createHoloMapRunId, createHoloMapRuntime, frameToMicroImage, getCachedWeightBlob, getVersionInfo, getVersionString, loadHoloMapWeightBlob, logHoloMapEvent, normalizeWeightCidDigest, putCachedWeightBlob, resetHoloMapTelemetryForTests, runHoloMapMicroEncoderCpu, tryCreateHoloMapEncoderDevice };
2175
- //# sourceMappingURL=chunk-XF3AATZJ.js.map
2176
- //# sourceMappingURL=chunk-XF3AATZJ.js.map
2175
+ //# sourceMappingURL=chunk-OBP5REIV.js.map
2176
+ //# sourceMappingURL=chunk-OBP5REIV.js.map
@@ -1,4 +1,4 @@
1
- import { createHoloMapRuntime, HOLOMAP_DEFAULTS } from './chunk-XF3AATZJ.js';
1
+ import { createHoloMapRuntime, HOLOMAP_DEFAULTS } from './chunk-OBP5REIV.js';
2
2
 
3
3
  // src/reconstruction/FusedAttentionKernel.ts
4
4
  var FUSED_ATTENTION_WGSL = `
@@ -619,5 +619,5 @@ async function replayMobileSensorBundle(bundle, config = {}) {
619
619
  }
620
620
 
621
621
  export { ANCHOR_DEFAULTS, ARCORE_DEPTH_RECOMMENDED_RANGE_MILLIMETERS, HOLOMAP_MOBILE_SENSOR_BUNDLE_VERSION, TRAJECTORY_DEFAULTS, arCoreDepthFrameToMobileSensorFrame, cameraPoseFromColumnMajorTransform, createAnchorContext, createArCoreDepthMobileSensorBundle, createFusedAttentionBackend, createPagedKVCache, createTrajectoryMemory, mergeAnchoredProvenance, mobileSensorBundleToFrames, replayMobileSensorBundle, validateMobileSensorBundle };
622
- //# sourceMappingURL=chunk-DHXLCJJN.js.map
623
- //# sourceMappingURL=chunk-DHXLCJJN.js.map
622
+ //# sourceMappingURL=chunk-OJXHYNXN.js.map
623
+ //# sourceMappingURL=chunk-OJXHYNXN.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkUOIGFQXC_cjs = require('./chunk-UOIGFQXC.cjs');
4
- var chunkUPXIY52O_cjs = require('./chunk-UPXIY52O.cjs');
4
+ var chunkZMCVKFXI_cjs = require('./chunk-ZMCVKFXI.cjs');
5
5
  var chunk5S7RKFGR_cjs = require('./chunk-5S7RKFGR.cjs');
6
6
  var chunkOIQYIIO3_cjs = require('./chunk-OIQYIIO3.cjs');
7
7
  var chunkAIA52I7T_cjs = require('./chunk-AIA52I7T.cjs');
@@ -761,7 +761,7 @@ var init_R3FCompiler = chunkHCCQLAA4_cjs.__esm({
761
761
  chunkKKP7JKN4_cjs.init_AgentRBAC();
762
762
  chunkKKP7JKN4_cjs.init_CompilerBase();
763
763
  init_ObjectPool();
764
- chunkUPXIY52O_cjs.init_BotanicalLotusTrait();
764
+ chunkZMCVKFXI_cjs.init_BotanicalLotusTrait();
765
765
  r3fNodePool = new exports.ASTNodePool(
766
766
  () => ({ type: "", props: {} }),
767
767
  (node) => {
@@ -2933,13 +2933,13 @@ var init_R3FCompiler = chunkHCCQLAA4_cjs.__esm({
2933
2933
  * from `.holo` data instead of hand-authoring it.
2934
2934
  */
2935
2935
  emitCompiledLotusMaterial(props, config) {
2936
- const profile = chunkUPXIY52O_cjs.createBotanicalLotusRenderProfile(config);
2937
- props.__compiledMaterial = chunkUPXIY52O_cjs.buildLotusPetalMaterialSpec(profile);
2938
- props.__uniformBindings = chunkUPXIY52O_cjs.LOTUS_PETAL_UNIFORM_BINDINGS;
2939
- props.__petalGeometry = chunkUPXIY52O_cjs.buildLotusPetalGeometryData(
2940
- chunkUPXIY52O_cjs.lotusPetalGeometryParamsFromProfile(profile)
2936
+ const profile = chunkZMCVKFXI_cjs.createBotanicalLotusRenderProfile(config);
2937
+ props.__compiledMaterial = chunkZMCVKFXI_cjs.buildLotusPetalMaterialSpec(profile);
2938
+ props.__uniformBindings = chunkZMCVKFXI_cjs.LOTUS_PETAL_UNIFORM_BINDINGS;
2939
+ props.__petalGeometry = chunkZMCVKFXI_cjs.buildLotusPetalGeometryData(
2940
+ chunkZMCVKFXI_cjs.lotusPetalGeometryParamsFromProfile(profile)
2941
2941
  );
2942
- props.__petalPlacements = chunkUPXIY52O_cjs.buildLotusFlowerPlacements(profile);
2942
+ props.__petalPlacements = chunkZMCVKFXI_cjs.buildLotusFlowerPlacements(profile);
2943
2943
  props.__lotusScene = {
2944
2944
  stemHeight: 2.4,
2945
2945
  colors: {
@@ -4419,5 +4419,5 @@ exports.init_ObjectPool = init_ObjectPool;
4419
4419
  exports.init_R3FCompiler = init_R3FCompiler;
4420
4420
  exports.init_visual = init_visual;
4421
4421
  exports.registerAllPresets = registerAllPresets;
4422
- //# sourceMappingURL=chunk-VDDJUO4G.cjs.map
4423
- //# sourceMappingURL=chunk-VDDJUO4G.cjs.map
4422
+ //# sourceMappingURL=chunk-ON5QSY35.cjs.map
4423
+ //# sourceMappingURL=chunk-ON5QSY35.cjs.map
@@ -3,7 +3,7 @@ import { webcamGazeHandler } from './chunk-TDCNJHWO.js';
3
3
  import { SimulationSolverFactory } from './chunk-YQELFNJV.js';
4
4
  import { createTensor, createNoOpInferenceAdapter, add, matmul } from './chunk-FHP6LXJS.js';
5
5
  import { absorbHandler, hotReloadHandler, scriptTestHandler } from './chunk-2M2DPHKB.js';
6
- import { init_BotanicalLotusTrait, botanicalLotusHandler } from './chunk-QRPRIJ2W.js';
6
+ import { init_BotanicalLotusTrait, botanicalLotusHandler } from './chunk-UO4WPSGQ.js';
7
7
  import { mitosisHandler, embeddingHandler, jepObjectiveHandler, orbitalHandler } from './chunk-H652NHX5.js';
8
8
  import { logger } from './chunk-PHENW4MQ.js';
9
9
  import { init_safeJsonParse, readJson } from './chunk-VVKVQZI6.js';
@@ -56161,5 +56161,5 @@ var VRTraitRegistry = class {
56161
56161
  var vrTraitRegistry = new VRTraitRegistry();
56162
56162
 
56163
56163
  export { AIDriverTrait, ALL_CIRCUITS, ARKIT_MOUTH_SHAPES, AnimationTrait, BUILTIN_CIRCUITS, BarretenbergBackend, BehaviorTreeRunner, CARE_ETHICS_TRAIT, CRDTRoomTraitValidationError, CRDT_ROOM_TRAIT_DEFAULTS, CharacterTrait, ComponentType, ConsensusTrait, DEFAULT_ANIMATION_MAP, DEFAULT_AUTONOMY_GUARD_POLICY, DEFAULT_BEHAVIOR_FACT_TTL_ALERT_RULE, DEFAULT_EXPRESSION_PRESETS, DEFAULT_EXTERNAL_TIMEOUT_MS, DEFAULT_FOVEATED_BLEND, DEFAULT_FREQUENCY_BANDS, DEFAULT_REPUTATION_LEDGER_MAX_FACTS, DEFAULT_REPUTATION_LEDGER_TTL_DAYS, DEFAULT_SYNC_FIELD, DEFAULT_TRAIT_CONFIG2 as DEFAULT_TRAIT_CONFIG, DRAFT_DEFAULTS, DRAFT_TRAIT, DialogTrait, DraftManager, ECSWorld, EmotionDirectiveTrait, EnvironmentalAudioSystem, GEM_RESONANCE_ELEMENT_FREQUENCIES, GOAPPlanner, GOLDEN_ANGLE_DEG, IKTrait, InteractiveGraphTrait, JobQueuePersistence, JointTrait, LOCAL_WEBCAM_VIEW_ID, LipSyncTrait, LobbyTrait, MAX_EXPERIENCE_LOG_ENTRIES, MorphTrait, MultiviewGaussianRendererTrait, NetworkedTrait, OCULUS_VISEME_MAP, PIDControllerTrait, PressableTrait, REFERENCE_SPACE_CHAIN, REFUSED_CARE_OPTIMIZATION_TARGETS, RigidbodyTrait, SPATIAL_PREDICATE_CIRCUITS, SYNC_PRESETS, SandboxExecutionTrait, SlidableTrait, SpatialAwarenessTrait, SyncTierTrait, TIER_DEFAULTS, TriggerTrait, URDFRobotTrait, VRTraitRegistry, VoiceInputTrait, VoiceOutputTrait, VoronoiFractureSystem, WEATHER_PRESETS, aIDriverHandler, abTestHandler, abstain, accessibleHandler, advancedClothHandler, affinityHandler, agentDiscoveryHandler, agentMemoryHandler, agentMovementSystem, agentPortalHandler, aiInpaintingHandler, aiTextureGenHandler, aiUpscalingHandler, ainpcBrainHandler, alertHandler, altTextHandler, ambisonicsHandler, analyticsHandler, anchorHandler, applyFBXAxisConversion, applyStatModifiers, applyUSDAxisConversion, approve, audioMaterialHandler, audioOcclusionHandler, audioPortalHandler, auditLogHandler, autoVote, avatarEmbodimentHandler, behaviorTreeHandler, biofeedbackHandler, blackboardHandler, bloomReactiveHandler, bodyTrackingHandler, bufferHandler, buildBehaviorFactDisclosure, buoyancyHandler, cRDTRoomHandler, careEthicsHandler, chainHandler, characterHandler, choreographyHandler, circuitBreakerHandler, clothHandler, coLocatedHandler, compareSemVer, computeHandler, computePhyllotaxisPosition, computerUseHandler, consensusHandler, consentGateHandler, controlNetHandler, controllerInputHandler, controlnetHandler, createAIDriverTrait, createAnimationTrait, createApprovalRequest, createBaseMainnetAccountingAdapter, createBehaviorFactTtlAlertRule, createCRDTRoomTraitConfig, createCanBusAccountingAdapter, createCareField, createCharacterTrait, createConsensusTrait, createDialogTrait, createEdiX12AccountingAdapter, createEmotionDirectiveTrait, createHl7FhirAccountingAdapter, createIKTrait, createJointTrait, createLipSyncTrait, createLobbyTrait, createMorphTrait, createNetworkedTrait, createRepairLoop, createRigidbodyTrait, createRollbackCheckpoint, createSelectiveDisclosure, createSharedSpatialProvider, createSimulatedController, createSpatialAwarenessTrait, createTriggerTrait, createURDFRobotTrait, createVoiceInputTrait, createVoiceOutputTrait, cronHandler, dataBindingHandler, deriveBloomReactiveOutput, deriveLotusCenterPhase, deriveLotusGardenerSchedule, deriveLotusGenesisGate, deriveLotusGenesisSeed, deriveLotusPetalVisual, deriveLotusRootEmissive, deriveLotusStalkPosture, deriveWalkableNavmesh, destructionHandler, deviceProfiles, dialogHandler, dialogueHandler, diffusionRealtimeHandler, digitalTwinHandler, dropTableHandler, economyPrimitivesHandler, effectiveWeight, embeddingSearchHandler, emissiveAt, emotionDirectiveHandler, emotionHandler, emotionalVoiceHandler, encounterHandler, environmentalAudioHandler, evaluateAction, evaluateAutonomyGuard, evaluateCareEthicsTurn, extractLotusGenesisAnchorHash, extractPayload, eyeTrackedHandler, faceTrackingHandler, factionHandler, fbxHandler, feedbackLoopHandler, findReachablePath, findWalkableNodeAt, flowFieldHandler, fluidHandler, gardenerPulseJitter, gaussianSplatHandler, gemResonanceHandler, geospatialAnchorHandler, geospatialEnvHandler, gestureHandler, getActiveSessions, getAgentId, getAirAbsorption, getAuditLog, getCachedThingDescription, getCapabilities, getCareEthicsState, getEventHistory, getFBXAnimationStacks, getFBXBoneNames, getFBXMorphTargets, getFBXState, getGLTFAnimations, getGLTFMorphTargets, getGLTFState, getMQTTSinkClient, getMQTTSinkState, getMQTTSourceClient, getMQTTSourceState, getMyProposals, getMyVotes, getNegotiationMethods, getPredicateCircuitId, getSession, getUSDActiveVariant, getUSDAnimation, getUSDBlendShapes, getUSDJointNames, getUSDState, getUSDVariantSets, getWoTThingState, gltfHandler, goalOrientedHandler, gpuBufferHandler, gpuParticleHandler, gpuPhysicsHandler, granularMaterialHandler, handMenuHandler, handMeshAIHandler, handTrackingHandler, hapticCueHandler, hapticHandler, hasMQTTSinkTrait, hasMQTTSourceTrait, hasVoted, hasWoTThingTrait, hashGardenerSeed, hashSeed, headTrackedAudioHandler, heatmap3dHandler, highContrastHandler, hitlHandler, hrtfHandler, iKHandler, initiate, invalidateThingDescription, isConsentGranted, isFBXLoaded, isGLTFLoaded, isInSession, isMQTTSinkConnected, isMQTTSourceConnected, isReservedPaperId, isUSDLoaded, isUSDZ, isWalkableAt, jointHandler, layerAwareHandler, leave, lightEstimationHandler, lipSyncHandler, llmAgentHandler, lobbyHandler, localLLMHandler, lodSystem, lotusCenterHandler, lotusGardenerHandler, lotusGenesisTriggerHandler, lotusPetalHandler, lotusRootHandler, lotusStalkHandler, luckHandler, magnifiableHandler, marketplaceHandler, marketplaceIntegrationHandler, matchesCondition, materialXHandler, memoryHandler, meshDetectionHandler, messagingHandler, modifiedThreshold, morphHandler, motionReducedHandler, mqttSinkHandler, mqttSourceHandler, multiAgentHandler, multiviewGaussianRendererHandler, negotiationHandler, nerfHandler, networkedAvatarHandler, networkedHandler, neuralAnimationHandler, neuralForgeHandler, neuralLinkHandler, neuralUpscalingHandler, nftHandler, normalizeCenter, normalizeLotusSeed, normalizePointCloud, npcAIHandler, objectTrackingHandler, occlusionHandler, openXRHALHandler, parseCRDTRoomEntityConfig, parseCRDTRoomTraitConfig, partnerSDKHandler, patrolHandler, perceptionHandler, persistentAnchorHandler, photogrammetryHandler, phyllotaxisHandler, physicsSystem, pickByWeight, planeDetectionHandler, poiHandler, pointCloudHandler, portableHandler, poseEstimationHandler, pressableHandler, propose, publishToMQTTSink, quotaHandler, ragKnowledgeHandler, rateLimiterHandler, rbacHandler, realityKitMeshHandler, recordGratitude, rememberRelationalContext, remotePresenceHandler, renderNetworkHandler, reputationLedgerHandler, resolveBloomStage, resolveCRDTRoomTraitConfig, resolvePulseHz, resourceAccountingHandler, reverbZoneHandler, rigidbodyHandler, roadmapNodeHandler, roleHandler, rooftopAnchorHandler, roomMeshHandler, ropeHandler, runECSBenchmark, runResourceAccountingAudit, sceneGraphHandler, sceneReconstructionHandler, schedulerHandler, screenReaderHandler, scrollableHandler, seatedHandler, secondsToUSDTimeCode, seededRand01, sensorHandler, setAgentManifest, sharePlayHandler, sharedAnchorHandler, sharedWorldHandler, shouldFire, signRequest, skillRegistryHandler, slidableHandler, softBodyHandler, sonificationHandler, spatialAccessoryHandler, spatialAudioCueHandler, spatialAwarenessHandler, spatialNavigationHandler, spatialPersonaHandler, spectatorHandler, ssoOidcHandler, ssoSamlHandler, stableDiffusionHandler, stableResourceAccountingReceiptHash, statHandler, structuredLoggerHandler, subtitleHandler, syncTierHandler, tenantHandler, terrainAnchorHandler, timeoutGuardHandler, tokenGatedHandler, transformHandler, triggerHandler, urdfRobotHandler, usdHandler, usdTimeCodeToSeconds, userMonitorHandler, validateCRDTRoomTraitConfig, validateCareField, validateSemVer, vectorDBHandler, verifyWebhookSignature, visionHandler, voiceInputHandler, voiceMeshHandler, voiceOutputHandler, voiceProximityHandler, volumetricHandler, volumetricVideoHandler, volumetricWindowHandler, voronoiFractureHandler, vote, vpsHandler, vrTraitRegistry, walletHandler, wasmBridgeHandler, windHandler, withNegotiation, wotThingHandler, zkPrivateHandler };
56164
- //# sourceMappingURL=chunk-DXWOTOUK.js.map
56165
- //# sourceMappingURL=chunk-DXWOTOUK.js.map
56164
+ //# sourceMappingURL=chunk-ONDAWTW4.js.map
56165
+ //# sourceMappingURL=chunk-ONDAWTW4.js.map
@@ -5,7 +5,7 @@ var chunk3FOKASKO_cjs = require('./chunk-3FOKASKO.cjs');
5
5
  var chunk4PDEPEQW_cjs = require('./chunk-4PDEPEQW.cjs');
6
6
  var chunkXJAN7CZG_cjs = require('./chunk-XJAN7CZG.cjs');
7
7
  var chunkXHIV6326_cjs = require('./chunk-XHIV6326.cjs');
8
- var chunkUPXIY52O_cjs = require('./chunk-UPXIY52O.cjs');
8
+ var chunkZMCVKFXI_cjs = require('./chunk-ZMCVKFXI.cjs');
9
9
  var chunkTVHSPJ4N_cjs = require('./chunk-TVHSPJ4N.cjs');
10
10
  var chunkILRBGFVD_cjs = require('./chunk-ILRBGFVD.cjs');
11
11
  var chunkE7JP3BS3_cjs = require('./chunk-E7JP3BS3.cjs');
@@ -54819,7 +54819,7 @@ var gotchaHandler = {
54819
54819
  };
54820
54820
 
54821
54821
  // src/traits/VRTraitSystem.ts
54822
- chunkUPXIY52O_cjs.init_BotanicalLotusTrait();
54822
+ chunkZMCVKFXI_cjs.init_BotanicalLotusTrait();
54823
54823
 
54824
54824
  // src/traits/FluidSimulationTrait.ts
54825
54825
  var SpatialHash = class {
@@ -55749,7 +55749,7 @@ var VRTraitRegistry = class {
55749
55749
  for (const handler of vfxParticleHandlers) this.register(handler);
55750
55750
  this.register(gpuPhysicsHandler);
55751
55751
  this.register(gpuBufferHandler);
55752
- this.register(chunkUPXIY52O_cjs.botanicalLotusHandler);
55752
+ this.register(chunkZMCVKFXI_cjs.botanicalLotusHandler);
55753
55753
  this.register(phyllotaxisHandler);
55754
55754
  this.register(bloomReactiveHandler);
55755
55755
  this.register(lotusRootHandler);
@@ -56579,5 +56579,5 @@ exports.windHandler = windHandler;
56579
56579
  exports.withNegotiation = withNegotiation;
56580
56580
  exports.wotThingHandler = wotThingHandler;
56581
56581
  exports.zkPrivateHandler = zkPrivateHandler;
56582
- //# sourceMappingURL=chunk-SMRVK6BI.cjs.map
56583
- //# sourceMappingURL=chunk-SMRVK6BI.cjs.map
56582
+ //# sourceMappingURL=chunk-PJGFU5DN.cjs.map
56583
+ //# sourceMappingURL=chunk-PJGFU5DN.cjs.map
@@ -1479,7 +1479,14 @@ diffuseColor.rgb += lotusVeinColor * lotusVeinColorField * uLotusVeinIntensity *
1479
1479
  diffuseColor.a *= mix(0.7, 1.0, uLotusGrowth);`,
1480
1480
  /** Spliced after `#include <emissivemap_fragment>` — backlit subsurface scatter. */
1481
1481
  fragmentEmissiveInjection: `
1482
- float lotusBacklight = pow(1.0 - abs(dot(normalize(vLotusWorldNormal), normalize(vLotusViewDir))), 2.15);
1482
+ // NaN-safe: guard normalize() of the interpolated normal/view vectors \u2014 on thin
1483
+ // petals they can interpolate to ~0, and normalize(vec3(0)) divides by zero (X4008),
1484
+ // leaking NaN/Inf that flickers across the bloom. Fall back to a +z facing vector.
1485
+ float lotusNLen = length(vLotusWorldNormal);
1486
+ float lotusVLen = length(vLotusViewDir);
1487
+ vec3 lotusN = lotusNLen > 1e-4 ? vLotusWorldNormal / lotusNLen : vec3(0.0, 0.0, 1.0);
1488
+ vec3 lotusV = lotusVLen > 1e-4 ? vLotusViewDir / lotusVLen : vec3(0.0, 0.0, 1.0);
1489
+ float lotusBacklight = pow(1.0 - abs(dot(lotusN, lotusV)), 2.15);
1483
1490
  float lotusTranslucency = mix(uLotusTransmissionBase, uLotusTransmissionEdge, lotusEdge);
1484
1491
  float lotusPulse = 0.92 + sin(uLotusTime * 0.65 + vLotusVeinPhase * 6.28318) * 0.08;
1485
1492
  vec3 lotusScatter = uLotusSubsurfaceColor * lotusBacklight * lotusTranslucency * uLotusSSS * uLotusGrowth * lotusPulse;
@@ -1521,5 +1528,5 @@ totalEmissiveRadiance += lotusScatter * (0.28 + uLotusBloom * 0.72);`
1521
1528
  });
1522
1529
 
1523
1530
  export { DEFAULT_BOTANICAL_LOTUS_CONFIG, DEFAULT_LOTUS_PETAL_GEOMETRY_PARAMS, LOTUS_GENESIS_SEED_PLACEHOLDER, LOTUS_GOLDEN_ANGLE_DEG, LOTUS_GROWTH_SECONDS, LOTUS_OUTER_PETAL_COLOR, LOTUS_PETAL_CHUNK_ENTRIES, LOTUS_PETAL_SHADER_CHUNKS, LOTUS_PETAL_UNIFORM_BINDINGS, LOTUS_RING_SCALING, assertBotanicalLotusConfig, botanicalLotusHandler, buildLotusFlowerPlacements, buildLotusPetalGeometryData, buildLotusPetalMaterialSpec, buildLotusSceneFromComposition, createBotanicalLotusRenderProfile, createLotusMeristem, createLotusMorphogen, createLotusMorphogen2D, createLotusPetalTurgor, createLotusPond, deriveBotanicalLotusAnchorStatus, deriveLotusBloomFromGlow, disturbLotusPond, generateBotanicalNormalMap, generateBotanicalRoughnessMap, getBotanicalLotusPetalCount, init_BotanicalLotusTrait, lotusMorphogen2DPeaks, lotusMorphogen2DSampleAt, lotusMorphogenPeaks, lotusPetalGeometryParamsFromProfile, lotusPetalRenderColor, lotusPetalTurgorOpenProgress, lotusPetalTurgorTipDeg, lotusPondSurface, normalizeBotanicalLotusConfig, simulateLotusMorphogenesis, simulateLotusPetalGrowth, simulateLotusPhyllotaxis, stepLotusMeristem, stepLotusMorphogen, stepLotusMorphogen2D, stepLotusPetalTurgor, stepLotusPond, validateBotanicalLotusConfig };
1524
- //# sourceMappingURL=chunk-QRPRIJ2W.js.map
1525
- //# sourceMappingURL=chunk-QRPRIJ2W.js.map
1531
+ //# sourceMappingURL=chunk-UO4WPSGQ.js.map
1532
+ //# sourceMappingURL=chunk-UO4WPSGQ.js.map
@@ -1,4 +1,4 @@
1
- import { init_R3FCompiler, MATERIAL_PRESETS } from './chunk-37ZNYWWW.js';
1
+ import { init_R3FCompiler, MATERIAL_PRESETS } from './chunk-E4M5OAYO.js';
2
2
  import { init_ProvenanceSemiring, ProvenanceSemiring } from './chunk-TJHVSBP2.js';
3
3
  import { init_TraitCompositor, TraitCompositor } from './chunk-4C57PR42.js';
4
4
  import { init_PlatformConditional, platformCategory, PLATFORM_CAPABILITIES, PLATFORM_CATEGORIES } from './chunk-GZG4KA4E.js';
@@ -6880,5 +6880,5 @@ function compilePipelineSource(source, options = {}) {
6880
6880
  }
6881
6881
 
6882
6882
  export { A2AAgentCardCompiler, A2AAgentCardCompiler_exports, BUILTIN_RESOURCES, CAPABILITY_HIERARCHY, CATEGORY_DEFAULT_EMBODIMENT, CompilerBridge, CrossRealityTraitRegistry, EFFECTS_BY_CATEGORY, EFFECT_TO_CAPABILITY, EffectChecker, EffectRow, GaussianSplattingCompiler, HANDOFF_PATH_RULES, LinearTypeChecker, MVC_BUDGET_CONSTRAINTS, NIRCompiler, NIRCompiler_exports, Native2DCompiler, Native2DCompiler_exports, PLATFORM_BUDGETS, PLATFORM_EMBODIMENT_OVERRIDES, ResourceBudgetAnalyzer, SHARED_SORT_SHADER_PATH, SpatialPartitionPass, TRAIT_EFFECTS, TRAIT_RESOURCE_COSTS, TRAIT_RESOURCE_MAP, TRUST_LEVEL_CAPABILITIES, ThreeJSCompiler, ThreeJSCompiler_exports, USDZPipeline, bestCategoryForTraits, buildSafetyReport, checkCapabilities, compilePipelineSource, compilePipelineSourceToNode, compilePipelineSourceToPython, compilePipelineToNode, compilePipelineToPython, createCrossRealityTraitRegistry, createEffectChecker, createGaussianSplattingCompiler, dangerLevel, deriveRequirements, detectMultiUserSharedSort, effectCategory, expandCapabilities, formatReport, generateCertificate, getCompilerBridge, getCrossRealityTraitRegistry, inferFromBuiltins, inferFromTraits, init_A2AAgentCardCompiler, init_NIRCompiler, init_Native2DCompiler, init_ThreeJSCompiler, isSafeTraitSet, knownBuiltins, knownTraits, quickSafetyCheck, resetCrossRealityTraitRegistry, runSafetyPass, selectModality, selectModalityForAll, spatialPartition };
6883
- //# sourceMappingURL=chunk-QSCGZ4DW.js.map
6884
- //# sourceMappingURL=chunk-QSCGZ4DW.js.map
6883
+ //# sourceMappingURL=chunk-WQKJSGVS.js.map
6884
+ //# sourceMappingURL=chunk-WQKJSGVS.js.map
@@ -4,9 +4,9 @@ var chunkLM2VU56C_cjs = require('./chunk-LM2VU56C.cjs');
4
4
  var chunkCIWWXYHZ_cjs = require('./chunk-CIWWXYHZ.cjs');
5
5
 
6
6
  // src/version.ts
7
- var HOLOSCRIPT_VERSION = "8.0.3" ;
8
- var GIT_COMMIT_SHA = "b806c07bf" ;
9
- var BUILD_TIMESTAMP = "2026-06-05T00:05:33.792Z" ;
7
+ var HOLOSCRIPT_VERSION = "8.0.5" ;
8
+ var GIT_COMMIT_SHA = "bea63562d" ;
9
+ var BUILD_TIMESTAMP = "2026-06-05T00:49:49.456Z" ;
10
10
  function getVersionString() {
11
11
  const sha = `+${GIT_COMMIT_SHA}` ;
12
12
  return `${HOLOSCRIPT_VERSION}${sha}`;
@@ -2192,5 +2192,5 @@ exports.putCachedWeightBlob = putCachedWeightBlob;
2192
2192
  exports.resetHoloMapTelemetryForTests = resetHoloMapTelemetryForTests;
2193
2193
  exports.runHoloMapMicroEncoderCpu = runHoloMapMicroEncoderCpu;
2194
2194
  exports.tryCreateHoloMapEncoderDevice = tryCreateHoloMapEncoderDevice;
2195
- //# sourceMappingURL=chunk-ELEHNDDS.cjs.map
2196
- //# sourceMappingURL=chunk-ELEHNDDS.cjs.map
2195
+ //# sourceMappingURL=chunk-YT5L3B57.cjs.map
2196
+ //# sourceMappingURL=chunk-YT5L3B57.cjs.map
@@ -1481,7 +1481,14 @@ diffuseColor.rgb += lotusVeinColor * lotusVeinColorField * uLotusVeinIntensity *
1481
1481
  diffuseColor.a *= mix(0.7, 1.0, uLotusGrowth);`,
1482
1482
  /** Spliced after `#include <emissivemap_fragment>` — backlit subsurface scatter. */
1483
1483
  fragmentEmissiveInjection: `
1484
- float lotusBacklight = pow(1.0 - abs(dot(normalize(vLotusWorldNormal), normalize(vLotusViewDir))), 2.15);
1484
+ // NaN-safe: guard normalize() of the interpolated normal/view vectors \u2014 on thin
1485
+ // petals they can interpolate to ~0, and normalize(vec3(0)) divides by zero (X4008),
1486
+ // leaking NaN/Inf that flickers across the bloom. Fall back to a +z facing vector.
1487
+ float lotusNLen = length(vLotusWorldNormal);
1488
+ float lotusVLen = length(vLotusViewDir);
1489
+ vec3 lotusN = lotusNLen > 1e-4 ? vLotusWorldNormal / lotusNLen : vec3(0.0, 0.0, 1.0);
1490
+ vec3 lotusV = lotusVLen > 1e-4 ? vLotusViewDir / lotusVLen : vec3(0.0, 0.0, 1.0);
1491
+ float lotusBacklight = pow(1.0 - abs(dot(lotusN, lotusV)), 2.15);
1485
1492
  float lotusTranslucency = mix(uLotusTransmissionBase, uLotusTransmissionEdge, lotusEdge);
1486
1493
  float lotusPulse = 0.92 + sin(uLotusTime * 0.65 + vLotusVeinPhase * 6.28318) * 0.08;
1487
1494
  vec3 lotusScatter = uLotusSubsurfaceColor * lotusBacklight * lotusTranslucency * uLotusSSS * uLotusGrowth * lotusPulse;
@@ -1558,5 +1565,5 @@ exports.stepLotusMorphogen2D = stepLotusMorphogen2D;
1558
1565
  exports.stepLotusPetalTurgor = stepLotusPetalTurgor;
1559
1566
  exports.stepLotusPond = stepLotusPond;
1560
1567
  exports.validateBotanicalLotusConfig = validateBotanicalLotusConfig;
1561
- //# sourceMappingURL=chunk-UPXIY52O.cjs.map
1562
- //# sourceMappingURL=chunk-UPXIY52O.cjs.map
1568
+ //# sourceMappingURL=chunk-ZMCVKFXI.cjs.map
1569
+ //# sourceMappingURL=chunk-ZMCVKFXI.cjs.map
@@ -2,38 +2,38 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk6S5VS7BF_cjs = require('../chunk-6S5VS7BF.cjs');
5
+ var chunkFXKAW7ZO_cjs = require('../chunk-FXKAW7ZO.cjs');
6
6
  require('../chunk-HCCQLAA4.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "GLTF_PIPELINE_TOOLS", {
11
11
  enumerable: true,
12
- get: function () { return chunk6S5VS7BF_cjs.GLTF_PIPELINE_TOOLS; }
12
+ get: function () { return chunkFXKAW7ZO_cjs.GLTF_PIPELINE_TOOLS; }
13
13
  });
14
14
  Object.defineProperty(exports, "analyzeOptimizations", {
15
15
  enumerable: true,
16
- get: function () { return chunk6S5VS7BF_cjs.analyzeOptimizations; }
16
+ get: function () { return chunkFXKAW7ZO_cjs.analyzeOptimizations; }
17
17
  });
18
18
  Object.defineProperty(exports, "default", {
19
19
  enumerable: true,
20
- get: function () { return chunk6S5VS7BF_cjs.GLTFPipelineMCPTool_default; }
20
+ get: function () { return chunkFXKAW7ZO_cjs.GLTFPipelineMCPTool_default; }
21
21
  });
22
22
  Object.defineProperty(exports, "handleGLTFToolCall", {
23
23
  enumerable: true,
24
- get: function () { return chunk6S5VS7BF_cjs.handleGLTFToolCall; }
24
+ get: function () { return chunkFXKAW7ZO_cjs.handleGLTFToolCall; }
25
25
  });
26
26
  Object.defineProperty(exports, "inspectComposition", {
27
27
  enumerable: true,
28
- get: function () { return chunk6S5VS7BF_cjs.inspectComposition; }
28
+ get: function () { return chunkFXKAW7ZO_cjs.inspectComposition; }
29
29
  });
30
30
  Object.defineProperty(exports, "registerGLTFTools", {
31
31
  enumerable: true,
32
- get: function () { return chunk6S5VS7BF_cjs.registerGLTFTools; }
32
+ get: function () { return chunkFXKAW7ZO_cjs.registerGLTFTools; }
33
33
  });
34
34
  Object.defineProperty(exports, "validateForGLTF", {
35
35
  enumerable: true,
36
- get: function () { return chunk6S5VS7BF_cjs.validateForGLTF; }
36
+ get: function () { return chunkFXKAW7ZO_cjs.validateForGLTF; }
37
37
  });
38
38
  //# sourceMappingURL=gltf-pipeline.cjs.map
39
39
  //# sourceMappingURL=gltf-pipeline.cjs.map
@@ -1,4 +1,4 @@
1
- export { GLTF_PIPELINE_TOOLS, analyzeOptimizations, GLTFPipelineMCPTool_default as default, handleGLTFToolCall, inspectComposition, registerGLTFTools, validateForGLTF } from '../chunk-JYTTPNKK.js';
1
+ export { GLTF_PIPELINE_TOOLS, analyzeOptimizations, GLTFPipelineMCPTool_default as default, handleGLTFToolCall, inspectComposition, registerGLTFTools, validateForGLTF } from '../chunk-5KVXXUD4.js';
2
2
  import '../chunk-OL46QLBJ.js';
3
3
  //# sourceMappingURL=gltf-pipeline.js.map
4
4
  //# sourceMappingURL=gltf-pipeline.js.map