@holoscript/core 8.0.0 → 8.0.2

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 (129) hide show
  1. package/README.md +2 -2
  2. package/dist/{GLTFPipeline-M7WSSJED.cjs → GLTFPipeline-76QTLF4Z.cjs} +10 -9
  3. package/dist/{GLTFPipeline-276GE64O.js → GLTFPipeline-ES5YMBGT.js} +6 -5
  4. package/dist/HoloScriptRuntime-2DDYOPOR.js +10 -0
  5. package/dist/{HoloScriptRuntime-SXEAEU2N.cjs → HoloScriptRuntime-ZGRR5EB3.cjs} +5 -5
  6. package/dist/{chunk-JJBE3TIH.cjs → chunk-2IWC4FP7.cjs} +6 -6
  7. package/dist/{chunk-S4W6Z2MN.js → chunk-2X7NGX3M.js} +3 -3
  8. package/dist/{chunk-NGKREZ36.js → chunk-3OYVN53V.js} +505 -5
  9. package/dist/{chunk-GQT4TYKY.cjs → chunk-3OZACAFQ.cjs} +44 -19
  10. package/dist/{chunk-T2QCTZMO.js → chunk-4SDKXQ4C.js} +3 -3
  11. package/dist/{chunk-253GBQZY.cjs → chunk-5H2G27PK.cjs} +35 -35
  12. package/dist/{chunk-C2A5DUMF.cjs → chunk-5NWINHR5.cjs} +35 -35
  13. package/dist/{chunk-D54CNIAJ.cjs → chunk-7H33U5SM.cjs} +2 -2
  14. package/dist/{chunk-CXFDRBQU.cjs → chunk-7M3PNU2M.cjs} +7 -7
  15. package/dist/{chunk-WJIHFLMJ.js → chunk-ADADVMXY.js} +2 -2
  16. package/dist/{chunk-NHWSN2SD.cjs → chunk-AVJHHUC5.cjs} +17 -17
  17. package/dist/{chunk-JCLBKPMX.js → chunk-BOVPWH4H.js} +48 -4
  18. package/dist/{chunk-ZZEI7MV4.js → chunk-CCATWPXM.js} +3 -3
  19. package/dist/{chunk-NBMHU6SW.js → chunk-CMT5NMMS.js} +3 -3
  20. package/dist/{chunk-HINXWAOD.cjs → chunk-CR4FMIWL.cjs} +11 -11
  21. package/dist/{chunk-IZM5VQZD.js → chunk-D3STJ56J.js} +3 -3
  22. package/dist/{chunk-EUDQTK7N.cjs → chunk-DAKRKDZV.cjs} +27 -38
  23. package/dist/{chunk-ZBQXLH2L.js → chunk-DHO2YRIM.js} +3 -3
  24. package/dist/{chunk-RVBHAXFG.js → chunk-DXWOTOUK.js} +16 -11
  25. package/dist/{chunk-F43YAA34.js → chunk-E47Z63DF.js} +3 -3
  26. package/dist/{chunk-62FBK3B7.js → chunk-FFAOS5HQ.js} +4 -4
  27. package/dist/{chunk-UM6C3CGK.js → chunk-FS7BFHFN.js} +28 -3
  28. package/dist/{chunk-SJBGLS25.cjs → chunk-FXIO6GHT.cjs} +5 -5
  29. package/dist/{chunk-XUUVDHIF.cjs → chunk-HKEXJUWS.cjs} +48 -3
  30. package/dist/{chunk-NXZFOPVD.cjs → chunk-HNDK4IQU.cjs} +16 -16
  31. package/dist/{chunk-SMIWS6DE.cjs → chunk-IELX2OKI.js} +118 -7
  32. package/dist/{chunk-KH4CNH66.cjs → chunk-IMGDUSTT.cjs} +4 -4
  33. package/dist/{chunk-LICPB5HZ.cjs → chunk-IUDGEUDO.cjs} +10 -10
  34. package/dist/{chunk-73FELZVJ.cjs → chunk-IWC5DM2M.cjs} +11 -11
  35. package/dist/{chunk-PHVRG4I2.js → chunk-J7XZV333.js} +3 -3
  36. package/dist/{chunk-K4VVR7CN.cjs → chunk-JBNDTXXV.cjs} +15 -15
  37. package/dist/{chunk-3NFFOWGG.js → chunk-KFIXE2MB.js} +14 -5
  38. package/dist/{chunk-B4TFTDG4.js → chunk-LCEXRE5Z.js} +3 -3
  39. package/dist/{chunk-IVSZDECV.js → chunk-LHAXPADA.js} +3 -3
  40. package/dist/{chunk-7CUEMLDZ.cjs → chunk-LKBTCABN.cjs} +540 -38
  41. package/dist/{chunk-AYBXB26F.js → chunk-LOGP3JWH.js} +5 -5
  42. package/dist/{chunk-KVRSTFNH.cjs → chunk-NCWCUZNS.cjs} +8 -8
  43. package/dist/{chunk-NV4VMVXU.js → chunk-NNFA2C3Y.js} +3 -3
  44. package/dist/{chunk-HZSPDCXV.cjs → chunk-O7WLJ53D.cjs} +3 -3
  45. package/dist/{chunk-MGE5Z4GS.js → chunk-OH2FAIVU.js} +3 -3
  46. package/dist/{chunk-UMABK6SI.js → chunk-PY37LNDP.js} +3 -3
  47. package/dist/{chunk-23J755AR.js → chunk-QD32ADK6.js} +3 -3
  48. package/dist/chunk-QRPRIJ2W.js +1525 -0
  49. package/dist/{chunk-HZTDET3N.js → chunk-R24NNAEG.js} +3 -3
  50. package/dist/{chunk-W7VDOASB.cjs → chunk-RMTPN3G4.cjs} +5 -5
  51. package/dist/{chunk-6DPSFNJB.cjs → chunk-ROHLEP2W.cjs} +16 -16
  52. package/dist/{chunk-3HYYMEXI.cjs → chunk-SMRVK6BI.cjs} +17 -12
  53. package/dist/{chunk-25IQCHTO.cjs → chunk-TWUXUCEW.cjs} +35 -35
  54. package/dist/{chunk-KEFNV2WM.cjs → chunk-U7IUS5HJ.cjs} +13 -13
  55. package/dist/{chunk-3AO425MZ.cjs → chunk-UFZZ7TSN.cjs} +17 -17
  56. package/dist/chunk-UPXIY52O.cjs +1562 -0
  57. package/dist/{chunk-BE4UJCQT.js → chunk-UWJHCOH2.js} +3 -3
  58. package/dist/{chunk-7HIASF7S.cjs → chunk-XB274MW5.cjs} +10 -10
  59. package/dist/{chunk-RARB3MBR.js → chunk-YDPEHCCI.cjs} +127 -3
  60. package/dist/{chunk-KJLB4OPV.js → chunk-YN2YWTXW.js} +3 -3
  61. package/dist/{chunk-IPWSXCCN.js → chunk-YVD3CSO3.js} +3 -3
  62. package/dist/{chunk-OR4Q2BGL.cjs → chunk-YWOBW2PV.cjs} +15 -15
  63. package/dist/{chunk-JX7YL6ZE.js → chunk-ZPYP4RBA.js} +4 -4
  64. package/dist/compiler/android-xr.cjs +5 -5
  65. package/dist/compiler/android-xr.js +3 -3
  66. package/dist/compiler/babylon.cjs +4 -4
  67. package/dist/compiler/babylon.js +3 -3
  68. package/dist/compiler/business-quest.cjs +9 -9
  69. package/dist/compiler/business-quest.js +1 -1
  70. package/dist/compiler/domain-block-utils.cjs +154 -150
  71. package/dist/compiler/domain-block-utils.js +2 -2
  72. package/dist/compiler/gltf-pipeline.cjs +8 -8
  73. package/dist/compiler/gltf-pipeline.js +1 -1
  74. package/dist/compiler/godot.cjs +4 -4
  75. package/dist/compiler/godot.js +3 -3
  76. package/dist/compiler/index.cjs +129 -581
  77. package/dist/compiler/index.d.ts +12 -0
  78. package/dist/compiler/index.js +42 -498
  79. package/dist/compiler/multi-layer.cjs +5 -5
  80. package/dist/compiler/multi-layer.js +4 -4
  81. package/dist/compiler/nodetoy.d.ts +69 -0
  82. package/dist/compiler/openxr.cjs +4 -4
  83. package/dist/compiler/openxr.js +3 -3
  84. package/dist/compiler/playcanvas.cjs +4 -4
  85. package/dist/compiler/playcanvas.js +3 -3
  86. package/dist/compiler/r3f.cjs +9 -8
  87. package/dist/compiler/r3f.js +4 -3
  88. package/dist/compiler/sdf.cjs +5 -5
  89. package/dist/compiler/sdf.js +3 -3
  90. package/dist/compiler/unity.cjs +4 -4
  91. package/dist/compiler/unity.js +3 -3
  92. package/dist/compiler/unreal.cjs +5 -5
  93. package/dist/compiler/unreal.js +3 -3
  94. package/dist/compiler/urdf.cjs +12 -12
  95. package/dist/compiler/urdf.js +3 -3
  96. package/dist/compiler/usd-physics.cjs +5 -5
  97. package/dist/compiler/usd-physics.js +2 -2
  98. package/dist/compiler/visionos.cjs +4 -4
  99. package/dist/compiler/visionos.js +3 -3
  100. package/dist/compiler/vrchat.cjs +5 -5
  101. package/dist/compiler/vrchat.js +3 -3
  102. package/dist/compiler/vrr.cjs +5 -5
  103. package/dist/compiler/vrr.js +3 -3
  104. package/dist/compiler/wasm.cjs +8 -8
  105. package/dist/compiler/wasm.js +3 -3
  106. package/dist/compiler/webgpu.cjs +4 -4
  107. package/dist/compiler/webgpu.js +3 -3
  108. package/dist/debugger.cjs +5 -5
  109. package/dist/debugger.js +3 -3
  110. package/dist/dist-ACXG6IH5.cjs +3113 -0
  111. package/dist/dist-VD4L6V7Q.js +3076 -0
  112. package/dist/index.cjs +1894 -559
  113. package/dist/index.d.ts +2 -0
  114. package/dist/index.js +1448 -113
  115. package/dist/reconstruction/index.cjs +31 -31
  116. package/dist/reconstruction/index.js +2 -2
  117. package/dist/runtime.cjs +150 -293
  118. package/dist/runtime.js +82 -23
  119. package/dist/src-4ROC227P.cjs +2094 -0
  120. package/dist/src-HCCCSYP7.js +2073 -0
  121. package/dist/traits/botanical-lotus.cjs +162 -10
  122. package/dist/traits/botanical-lotus.d.ts +330 -0
  123. package/dist/traits/botanical-lotus.js +4 -1
  124. package/dist/traits/index.cjs +610 -455
  125. package/dist/traits/index.js +9 -5
  126. package/package.json +23 -23
  127. package/dist/HoloScriptRuntime-3URVTKPJ.js +0 -10
  128. package/dist/chunk-VECQYRXL.js +0 -474
  129. package/dist/chunk-WDT3JTGM.cjs +0 -483
@@ -1,20 +1,21 @@
1
1
  export { MOTION_DATA_SCHEMA_VERSION, NullMotionMatchingEngine, SYNTHETIC_WALK_JOINTS, SyntheticWalkCycleEngine, TRAJECTORY_FRAME_DT, TRAJECTORY_HORIZON_FRAMES, buildSyntheticBipedPose, classifyGait, createNullMotionMatchingEngine, createSyntheticWalkCycleEngine, inferenceFrameToTensor, magnitude, projectLinearTrajectory, validateMotionCapture, validateTrainingCorpus, validateTrainingFrame } from '../chunk-IVY74O6C.js';
2
2
  import { QuantumCircuitCompiler } from '../chunk-ZU7NIRT6.js';
3
3
  export { SkeletonTrait, createSkeletonTrait, skeletonHandler } from '../chunk-M56JSP4A.js';
4
- import { createHoloMapRuntime, HOLOMAP_DEFAULTS } from '../chunk-AYBXB26F.js';
4
+ import { createHoloMapRuntime, HOLOMAP_DEFAULTS } from '../chunk-LOGP3JWH.js';
5
5
  import '../chunk-WNNE3PO3.js';
6
6
  import { CircuitBreaker, Bulkhead, withTimeout, retryWithBackoff, fallbackChain } from '../chunk-A6KINLZJ.js';
7
- import { extractPayload, normalizeCenter, parseCRDTRoomTraitConfig, validateCRDTRoomTraitConfig, resolveCRDTRoomTraitConfig, deriveWalkableNavmesh } from '../chunk-RVBHAXFG.js';
8
- export { AIDriverTrait, ALL_CIRCUITS, ARKIT_MOUTH_SHAPES, AnimationTrait, BUILTIN_CIRCUITS, BarretenbergBackend, BehaviorTreeRunner, CARE_ETHICS_TRAIT, CRDTRoomTraitValidationError, CRDT_ROOM_TRAIT_DEFAULTS, ComponentType, ConsensusTrait, DEFAULT_ANIMATION_MAP, 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_CONFIG, DialogTrait, ECSWorld, EmotionDirectiveTrait, EnvironmentalAudioSystem, GEM_RESONANCE_ELEMENT_FREQUENCIES, GOAPPlanner, GOLDEN_ANGLE_DEG, InteractiveGraphTrait, JobQueuePersistence, LOCAL_WEBCAM_VIEW_ID, LipSyncTrait, LobbyTrait, MAX_EXPERIENCE_LOG_ENTRIES, MorphTrait, MultiviewGaussianRendererTrait, NetworkedTrait, OCULUS_VISEME_MAP, PIDControllerTrait, PressableTrait, TIER_DEFAULTS as QUOTA_TIER_DEFAULTS, REFERENCE_SPACE_CHAIN, SPATIAL_PREDICATE_CIRCUITS, SYNC_PRESETS, SandboxExecutionTrait, SlidableTrait, SpatialAwarenessTrait, SyncTierTrait, TriggerTrait, URDFRobotTrait, VRTraitRegistry, VoiceInputTrait, VoiceOutputTrait, VoronoiFractureSystem, WEATHER_PRESETS, aIDriverHandler, abTestHandler, abstain, accessibleHandler, advancedClothHandler, affinityHandler, agentDiscoveryHandler, agentMemoryHandler, agentMovementSystem, agentPortalHandler, 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, createApprovalRequest, createBaseMainnetAccountingAdapter, createBehaviorFactTtlAlertRule, createCRDTRoomTraitConfig, createCanBusAccountingAdapter, createConsensusTrait, createDialogTrait, createEdiX12AccountingAdapter, createEmotionDirectiveTrait, createHl7FhirAccountingAdapter, createLipSyncTrait, createLobbyTrait, createMorphTrait, createRollbackCheckpoint, createSelectiveDisclosure, createSharedSpatialProvider, createSimulatedController, createSpatialAwarenessTrait, createTriggerTrait, createURDFRobotTrait, createVoiceInputTrait, createVoiceOutputTrait, cronHandler, dataBindingHandler, deriveBloomReactiveOutput, deriveLotusCenterPhase, deriveLotusGardenerSchedule, deriveLotusGenesisGate, deriveLotusGenesisSeed, deriveLotusPetalVisual, deriveLotusRootEmissive, deriveLotusStalkPosture, deriveWalkableNavmesh, destructionHandler, deviceProfiles, dialogHandler, dialogueHandler, digitalTwinHandler, dropTableHandler, economyPrimitivesHandler, effectiveWeight, embeddingSearchHandler, emissiveAt, emotionDirectiveHandler, emotionHandler, emotionalVoiceHandler, encounterHandler, environmentalAudioHandler, evaluateAction, 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, 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, validateSemVer, vectorDBHandler, verifyWebhookSignature, visionHandler, voiceInputHandler, voiceMeshHandler, voiceOutputHandler, voiceProximityHandler, volumetricHandler, volumetricVideoHandler, volumetricWindowHandler, voronoiFractureHandler, vote, vpsHandler, vrTraitRegistry, walletHandler, wasmBridgeHandler, windHandler, withNegotiation, wotThingHandler, zkPrivateHandler } from '../chunk-RVBHAXFG.js';
7
+ import { extractPayload, normalizeCenter, parseCRDTRoomTraitConfig, validateCRDTRoomTraitConfig, resolveCRDTRoomTraitConfig, deriveWalkableNavmesh } from '../chunk-DXWOTOUK.js';
8
+ export { AIDriverTrait, ALL_CIRCUITS, ARKIT_MOUTH_SHAPES, AnimationTrait, BUILTIN_CIRCUITS, BarretenbergBackend, BehaviorTreeRunner, CARE_ETHICS_TRAIT, CRDTRoomTraitValidationError, CRDT_ROOM_TRAIT_DEFAULTS, ComponentType, ConsensusTrait, DEFAULT_ANIMATION_MAP, 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_CONFIG, DialogTrait, ECSWorld, EmotionDirectiveTrait, EnvironmentalAudioSystem, GEM_RESONANCE_ELEMENT_FREQUENCIES, GOAPPlanner, GOLDEN_ANGLE_DEG, InteractiveGraphTrait, JobQueuePersistence, LOCAL_WEBCAM_VIEW_ID, LipSyncTrait, LobbyTrait, MAX_EXPERIENCE_LOG_ENTRIES, MorphTrait, MultiviewGaussianRendererTrait, NetworkedTrait, OCULUS_VISEME_MAP, PIDControllerTrait, PressableTrait, TIER_DEFAULTS as QUOTA_TIER_DEFAULTS, REFERENCE_SPACE_CHAIN, SPATIAL_PREDICATE_CIRCUITS, SYNC_PRESETS, SandboxExecutionTrait, SlidableTrait, SpatialAwarenessTrait, SyncTierTrait, TriggerTrait, URDFRobotTrait, VRTraitRegistry, VoiceInputTrait, VoiceOutputTrait, VoronoiFractureSystem, WEATHER_PRESETS, aIDriverHandler, abTestHandler, abstain, accessibleHandler, advancedClothHandler, affinityHandler, agentDiscoveryHandler, agentMemoryHandler, agentMovementSystem, agentPortalHandler, 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, createApprovalRequest, createBaseMainnetAccountingAdapter, createBehaviorFactTtlAlertRule, createCRDTRoomTraitConfig, createCanBusAccountingAdapter, createConsensusTrait, createDialogTrait, createEdiX12AccountingAdapter, createEmotionDirectiveTrait, createHl7FhirAccountingAdapter, createLipSyncTrait, createLobbyTrait, createMorphTrait, createRollbackCheckpoint, createSelectiveDisclosure, createSharedSpatialProvider, createSimulatedController, createSpatialAwarenessTrait, createTriggerTrait, createURDFRobotTrait, createVoiceInputTrait, createVoiceOutputTrait, cronHandler, dataBindingHandler, deriveBloomReactiveOutput, deriveLotusCenterPhase, deriveLotusGardenerSchedule, deriveLotusGenesisGate, deriveLotusGenesisSeed, deriveLotusPetalVisual, deriveLotusRootEmissive, deriveLotusStalkPosture, deriveWalkableNavmesh, destructionHandler, deviceProfiles, dialogHandler, dialogueHandler, digitalTwinHandler, dropTableHandler, economyPrimitivesHandler, effectiveWeight, embeddingSearchHandler, emissiveAt, emotionDirectiveHandler, emotionHandler, emotionalVoiceHandler, encounterHandler, environmentalAudioHandler, evaluateAction, 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, 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, validateSemVer, vectorDBHandler, verifyWebhookSignature, visionHandler, voiceInputHandler, voiceMeshHandler, voiceOutputHandler, voiceProximityHandler, volumetricHandler, volumetricVideoHandler, volumetricWindowHandler, voronoiFractureHandler, vote, vpsHandler, vrTraitRegistry, walletHandler, wasmBridgeHandler, windHandler, withNegotiation, wotThingHandler, zkPrivateHandler } from '../chunk-DXWOTOUK.js';
9
9
  export { LIGHTING_PRESETS, LightingTrait, MATERIAL_PRESETS, MaterialTrait, RenderingTrait, SHADER_CHUNKS, SHADER_PRESETS, ShaderTrait, createLightingTrait, createMaterialTrait, createRenderingTrait, createShaderTrait, lightingHandler, materialHandler, renderingHandler, shaderHandler } from '../chunk-QPOQ7VPI.js';
10
10
  import '../chunk-YF2I3MV3.js';
11
11
  export { DEFAULT_WEBCAM_GAZE_CONFIG, WebcamGazeTracker, estimateWebcamGazeFromLandmarks, webcamGazeHandler, webcamGazeToRay } from '../chunk-TDCNJHWO.js';
12
- export { DEFAULT_BOTANICAL_LOTUS_CONFIG, assertBotanicalLotusConfig, botanicalLotusHandler, createBotanicalLotusRenderProfile, deriveBotanicalLotusAnchorStatus, getBotanicalLotusPetalCount, normalizeBotanicalLotusConfig, validateBotanicalLotusConfig } from '../chunk-VECQYRXL.js';
13
12
  export { SimulationSolverFactory } from '../chunk-YQELFNJV.js';
14
13
  export { NoOpInferenceAdapter, OnnxNodeInferenceAdapter, PureJsInferenceAdapter, createNoOpInferenceAdapter, createOnnxNodeInferenceAdapter, createPureJsInferenceAdapter, resolveOnnxModelPath } from '../chunk-FHP6LXJS.js';
15
14
  import '../chunk-2M2DPHKB.js';
16
15
  import { init_accessibility_extended_visual, init_accessibility_visual, init_age_condition_visual, init_animals_visual, init_architecture_realestate_visual, init_audio_visual, init_construction_building_visual, init_containers_storage_visual, init_cooking_food_visual, init_core_vr_interaction_visual, init_creatures_mythical_visual, init_data_visualization_visual, init_education_learning_visual, init_emotion_mood_visual, init_environment_input_visual, init_environmental_biome_visual, init_fabric_cloth_visual, init_furniture_decor_visual, init_game_mechanics_visual, init_gems_minerals_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_lighting_visual, init_locomotion_movement_visual, init_magic_fantasy_visual, init_maritime_naval_visual, init_material_properties_visual, init_measurement_sensing_visual, init_media_analytics_visual, init_multisensory_haptic_visual, init_music_performance_visual, init_musical_sound_visual, init_narrative_storytelling_visual, init_nature_life_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_scifi_technology_visual, init_shape_form_visual, init_signs_communication_visual, init_simple_modifiers_visual, init_size_scale_visual, init_social_commerce_visual, init_social_effects_visual, init_sports_fitness_visual, init_state_persistence_visual, init_surface_texture_visual, init_time_period_visual, init_transportation_vehicles_visual, init_visual_effects_visual, init_volumetric_webgpu_visual, init_water_fluid_visual, init_weather_particles_visual, init_weather_phenomena_visual, init_xr_platform_visual } from '../chunk-XT6JY5W5.js';
17
16
  export { ACCESSIBILITY_EXTENDED_VISUALS, ACCESSIBILITY_VISUALS, AGE_CONDITION_VISUALS, ANIMALS_VISUALS, ARCHITECTURE_REALESTATE_VISUALS, AUDIO_VISUALS, CONSTRUCTION_BUILDING_VISUALS, CONTAINERS_STORAGE_VISUALS, COOKING_FOOD_VISUALS, CORE_VR_INTERACTION_VISUALS, CREATURES_MYTHICAL_VISUALS, DATA_VISUALIZATION_VISUALS, EDUCATION_LEARNING_VISUALS, EMOTION_MOOD_VISUALS, ENVIRONMENTAL_BIOME_VISUALS, ENVIRONMENT_INPUT_VISUALS, FABRIC_CLOTH_VISUALS, FURNITURE_DECOR_VISUALS, GAME_MECHANICS_VISUALS, GEMS_MINERALS_VISUALS, GEOSPATIAL_WEB3_VISUALS, HEALTHCARE_MEDICAL_VISUALS, HUMANOID_AVATAR_VISUALS, INTELLIGENCE_BEHAVIOR_VISUALS, INTEROP_COPRESENCE_VISUALS, IOT_AUTONOMOUS_AGENTS_VISUALS, LIGHTING_VISUALS, LOCOMOTION_MOVEMENT_VISUALS, MAGIC_FANTASY_VISUALS, MARITIME_NAVAL_VISUALS, MATERIAL_PROPERTIES_VISUALS, MEASUREMENT_SENSING_VISUALS, MEDIA_ANALYTICS_VISUALS, MULTISENSORY_HAPTIC_VISUALS, MUSICAL_SOUND_VISUALS, MUSIC_PERFORMANCE_VISUALS, NARRATIVE_STORYTELLING_VISUALS, NATURE_LIFE_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, SCIFI_TECHNOLOGY_VISUALS, SHAPE_FORM_VISUALS, SIGNS_COMMUNICATION_VISUALS, SIMPLE_MODIFIERS_VISUALS, SIZE_SCALE_VISUALS, SOCIAL_COMMERCE_VISUALS, SOCIAL_EFFECTS_VISUALS, SPORTS_FITNESS_VISUALS, STATE_PERSISTENCE_VISUALS, SURFACE_TEXTURE_VISUALS, TIME_PERIOD_VISUALS, TRANSPORTATION_VEHICLES_VISUALS, VISUAL_EFFECTS_VISUALS, VOLUMETRIC_WEBGPU_VISUALS, WATER_FLUID_VISUALS, WEATHER_PARTICLES_VISUALS, WEATHER_PHENOMENA_VISUALS, XR_PLATFORM_VISUALS } from '../chunk-XT6JY5W5.js';
17
+ import { init_BotanicalLotusTrait } from '../chunk-QRPRIJ2W.js';
18
+ 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, lotusMorphogen2DPeaks, lotusMorphogen2DSampleAt, lotusMorphogenPeaks, lotusPetalGeometryParamsFromProfile, lotusPetalRenderColor, lotusPetalTurgorOpenProgress, lotusPetalTurgorTipDeg, lotusPondSurface, normalizeBotanicalLotusConfig, simulateLotusMorphogenesis, simulateLotusPetalGrowth, simulateLotusPhyllotaxis, stepLotusMeristem, stepLotusMorphogen, stepLotusMorphogen2D, stepLotusPetalTurgor, stepLotusPond, validateBotanicalLotusConfig } from '../chunk-QRPRIJ2W.js';
18
19
  import { init_ProvenanceSemiring, ProvenanceSemiring } from '../chunk-TJHVSBP2.js';
19
20
  import { init_composition_rules, init_TraitCompositor, init_TraitVisualRegistry, init_types } from '../chunk-4C57PR42.js';
20
21
  export { COMPOSITION_RULES, TraitCompositor, TraitVisualRegistry, VISUAL_LAYER_PRIORITY } from '../chunk-4C57PR42.js';
@@ -6874,7 +6875,7 @@ async function buildReceipt(result, config, molecule) {
6874
6875
  async function dispatchVQE(config, moleculeAtoms, onEnergy) {
6875
6876
  const t0 = Date.now();
6876
6877
  try {
6877
- const qmBridge = await import('@holoscript/qm-bridge').catch(() => null);
6878
+ const qmBridge = await import('../src-HCCCSYP7.js').catch(() => null);
6878
6879
  if (qmBridge && typeof qmBridge.createIBMQuantumBackend === "function") {
6879
6880
  const createBackend = qmBridge.createIBMQuantumBackend;
6880
6881
  const backend = createBackend({
@@ -8091,6 +8092,9 @@ contract PackageVerifier {
8091
8092
  }
8092
8093
  };
8093
8094
 
8095
+ // src/traits/index.ts
8096
+ init_BotanicalLotusTrait();
8097
+
8094
8098
  // src/traits/BioluminescentTrait.ts
8095
8099
  var DEFAULT_PULSE_BPM = 12;
8096
8100
  var DEFAULT_RADIUS_FALLOFF = 2.5;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@holoscript/core",
3
- "version": "8.0.0",
3
+ "version": "8.0.2",
4
4
  "description": "Core parser, AST, compiler infrastructure, trait system, and runtime for HoloScript — the open AI-spatial reality protocol for 3D/XR/IoT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -218,10 +218,10 @@
218
218
  "zod": "^4.3.6",
219
219
  "@holoscript/core-types": "^6.1.0",
220
220
  "@holoscript/agent-protocol": "^6.1.0",
221
- "@holoscript/assimp-plugin": "^0.1.0",
222
- "@holoscript/mesh": "^6.1.2",
221
+ "@holoscript/platform": "^6.1.1",
223
222
  "@holoscript/llm-provider": "^1.2.1",
224
- "@holoscript/platform": "^6.1.1"
223
+ "@holoscript/assimp-plugin": "^0.1.0",
224
+ "@holoscript/mesh": "^6.1.2"
225
225
  },
226
226
  "optionalDependencies": {
227
227
  "@gltf-transform/core": "^3.7.0",
@@ -246,39 +246,39 @@
246
246
  "tree-sitter-typescript": "^0.23.2",
247
247
  "web-tree-sitter": "^0.24.0",
248
248
  "ws": "^8.16.0",
249
- "@holoscript/alphafold-plugin": "^2.0.0",
250
- "@holoscript/medical-plugin": "^2.0.0",
251
249
  "@holoscript/domain-plugin-template": "^0.0.1-template",
252
- "@holoscript/narupa-plugin": "^2.0.0",
250
+ "@holoscript/medical-plugin": "^2.0.0",
251
+ "@holoscript/plugin-banking-finance": "^2.0.0",
252
+ "@holoscript/alphafold-plugin": "^2.0.0",
253
253
  "@holoscript/plugin-civil-engineering": "^2.0.0",
254
254
  "@holoscript/plugin-economic-primitives": "^2.0.0",
255
- "@holoscript/plugin-banking-finance": "^2.0.0",
256
255
  "@holoscript/plugin-culture-keyword": "^2.0.0",
256
+ "@holoscript/plugin-education-lms": "^2.0.0",
257
+ "@holoscript/narupa-plugin": "^2.0.0",
257
258
  "@holoscript/plugin-fashion": "^2.0.0",
258
259
  "@holoscript/plugin-film3d-volumetrics": "^2.0.1",
259
- "@holoscript/plugin-film-vfx": "^2.0.0",
260
260
  "@holoscript/plugin-emergency-response": "^2.0.0",
261
- "@holoscript/plugin-education-lms": "^2.0.0",
261
+ "@holoscript/plugin-film-vfx": "^2.0.0",
262
+ "@holoscript/plugin-hr-workforce": "^2.0.0",
262
263
  "@holoscript/plugin-fitness-wellness": "^2.0.0",
264
+ "@holoscript/plugin-legal-document": "^2.0.0",
263
265
  "@holoscript/plugin-geolocation-gis": "^2.0.0",
264
- "@holoscript/plugin-forensics": "^2.0.0",
265
- "@holoscript/plugin-hardware-invention": "^2.0.0",
266
- "@holoscript/plugin-hr-workforce": "^2.0.0",
267
266
  "@holoscript/plugin-insurance": "^2.0.0",
268
- "@holoscript/plugin-legal-document": "^2.0.0",
269
- "@holoscript/plugin-neuroscience": "^2.0.0",
270
267
  "@holoscript/plugin-manufacturing-qc": "^2.0.0",
268
+ "@holoscript/plugin-forensics": "^2.0.0",
269
+ "@holoscript/plugin-neuroscience": "^2.0.0",
271
270
  "@holoscript/plugin-restaurant": "^2.0.0",
272
- "@holoscript/plugin-travel-hospitality": "^2.0.0",
273
- "@holoscript/plugin-urban-planning": "^2.0.0",
274
- "@holoscript/plugin-retail-ecommerce": "^2.0.0",
275
271
  "@holoscript/plugin-trait-audit": "^2.0.0",
276
- "@holoscript/plugin-therapy": "^2.0.0",
272
+ "@holoscript/plugin-retail-ecommerce": "^2.0.0",
273
+ "@holoscript/plugin-travel-hospitality": "^2.0.0",
277
274
  "@holoscript/plugin-wine-food-beverage": "^2.0.0",
278
- "@holoscript/robotics-plugin": "^2.0.0",
279
275
  "@holoscript/plugin-threat-intelligence": "^2.0.0",
276
+ "@holoscript/plugin-therapy": "^2.0.0",
277
+ "@holoscript/plugin-hardware-invention": "^2.0.0",
280
278
  "@holoscript/plugin-wisdom-gotcha": "^2.0.0",
281
- "@holoscript/radio-astronomy-plugin": "^2.0.1"
279
+ "@holoscript/plugin-urban-planning": "^2.0.0",
280
+ "@holoscript/radio-astronomy-plugin": "^2.0.1",
281
+ "@holoscript/robotics-plugin": "^2.0.0"
282
282
  },
283
283
  "peerDependencies": {
284
284
  "@pixiv/three-vrm": "^2.0.0",
@@ -319,8 +319,8 @@
319
319
  "typedoc": "^0.28.19",
320
320
  "typescript": "~5.9.3",
321
321
  "vitest": "^4.1.5",
322
- "@holoscript/engine": "6.1.2",
323
- "@holoscript/framework": "6.1.1"
322
+ "@holoscript/framework": "6.1.1",
323
+ "@holoscript/engine": "6.1.2"
324
324
  },
325
325
  "scripts": {
326
326
  "verify:workspace": "node scripts/verify-internal-workspace-protocol.mjs",
@@ -1,10 +0,0 @@
1
- export { HoloScriptRuntime } from './chunk-3NFFOWGG.js';
2
- import './chunk-XL6INWKT.js';
3
- import './chunk-RARB3MBR.js';
4
- import './chunk-URG2SJLK.js';
5
- import './chunk-H652NHX5.js';
6
- import './chunk-PHENW4MQ.js';
7
- import './chunk-VVKVQZI6.js';
8
- import './chunk-OL46QLBJ.js';
9
- //# sourceMappingURL=HoloScriptRuntime-3URVTKPJ.js.map
10
- //# sourceMappingURL=HoloScriptRuntime-3URVTKPJ.js.map
@@ -1,474 +0,0 @@
1
- // src/traits/BotanicalLotusTrait.ts
2
- var DEFAULT_BOTANICAL_LOTUS_CONFIG = {
3
- schema: "holoscript.trait.botanical_lotus.v0",
4
- status: "visual_seed",
5
- source: {
6
- kind: "conversation_reference_images",
7
- count: 3,
8
- content_hash_status: "pending_media_ingest",
9
- wallet_signature_status: "pending_cael_anchor",
10
- note: "Derived from three pink lotus reference images provided in-thread; raw media ingest is pending."
11
- },
12
- reference_anchors: [
13
- {
14
- id: "lotus-reference-2026-05-06-01",
15
- label: "open pink lotus close-up",
16
- uri: "conversation://2026-05-06/lotus-reference-01",
17
- role: "material",
18
- status: "pending_media_ingest"
19
- },
20
- {
21
- id: "lotus-reference-2026-05-06-02",
22
- label: "upright pink lotus silhouette",
23
- uri: "conversation://2026-05-06/lotus-reference-02",
24
- role: "silhouette",
25
- status: "pending_media_ingest"
26
- },
27
- {
28
- id: "lotus-reference-2026-05-06-03",
29
- label: "pink lotus with leaves and water context",
30
- uri: "conversation://2026-05-06/lotus-reference-03",
31
- role: "leaf_context",
32
- status: "pending_media_ingest"
33
- }
34
- ],
35
- material: {
36
- subsurface_scattering: 0.74,
37
- subsurface_radius_rgb: [0.9, 0.32, 0.72],
38
- petal_translucency_base: 0.68,
39
- petal_translucency_edge: 0.36,
40
- roughness: 0.72,
41
- ior: 1.36,
42
- vein_normal_intensity: 0.045,
43
- edge_curl_intensity: 0.58,
44
- gravity_sag_outer: 0.3
45
- },
46
- colors: {
47
- petal_base: "#fff1f6",
48
- petal_mid: "#f47ab7",
49
- petal_inner: "#ff9ecf",
50
- petal_rim: "#c42a86",
51
- petal_shadow: "#84205f",
52
- seed_pod: "#f4d74a",
53
- seed_pod_rim: "#b7c66b",
54
- stamen: "#f59e0b",
55
- stamen_tip: "#fff4bd",
56
- leaf: "#235f4f",
57
- leaf_dark: "#102f28",
58
- water: "#07140f"
59
- },
60
- geometry: {
61
- petal_rings: [
62
- { name: "inner", count: 8, cup: 0.86, gravity_sag: 0.02 },
63
- { name: "mid", count: 13, cup: 0.5, gravity_sag: 0.12 },
64
- { name: "outer", count: 21, cup: 0.24, gravity_sag: 0.3 }
65
- ],
66
- petal_shape: "broad_elliptic_pointed_tip_with_center_ridge",
67
- stamen_filament_count: 58,
68
- seed_pod_dot_pattern: "1_center_7_12_18_radial"
69
- },
70
- renderer: {
71
- requires: ["sss_render", "instanced_filaments", "water_surface"],
72
- lod: {
73
- close: "full_filaments",
74
- mid: "simplified_filaments",
75
- far: "petal_billboard"
76
- },
77
- material_model: "thin_tissue_mesh_physical_material"
78
- }
79
- };
80
- var SHA256_HASH_PATTERN = /^sha256:[a-f0-9]{64}$/;
81
- var HEX_COLOR_PATTERN = /^#[0-9a-fA-F]{6}$/;
82
- var RING_RENDER_DEFAULTS = {
83
- inner: { radius: 0.32, length: 0.82, width: 0.34, pitch_degrees: 74 },
84
- mid: { radius: 0.58, length: 1.15, width: 0.46, pitch_degrees: 42 },
85
- outer: { radius: 0.92, length: 1.52, width: 0.58, pitch_degrees: 18 }
86
- };
87
- function cloneDefaultConfig() {
88
- const d = DEFAULT_BOTANICAL_LOTUS_CONFIG;
89
- return {
90
- ...d,
91
- source: { ...d.source },
92
- reference_anchors: d.reference_anchors.map((a) => ({ ...a })),
93
- material: {
94
- ...d.material,
95
- subsurface_radius_rgb: [...d.material.subsurface_radius_rgb]
96
- },
97
- colors: { ...d.colors },
98
- geometry: {
99
- ...d.geometry,
100
- petal_rings: d.geometry.petal_rings.map((r) => ({ ...r }))
101
- },
102
- renderer: {
103
- ...d.renderer,
104
- requires: [...d.renderer.requires],
105
- lod: { ...d.renderer.lod }
106
- }
107
- };
108
- }
109
- function isFiniteNumber(value) {
110
- return typeof value === "number" && Number.isFinite(value);
111
- }
112
- function addRangeError(errors, label, value, min, max) {
113
- if (!isFiniteNumber(value) || value < min || value > max) {
114
- errors.push(`${label} must be a finite number in [${min}, ${max}]`);
115
- }
116
- }
117
- function validateHexColors(errors, colors) {
118
- for (const [key, value] of Object.entries(colors)) {
119
- if (!HEX_COLOR_PATTERN.test(value)) {
120
- errors.push(`colors.${key} must be a 6-digit hex color`);
121
- }
122
- }
123
- }
124
- function validateReferenceAnchor(errors, anchor, index) {
125
- const prefix = `reference_anchors[${index}]`;
126
- if (!anchor.id || typeof anchor.id !== "string") {
127
- errors.push(`${prefix}.id is required`);
128
- }
129
- if (!anchor.uri || typeof anchor.uri !== "string") {
130
- errors.push(`${prefix}.uri is required`);
131
- }
132
- if (anchor.status !== "pending_media_ingest" && anchor.status !== "hashed" && anchor.status !== "wallet_signed") {
133
- errors.push(`${prefix}.status must be pending_media_ingest, hashed, or wallet_signed`);
134
- }
135
- if (anchor.status !== "pending_media_ingest") {
136
- if (!anchor.content_hash || !SHA256_HASH_PATTERN.test(anchor.content_hash)) {
137
- errors.push(`${prefix}.content_hash must be sha256:<64 lowercase hex chars>`);
138
- }
139
- }
140
- if (anchor.status === "wallet_signed" && !anchor.wallet_signature) {
141
- errors.push(`${prefix}.wallet_signature is required when status is wallet_signed`);
142
- }
143
- if (anchor.width !== void 0 && (!Number.isInteger(anchor.width) || anchor.width <= 0)) {
144
- errors.push(`${prefix}.width must be a positive integer when present`);
145
- }
146
- if (anchor.height !== void 0 && (!Number.isInteger(anchor.height) || anchor.height <= 0)) {
147
- errors.push(`${prefix}.height must be a positive integer when present`);
148
- }
149
- }
150
- function normalizeBotanicalLotusConfig(input = {}) {
151
- const d = cloneDefaultConfig();
152
- const inputGeometry = input.geometry ?? {};
153
- const inputRenderer = input.renderer ?? {};
154
- const petalRings = Array.isArray(inputGeometry.petal_rings) ? inputGeometry.petal_rings.map((r) => ({ ...r })) : d.geometry.petal_rings.map((r) => ({ ...r }));
155
- return {
156
- schema: input.schema ?? d.schema,
157
- status: input.status ?? d.status,
158
- source: {
159
- ...d.source,
160
- ...input.source ?? {}
161
- },
162
- reference_anchors: Array.isArray(input.reference_anchors) ? input.reference_anchors.map((a) => ({ ...a })) : d.reference_anchors,
163
- material: {
164
- ...d.material,
165
- ...input.material ?? {},
166
- subsurface_radius_rgb: [
167
- ...input.material?.subsurface_radius_rgb ?? d.material.subsurface_radius_rgb
168
- ]
169
- },
170
- colors: {
171
- ...d.colors,
172
- ...input.colors ?? {}
173
- },
174
- geometry: {
175
- ...d.geometry,
176
- ...inputGeometry,
177
- petal_rings: petalRings
178
- },
179
- renderer: {
180
- ...d.renderer,
181
- ...inputRenderer,
182
- requires: [...inputRenderer.requires ?? d.renderer.requires],
183
- lod: {
184
- ...d.renderer.lod,
185
- ...inputRenderer.lod ?? {}
186
- }
187
- }
188
- };
189
- }
190
- function validateBotanicalLotusConfig(input = {}) {
191
- const config = normalizeBotanicalLotusConfig(input);
192
- const errors = [];
193
- const { material, geometry } = config;
194
- if (config.schema !== "holoscript.trait.botanical_lotus.v0") {
195
- errors.push("schema must be holoscript.trait.botanical_lotus.v0");
196
- }
197
- if (config.status !== "visual_seed" && config.status !== "content_hashed" && config.status !== "wallet_signed") {
198
- errors.push("status must be visual_seed, content_hashed, or wallet_signed");
199
- }
200
- if (config.reference_anchors.length === 0) {
201
- errors.push("reference_anchors must include at least one anchor");
202
- }
203
- config.reference_anchors.forEach(
204
- (anchor, index) => validateReferenceAnchor(errors, anchor, index)
205
- );
206
- addRangeError(errors, "material.subsurface_scattering", material.subsurface_scattering, 0, 1);
207
- if (material.subsurface_radius_rgb.length !== 3) {
208
- errors.push("material.subsurface_radius_rgb must contain exactly three values");
209
- }
210
- material.subsurface_radius_rgb.forEach(
211
- (value, index) => addRangeError(errors, `material.subsurface_radius_rgb[${index}]`, value, 0, 2)
212
- );
213
- addRangeError(
214
- errors,
215
- "material.petal_translucency_base",
216
- material.petal_translucency_base,
217
- 0,
218
- 1
219
- );
220
- addRangeError(
221
- errors,
222
- "material.petal_translucency_edge",
223
- material.petal_translucency_edge,
224
- 0,
225
- 1
226
- );
227
- addRangeError(errors, "material.roughness", material.roughness, 0, 1);
228
- addRangeError(errors, "material.ior", material.ior, 1, 2.5);
229
- addRangeError(
230
- errors,
231
- "material.vein_normal_intensity",
232
- material.vein_normal_intensity,
233
- 0,
234
- 0.25
235
- );
236
- addRangeError(errors, "material.edge_curl_intensity", material.edge_curl_intensity, 0, 1);
237
- addRangeError(errors, "material.gravity_sag_outer", material.gravity_sag_outer, 0, 1);
238
- validateHexColors(errors, config.colors);
239
- if (geometry.petal_rings.length === 0) {
240
- errors.push("geometry.petal_rings must include at least one ring");
241
- }
242
- geometry.petal_rings.forEach((ring, index) => {
243
- if (!ring.name) {
244
- errors.push(`geometry.petal_rings[${index}].name is required`);
245
- }
246
- if (!Number.isInteger(ring.count) || ring.count <= 0) {
247
- errors.push(`geometry.petal_rings[${index}].count must be a positive integer`);
248
- }
249
- addRangeError(errors, `geometry.petal_rings[${index}].cup`, ring.cup, 0, 1);
250
- addRangeError(
251
- errors,
252
- `geometry.petal_rings[${index}].gravity_sag`,
253
- ring.gravity_sag,
254
- 0,
255
- 1
256
- );
257
- });
258
- if (!Number.isInteger(geometry.stamen_filament_count) || geometry.stamen_filament_count <= 0) {
259
- errors.push("geometry.stamen_filament_count must be a positive integer");
260
- }
261
- if (config.renderer.requires.length === 0) {
262
- errors.push("renderer.requires must include at least one render capability");
263
- }
264
- return {
265
- ok: errors.length === 0,
266
- errors,
267
- config
268
- };
269
- }
270
- function assertBotanicalLotusConfig(input = {}) {
271
- const result = validateBotanicalLotusConfig(input);
272
- if (!result.ok) {
273
- throw new Error(`Invalid botanical_lotus config: ${result.errors.join("; ")}`);
274
- }
275
- return result.config;
276
- }
277
- function deriveBotanicalLotusAnchorStatus(anchors) {
278
- if (anchors.length > 0 && anchors.every((anchor) => anchor.status === "wallet_signed")) {
279
- return "wallet_signed";
280
- }
281
- if (anchors.length > 0 && anchors.every((anchor) => anchor.status === "hashed" || anchor.status === "wallet_signed")) {
282
- return "hashed";
283
- }
284
- return "pending_media_ingest";
285
- }
286
- function getBotanicalLotusPetalCount(input = {}) {
287
- const config = normalizeBotanicalLotusConfig(input);
288
- return config.geometry.petal_rings.reduce((sum, ring) => sum + ring.count, 0);
289
- }
290
- function createBotanicalLotusRenderProfile(input = {}, placement, lighting) {
291
- const config = assertBotanicalLotusConfig(input);
292
- const anchorStatus = deriveBotanicalLotusAnchorStatus(config.reference_anchors);
293
- const petalRings = config.geometry.petal_rings.map((ring, index) => {
294
- const base = RING_RENDER_DEFAULTS[ring.name] ?? {
295
- radius: 0.42 + index * 0.24,
296
- length: 0.82 + index * 0.2,
297
- width: 0.34 + index * 0.08,
298
- pitch_degrees: Math.max(12, 70 - index * 18)
299
- };
300
- return {
301
- name: ring.name,
302
- count: ring.count,
303
- radius: base.radius,
304
- length: base.length,
305
- width: base.width,
306
- cup: ring.cup,
307
- gravity_sag: ring.gravity_sag,
308
- pitch_degrees: base.pitch_degrees
309
- };
310
- });
311
- return {
312
- trait: "botanical_lotus",
313
- anchor_status: anchorStatus,
314
- wallet_signed: anchorStatus === "wallet_signed",
315
- petal_count: petalRings.reduce((sum, ring) => sum + ring.count, 0),
316
- petal_rings: petalRings,
317
- pbr_uniforms: {
318
- subsurface_scattering: config.material.subsurface_scattering,
319
- subsurface_radius_rgb: config.material.subsurface_radius_rgb,
320
- transmission: config.material.petal_translucency_base,
321
- thickness: config.material.petal_translucency_edge,
322
- roughness: config.material.roughness,
323
- ior: config.material.ior,
324
- vein_normal_intensity: config.material.vein_normal_intensity
325
- },
326
- colors: config.colors,
327
- stamen_filament_count: config.geometry.stamen_filament_count,
328
- seed_pod_dot_pattern: config.geometry.seed_pod_dot_pattern,
329
- reference_anchor_ids: config.reference_anchors.map((anchor) => anchor.id),
330
- renderer_requires: config.renderer.requires,
331
- surface_anchor_id: placement?.surface_anchor_id,
332
- lighting_reference: lighting?.reference_id
333
- };
334
- }
335
- var botanicalLotusHandler = {
336
- name: "botanical_lotus",
337
- defaultConfig: DEFAULT_BOTANICAL_LOTUS_CONFIG,
338
- validate: validateBotanicalLotusConfig,
339
- toRenderProfile: createBotanicalLotusRenderProfile,
340
- onAttach(node, config, context) {
341
- const normalized = assertBotanicalLotusConfig(config);
342
- const profile = createBotanicalLotusRenderProfile(normalized);
343
- const state = { config: normalized, profile };
344
- node.__botanicalLotusState = state;
345
- const nodeId = String(node.id ?? "unknown");
346
- context.setState?.({
347
- [`botanical_lotus.${nodeId}.anchor_status`]: profile.anchor_status,
348
- [`botanical_lotus.${nodeId}.petal_count`]: profile.petal_count
349
- });
350
- context.emit?.("botanical_lotus_attached", {
351
- node,
352
- anchorStatus: profile.anchor_status,
353
- walletSigned: profile.wallet_signed,
354
- petalCount: profile.petal_count,
355
- referenceAnchorIds: profile.reference_anchor_ids,
356
- rendererRequires: profile.renderer_requires
357
- });
358
- },
359
- onDetach(node, _config, context) {
360
- context.emit?.("botanical_lotus_detached", { node });
361
- delete node.__botanicalLotusState;
362
- },
363
- onUpdate(_node, _config, _context, _delta) {
364
- },
365
- onEvent(node, _config, context, event) {
366
- const state = node.__botanicalLotusState;
367
- if (!state) return;
368
- if (event.type === "botanical_lotus_query") {
369
- context.emit?.("botanical_lotus_response", {
370
- queryId: event.queryId,
371
- node,
372
- config: state.config,
373
- profile: state.profile
374
- });
375
- return;
376
- }
377
- if (event.type === "botanical_lotus_reference_anchored") {
378
- const anchorId = String(event.anchorId ?? "");
379
- const contentHash = typeof event.contentHash === "string" ? event.contentHash : void 0;
380
- const walletSignature = typeof event.walletSignature === "string" ? event.walletSignature : void 0;
381
- if (!anchorId || !contentHash) return;
382
- const updatedAnchors = state.config.reference_anchors.map((anchor) => {
383
- if (anchor.id !== anchorId) return anchor;
384
- return {
385
- ...anchor,
386
- content_hash: contentHash,
387
- wallet_signature: walletSignature,
388
- status: walletSignature ? "wallet_signed" : "hashed"
389
- };
390
- });
391
- const updatedConfig = assertBotanicalLotusConfig({
392
- ...state.config,
393
- status: updatedAnchors.every((anchor) => anchor.status === "wallet_signed") ? "wallet_signed" : "content_hashed",
394
- source: {
395
- ...state.config.source,
396
- content_hash_status: deriveBotanicalLotusAnchorStatus(updatedAnchors),
397
- wallet_signature_status: updatedAnchors.every(
398
- (anchor) => anchor.status === "wallet_signed"
399
- ) ? "wallet_signed" : "pending_cael_anchor"
400
- },
401
- reference_anchors: updatedAnchors
402
- });
403
- state.config = updatedConfig;
404
- state.profile = createBotanicalLotusRenderProfile(updatedConfig, state.placement, state.lighting);
405
- context.emit?.("botanical_lotus_reference_updated", {
406
- node,
407
- anchorId,
408
- anchorStatus: state.profile.anchor_status,
409
- walletSigned: state.profile.wallet_signed,
410
- referenceAnchorIds: state.profile.reference_anchor_ids
411
- });
412
- return;
413
- }
414
- if (event.type === "holomap:surface_anchor_placed") {
415
- const payload = event.payload ?? {};
416
- const surfaceAnchorId = typeof payload.surfaceAnchorId === "string" ? payload.surfaceAnchorId : void 0;
417
- const surfaceNormal = Array.isArray(payload.surfaceNormal) ? payload.surfaceNormal : void 0;
418
- const worldPosition = Array.isArray(payload.worldPosition) ? payload.worldPosition : void 0;
419
- if (!surfaceAnchorId) return;
420
- state.placement = {
421
- surface_anchor_id: surfaceAnchorId,
422
- surface_normal: surfaceNormal,
423
- world_position: worldPosition
424
- };
425
- state.profile = createBotanicalLotusRenderProfile(state.config, state.placement, state.lighting);
426
- context.emit?.("botanical_lotus_surface_bound", {
427
- node,
428
- surfaceAnchorId,
429
- surfaceNormal,
430
- worldPosition
431
- });
432
- return;
433
- }
434
- if (event.type === "holomap:lighting_update") {
435
- const payload = event.payload ?? {};
436
- const referenceId = typeof payload.referenceId === "string" ? payload.referenceId : void 0;
437
- const estimatedLux = typeof payload.estimatedLux === "number" && Number.isFinite(payload.estimatedLux) ? payload.estimatedLux : void 0;
438
- const colorTemperatureK = typeof payload.colorTemperatureK === "number" && Number.isFinite(payload.colorTemperatureK) ? payload.colorTemperatureK : void 0;
439
- const dominantDirection = Array.isArray(payload.dominantDirection) ? payload.dominantDirection : void 0;
440
- if (!referenceId) return;
441
- state.lighting = {
442
- reference_id: referenceId,
443
- estimated_lux: estimatedLux,
444
- color_temperature_k: colorTemperatureK,
445
- dominant_direction: dominantDirection
446
- };
447
- state.profile = createBotanicalLotusRenderProfile(state.config, state.placement, state.lighting);
448
- context.emit?.("botanical_lotus_lighting_updated", {
449
- node,
450
- referenceId,
451
- estimatedLux,
452
- colorTemperatureK,
453
- dominantDirection
454
- });
455
- return;
456
- }
457
- if (event.type === "holomap:anchor_state_changed") {
458
- const payload = event.payload ?? {};
459
- const anchorFrameIndex = typeof payload.anchorFrameIndex === "number" ? payload.anchorFrameIndex : void 0;
460
- if (state.placement?.surface_anchor_id && anchorFrameIndex !== void 0) {
461
- context.emit?.("botanical_lotus_anchor_drift", {
462
- node,
463
- surfaceAnchorId: state.placement.surface_anchor_id,
464
- anchorFrameIndex
465
- });
466
- }
467
- return;
468
- }
469
- }
470
- };
471
-
472
- export { DEFAULT_BOTANICAL_LOTUS_CONFIG, assertBotanicalLotusConfig, botanicalLotusHandler, createBotanicalLotusRenderProfile, deriveBotanicalLotusAnchorStatus, getBotanicalLotusPetalCount, normalizeBotanicalLotusConfig, validateBotanicalLotusConfig };
473
- //# sourceMappingURL=chunk-VECQYRXL.js.map
474
- //# sourceMappingURL=chunk-VECQYRXL.js.map