@holoscript/core 6.0.2 → 6.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -38
- package/dist/GLTFPipeline-DEN36VNK.js +12 -0
- package/dist/GLTFPipeline-YPCAK236.cjs +33 -0
- package/dist/{HoloScriptPlusParser-BZR5DELQ.js → HoloScriptPlusParser-BN6KVRCM.js} +5 -5
- package/dist/{HoloScriptPlusParser-SBMYDNXO.cjs → HoloScriptPlusParser-NC5FE6AL.cjs} +16 -16
- package/dist/{USDZExporter-YA55ZS35.js → USDZExporter-NTMBNTDB.js} +3 -3
- package/dist/{USDZExporter-MHEHXZB4.cjs → USDZExporter-UWGWNMMD.cjs} +3 -3
- package/dist/{chunk-32TWR3HE.js → chunk-2CWOLHTE.js} +3 -4
- package/dist/{chunk-2UX5LRAP.cjs → chunk-33LSUQDD.cjs} +33 -31
- package/dist/{chunk-LBPEZQAF.js → chunk-3FJCK5XA.js} +7 -7
- package/dist/{chunk-EGIZHYJP.cjs → chunk-3SAK5KFL.cjs} +2 -4
- package/dist/{chunk-PJMOXFPR.cjs → chunk-4XSNJCLC.cjs} +25 -27
- package/dist/{chunk-HKCVM6OK.cjs → chunk-5BGSECRJ.cjs} +21 -21
- package/dist/{chunk-EMO7HAKJ.cjs → chunk-5O6TQC6M.cjs} +26 -30
- package/dist/{chunk-XSUZMPVQ.cjs → chunk-5OEOHAAW.cjs} +26 -26
- package/dist/{chunk-EJA7G2C4.cjs → chunk-5WUNN6ZN.cjs} +2 -2
- package/dist/{chunk-CQDOF3G7.cjs → chunk-6TZPZCOJ.cjs} +18 -18
- package/dist/{chunk-NRUB55IT.cjs → chunk-6UEHYZ7V.cjs} +18 -16
- package/dist/{chunk-V42NTCFH.js → chunk-6XSERL6L.js} +4230 -2197
- package/dist/{chunk-X4YVN7H3.cjs → chunk-72EQECGT.cjs} +37 -17
- package/dist/{chunk-4KJ2R7VP.cjs → chunk-7AGYRWKW.cjs} +19 -19
- package/dist/{chunk-UQW6SLM5.js → chunk-A7PIMZGU.js} +110 -19
- package/dist/{chunk-RT7LJRSF.cjs → chunk-ATSKSYVE.cjs} +1013 -6708
- package/dist/{chunk-WN3YF33G.cjs → chunk-B5TCIAPQ.cjs} +9 -10
- package/dist/{chunk-AIUXRS74.cjs → chunk-BF2235SI.cjs} +4275 -2242
- package/dist/{chunk-DIEDKX5B.cjs → chunk-BND3ST2K.cjs} +18 -16
- package/dist/{chunk-EPWRXL6S.js → chunk-BU7VWW2K.js} +29 -29
- package/dist/{chunk-6OQBLABR.js → chunk-BWFJEM5A.js} +368 -189
- package/dist/{chunk-ARNKA274.cjs → chunk-CAUCGUEA.cjs} +6 -6
- package/dist/{chunk-YCMQQQ5U.cjs → chunk-CBJSLA2E.cjs} +398 -219
- package/dist/{chunk-BU5ZAFMC.js → chunk-CDPGV4DN.js} +6 -7
- package/dist/{chunk-CO2VM2DK.js → chunk-CS2EMTGF.js} +10 -9
- package/dist/{chunk-AW7WAELW.js → chunk-DMG7C4H2.js} +4 -4
- package/dist/{chunk-XSF76QRU.js → chunk-DXJQDCFL.js} +3 -3
- package/dist/{chunk-4FCZDTD5.js → chunk-E3FWRT3Z.js} +7 -9
- package/dist/{chunk-KYM4XRFG.js → chunk-E3UALNFA.js} +4 -4
- package/dist/{chunk-GC3YU46J.js → chunk-EONILVMF.js} +2 -2
- package/dist/{chunk-VJVCD5T5.cjs → chunk-EQV4R3EV.cjs} +22 -22
- package/dist/{chunk-FEFHPUEM.cjs → chunk-F3HH56EB.cjs} +74 -658
- package/dist/{chunk-WYH4GVZ5.js → chunk-F4IULT7N.js} +2 -2
- package/dist/{chunk-XDXZM3ZP.cjs → chunk-FFKU7BTK.cjs} +19 -19
- package/dist/{chunk-NKRKT6V2.js → chunk-FHQVYCH2.js} +11 -10
- package/dist/{chunk-7H5UNJZD.cjs → chunk-FSF7EQVA.cjs} +11 -10
- package/dist/{chunk-KUJRR4FJ.js → chunk-G4VZTCIB.js} +9 -7
- package/dist/{chunk-A6GO3DPZ.cjs → chunk-G7CT3EMP.cjs} +4 -4
- package/dist/{chunk-EUFLX2PI.js → chunk-GGHSW2NN.js} +989 -6611
- package/dist/chunk-GVUR45UF.cjs +777 -0
- package/dist/{chunk-ODGMVILH.js → chunk-H5Z7NASB.js} +3 -3
- package/dist/{chunk-7KPI4EKH.cjs → chunk-HE7ULERA.cjs} +45 -49
- package/dist/{chunk-26TLYBFD.js → chunk-HPS76H7Q.js} +3 -3
- package/dist/{chunk-RE3OKSYF.cjs → chunk-HQUEA5R6.cjs} +6 -6
- package/dist/{chunk-ZGTGVSTZ.js → chunk-HYNTS5CP.js} +2 -2
- package/dist/{chunk-PBA6NXCT.cjs → chunk-IBDG74G2.cjs} +6 -3
- package/dist/chunk-IFNQFCTM.js +3098 -0
- package/dist/{chunk-ZL6VJ6SN.js → chunk-IWI6J7FX.js} +5 -5
- package/dist/{chunk-3KEU5QYY.cjs → chunk-K3JDKWGI.cjs} +118 -23
- package/dist/{chunk-NLPSZT4C.js → chunk-K6EKD26I.js} +6 -6
- package/dist/chunk-KCQ5NDYC.cjs +3172 -0
- package/dist/{chunk-ELLQPFAF.js → chunk-KED34ILP.js} +11 -9
- package/dist/{chunk-BY3B7ZYV.cjs → chunk-KSGXLT74.cjs} +3 -3
- package/dist/{chunk-65RFOWZI.js → chunk-L4G4RLXX.js} +9 -7
- package/dist/{chunk-4SMUJFHL.js → chunk-LDP5OK6G.js} +6 -3
- package/dist/{chunk-VZNKJZTT.cjs → chunk-LGGRPKTV.cjs} +82 -96
- package/dist/{chunk-C2QHVHZF.js → chunk-LSW7P7ML.js} +23 -414
- package/dist/{chunk-HHS6FMOU.cjs → chunk-LXJ4667L.cjs} +83 -22
- package/dist/{chunk-H6WMMLQK.cjs → chunk-LZ266PCM.cjs} +20 -13
- package/dist/{chunk-V2ILLPHK.cjs → chunk-MD6KDHVE.cjs} +10 -10
- package/dist/{chunk-6WNCRE6F.js → chunk-MEASWI2Y.js} +5 -5
- package/dist/chunk-MPXBVFHQ.js +768 -0
- package/dist/{chunk-WUXIRGZP.cjs → chunk-NCUKG4SK.cjs} +304 -144
- package/dist/chunk-NDQNIJEH.js +1715 -0
- package/dist/{chunk-Y5MUAYTO.js → chunk-NOZZ46QU.js} +9 -8
- package/dist/{chunk-F5LVGHNT.js → chunk-OFKWH2IP.js} +3 -3
- package/dist/{chunk-SPDELRRV.cjs → chunk-PMGODDJA.cjs} +12 -12
- package/dist/{chunk-I3XGTIHM.cjs → chunk-Q4QX3AET.cjs} +2 -2
- package/dist/{chunk-Y7VK5TH3.cjs → chunk-Q5JT3YML.cjs} +10 -10
- package/dist/{chunk-TSWTWZ42.cjs → chunk-Q5SJOGHQ.cjs} +247 -205
- package/dist/{chunk-M6FU6S22.js → chunk-QGKNANZ3.js} +251 -91
- package/dist/{chunk-WFJIDI2N.cjs → chunk-QLEAOI3Q.cjs} +10 -10
- package/dist/{chunk-VK5AXKO3.js → chunk-R7MA7QWV.js} +70 -84
- package/dist/{chunk-W76ETJTI.js → chunk-RVYPEYPX.js} +6 -6
- package/dist/{chunk-MWEFR6YQ.js → chunk-S2N5TNMA.js} +7 -9
- package/dist/{chunk-NCUHGRTZ.js → chunk-S565K7NK.js} +7 -7
- package/dist/{chunk-AC4BSHFV.js → chunk-SDAMZIRE.js} +5 -5
- package/dist/{chunk-HBZYCASG.js → chunk-T36DDXSF.js} +75 -33
- package/dist/{chunk-BO2OKHIY.js → chunk-T4NKMBDL.js} +30 -611
- package/dist/{chunk-7X2IEJIE.cjs → chunk-T7LEXZUZ.cjs} +29 -29
- package/dist/{chunk-HUFNKFA6.js → chunk-TEWCN33Y.js} +8 -12
- package/dist/{chunk-L3Z2HIWJ.cjs → chunk-TQSZUOW5.cjs} +2 -2
- package/dist/chunk-TSH3MSQU.cjs +129 -0
- package/dist/{chunk-PLMYCCA4.js → chunk-UERJ3YJV.js} +6 -6
- package/dist/{chunk-7N3JIJMT.js → chunk-UPJBDCVF.js} +6 -6
- package/dist/{chunk-CMYAWUX3.js → chunk-V3NN3HPP.js} +12 -5
- package/dist/{chunk-SUCBB66F.js → chunk-WB4Z63GG.js} +3 -3
- package/dist/{chunk-PPULB4GG.cjs → chunk-WDW67DZB.cjs} +68 -68
- package/dist/chunk-WGMEAYBG.js +126 -0
- package/dist/{chunk-VSXOIUCF.cjs → chunk-X4ZF6CNE.cjs} +7 -7
- package/dist/{chunk-HF4OFY25.cjs → chunk-X6SEAXAX.cjs} +29 -445
- package/dist/{chunk-C7BNX4XJ.js → chunk-XCWFGZAA.js} +6 -6
- package/dist/{chunk-CNVM7J3M.js → chunk-XD6IYDUX.js} +34 -14
- package/dist/chunk-XG23EUQX.cjs +1717 -0
- package/dist/{chunk-DN7UFU63.cjs → chunk-XRKWN5PL.cjs} +12 -11
- package/dist/{chunk-XNMEH2BI.js → chunk-XUTX5CBW.js} +3 -3
- package/dist/{chunk-PQLGZKMC.cjs → chunk-XWPNTWDN.cjs} +26 -26
- package/dist/{chunk-NTMZSDXM.cjs → chunk-XXINBTZK.cjs} +43 -43
- package/dist/{chunk-74YCHHTE.js → chunk-YCXFCXDS.js} +8 -12
- package/dist/{chunk-KDB6BUMB.js → chunk-YQK5JNFK.js} +77 -18
- package/dist/{chunk-DH5G2JUA.cjs → chunk-Z34RLXRA.cjs} +44 -46
- package/dist/{chunk-XH7SE4HH.cjs → chunk-ZP4D3CSX.cjs} +19 -19
- package/dist/cli/holoscript-runner.cjs +33 -32
- package/dist/cli/holoscript-runner.js +13 -12
- package/dist/codebase/index.cjs +1 -1
- package/dist/codebase/index.d.ts +25 -0
- package/dist/codebase/index.js +1 -1
- package/dist/compiler/agent-inference.cjs +7 -8
- package/dist/compiler/agent-inference.js +3 -4
- package/dist/compiler/android-xr.cjs +7 -8
- package/dist/compiler/android-xr.js +5 -6
- package/dist/compiler/android.cjs +8 -9
- package/dist/compiler/android.js +6 -7
- package/dist/compiler/ar.cjs +6 -7
- package/dist/compiler/ar.js +4 -5
- package/dist/compiler/babylon.cjs +8 -9
- package/dist/compiler/babylon.js +7 -8
- package/dist/compiler/coco.cjs +1 -1
- package/dist/compiler/coco.js +1 -1
- package/dist/compiler/domain-block-utils.cjs +158 -151
- package/dist/compiler/domain-block-utils.js +4 -5
- package/dist/compiler/dtdl.cjs +7 -8
- package/dist/compiler/dtdl.js +4 -5
- package/dist/compiler/gltf-pipeline.cjs +9 -9
- package/dist/compiler/gltf-pipeline.js +2 -2
- package/dist/compiler/godot.cjs +6 -7
- package/dist/compiler/godot.js +5 -6
- package/dist/compiler/incremental.cjs +7 -8
- package/dist/compiler/incremental.js +2 -3
- package/dist/compiler/index.cjs +1934 -878
- package/dist/compiler/index.js +1904 -842
- package/dist/compiler/ios.cjs +8 -9
- package/dist/compiler/ios.js +6 -7
- package/dist/compiler/multi-layer.cjs +10 -17
- package/dist/compiler/multi-layer.js +9 -10
- package/dist/compiler/nodetoy.cjs +1 -1
- package/dist/compiler/nodetoy.js +1 -1
- package/dist/compiler/openxr.cjs +6 -7
- package/dist/compiler/openxr.js +5 -6
- package/dist/compiler/playcanvas.cjs +7 -8
- package/dist/compiler/playcanvas.js +6 -7
- package/dist/compiler/r3f.cjs +13 -14
- package/dist/compiler/r3f.js +8 -9
- package/dist/compiler/remotion.cjs +1 -1
- package/dist/compiler/remotion.js +1 -1
- package/dist/compiler/reproducibility.cjs +1 -1
- package/dist/compiler/reproducibility.js +1 -1
- package/dist/compiler/sdf.cjs +7 -8
- package/dist/compiler/sdf.js +5 -6
- package/dist/compiler/semantic-scene.cjs +7 -7
- package/dist/compiler/semantic-scene.js +2 -2
- package/dist/compiler/state.cjs +5 -6
- package/dist/compiler/state.js +3 -4
- package/dist/compiler/trait-composition.cjs +7 -8
- package/dist/compiler/trait-composition.js +3 -4
- package/dist/compiler/unity.cjs +6 -7
- package/dist/compiler/unity.js +5 -6
- package/dist/compiler/unreal.cjs +7 -8
- package/dist/compiler/unreal.js +5 -6
- package/dist/compiler/urdf.cjs +13 -14
- package/dist/compiler/urdf.js +5 -6
- package/dist/compiler/usd-physics.cjs +7 -8
- package/dist/compiler/usd-physics.js +4 -5
- package/dist/compiler/visionos.cjs +6 -7
- package/dist/compiler/visionos.js +5 -6
- package/dist/compiler/vrchat.cjs +7 -8
- package/dist/compiler/vrchat.js +5 -6
- package/dist/compiler/vrr.cjs +7 -8
- package/dist/compiler/vrr.js +5 -6
- package/dist/compiler/wasm.cjs +10 -11
- package/dist/compiler/wasm.js +5 -6
- package/dist/compiler/webgpu.cjs +6 -7
- package/dist/compiler/webgpu.js +5 -6
- package/dist/constants.d.ts +3 -0
- package/dist/debugger.cjs +7 -7
- package/dist/debugger.js +5 -5
- package/dist/entries/interop.cjs +1 -1
- package/dist/entries/interop.d.ts +9 -0
- package/dist/entries/interop.js +1 -1
- package/dist/entries/scripting.cjs +18 -17
- package/dist/entries/scripting.d.ts +7 -0
- package/dist/entries/scripting.js +8 -7
- package/dist/index.cjs +6773 -27555
- package/dist/index.d.ts +19 -0
- package/dist/index.js +5212 -26101
- package/dist/math/vec3.cjs +1 -1
- package/dist/math/vec3.js +1 -1
- package/dist/ml-dsa-PHCWUBPX.cjs +1178 -0
- package/dist/ml-dsa-WYLJHJO6.js +1178 -0
- package/dist/parser.cjs +11 -10
- package/dist/parser.js +8 -7
- package/dist/{playwright-BIZXMLD2.js → playwright-5OSAPTNH.js} +3 -3
- package/dist/{playwright-7DTEQCBD.cjs → playwright-RL6GY4F7.cjs} +1985 -1985
- package/dist/runtime.cjs +5 -5
- package/dist/runtime.js +4 -4
- package/dist/self-improvement/index.d.ts +0 -48
- package/dist/storage/index.cjs +1 -1
- package/dist/storage/index.d.ts +24 -0
- package/dist/storage/index.js +1 -1
- package/dist/tools/index.d.ts +12 -0
- package/dist/traits/index.cjs +925 -607
- package/dist/traits/index.js +137 -20
- package/dist/type-checker.cjs +4 -4
- package/dist/type-checker.js +2 -2
- package/package.json +54 -19
- package/LICENSE +0 -21
- package/dist/GLTFPipeline-3KLWWUQO.cjs +0 -34
- package/dist/GLTFPipeline-LYII2ZVQ.js +0 -13
- package/dist/chunk-CN4NOESF.cjs +0 -416
- package/dist/chunk-DXVCEFZB.js +0 -2027
- package/dist/chunk-ENV7K6XA.js +0 -282
- package/dist/chunk-H7XMORZI.js +0 -2731
- package/dist/chunk-HAN4V3PF.cjs +0 -2037
- package/dist/chunk-LER4WXW5.cjs +0 -286
- package/dist/chunk-QHVVVN47.cjs +0 -2033
- package/dist/chunk-QWKUKVRE.js +0 -2026
- package/dist/chunk-UITWA6DV.cjs +0 -2829
- package/dist/chunk-X67XRI2T.js +0 -410
- package/dist/post-quantum-JTTAAGO3.cjs +0 -6
- package/dist/post-quantum-RVPVDEPI.js +0 -4
- package/dist/wot/index.cjs +0 -29
- package/dist/wot/index.js +0 -4
package/dist/chunk-DXVCEFZB.js
DELETED
|
@@ -1,2027 +0,0 @@
|
|
|
1
|
-
import { CORE_VR_INTERACTION_TRAITS, HUMANOID_AVATAR_TRAITS, NETWORKING_AI_TRAITS, MEDIA_ANALYTICS_TRAITS, SOCIAL_EFFECTS_TRAITS, AUDIO_TRAITS, ENVIRONMENT_INPUT_TRAITS, ACCESSIBILITY_TRAITS, VOLUMETRIC_WEBGPU_TRAITS, IOT_AUTONOMOUS_AGENTS_TRAITS, INTEROP_COPRESENCE_TRAITS, GEOSPATIAL_WEB3_TRAITS, PHYSICS_EXPANSION_TRAITS, SIMPLE_MODIFIER_TRAITS, PARSER_CORE_UI_TRAITS, LOCOMOTION_MOVEMENT_TRAITS, OBJECT_INTERACTION_TRAITS, RESOURCE_GATHERING_TRAITS, GAME_MECHANICS_TRAITS, VISUAL_EFFECTS_TRAITS, ENVIRONMENTAL_BIOME_TRAITS, SOCIAL_COMMERCE_TRAITS, INTELLIGENCE_BEHAVIOR_TRAITS, STATE_PERSISTENCE_TRAITS, SAFETY_BOUNDARIES_TRAITS, MUSICAL_SOUND_TRAITS, MEASUREMENT_SENSING_TRAITS, NARRATIVE_STORYTELLING_TRAITS, WEATHER_PARTICLES_TRAITS, TRANSPORTATION_VEHICLES_TRAITS, CONSTRUCTION_BUILDING_TRAITS, NATURE_LIFE_TRAITS, MAGIC_FANTASY_TRAITS, SCIFI_TECHNOLOGY_TRAITS, EMOTION_MOOD_TRAITS, MULTISENSORY_HAPTIC_TRAITS, PHYSICAL_AFFORDANCES_TRAITS, PROCEDURAL_GENERATION_TRAITS, NPC_ROLES_TRAITS, XR_PLATFORM_TRAITS, DATA_VISUALIZATION_TRAITS, ACCESSIBILITY_EXTENDED_TRAITS, SPORTS_FITNESS_TRAITS, EDUCATION_LEARNING_TRAITS, HEALTHCARE_MEDICAL_TRAITS, ARCHITECTURE_REALESTATE_TRAITS, MUSIC_PERFORMANCE_TRAITS, COOKING_FOOD_TRAITS, WATER_FLUID_TRAITS, SIZE_SCALE_TRAITS, AGE_CONDITION_TRAITS, SHAPE_FORM_TRAITS, SURFACE_TEXTURE_TRAITS, LIGHTING_TRAITS, CONTAINERS_STORAGE_TRAITS, FABRIC_CLOTH_TRAITS, CREATURES_MYTHICAL_TRAITS, ANIMALS_TRAITS, SIGNS_COMMUNICATION_TRAITS, GEMS_MINERALS_TRAITS, WEATHER_PHENOMENA_TRAITS, MARITIME_NAVAL_TRAITS, FURNITURE_DECOR_TRAITS, TIME_PERIOD_TRAITS, MATERIAL_PROPERTIES_TRAITS, FABRICATION_DEVICES_TRAITS, ROBOTICS_INDUSTRIAL_TRAITS, SCIENTIFIC_COMPUTING_TRAITS, V43_AI_XR_TRAITS, ENTERPRISE_MULTITENANCY_TRAITS, ANALYTICS_OBSERVABILITY_TRAITS, SECURITY_CRYPTO_TRAITS, RENDERING_TRAITS } from './chunk-H7XMORZI.js';
|
|
2
|
-
import { init_geospatial, init_spatial_authoring, init_haptic_feedback, init_nearby_connections, init_foldable_display, init_samsung_dex, init_webxr, init_google_lens, init_depth_scanner, GEOSPATIAL_ARCORE_TRAITS, DEPTH_SCANNER_TRAITS, SPATIAL_AUTHORING_TRAITS, HAPTIC_FEEDBACK_TRAITS, NEARBY_CONNECTIONS_TRAITS, FOLDABLE_DISPLAY_TRAITS, SAMSUNG_DEX_TRAITS, WEBXR_TRAITS, GOOGLE_LENS_TRAITS } from './chunk-26TLYBFD.js';
|
|
3
|
-
import { init_ios_object_capture, init_airpods_spatial_audio, init_shareplay, init_uwb_positioning, init_face_tracking, init_lidar_scanner, init_roomplan, LIDAR_SCANNER_TRAITS, ROOMPLAN_TRAITS, IOS_OBJECT_CAPTURE_TRAITS, AIRPODS_SPATIAL_AUDIO_TRAITS, SHAREPLAY_TRAITS, UWB_POSITIONING_TRAITS, FACE_TRACKING_TRAITS } from './chunk-SUCBB66F.js';
|
|
4
|
-
import { init_npu_scene, init_camera_hand_tracking, init_portal_ar, NPU_SCENE_TRAITS, CAMERA_HAND_TRACKING_TRAITS, PORTAL_AR_TRAITS } from './chunk-XNMEH2BI.js';
|
|
5
|
-
|
|
6
|
-
// src/traits/constants/scripting-automation.ts
|
|
7
|
-
var SCRIPTING_AUTOMATION_TRAITS = [
|
|
8
|
-
// ─── Scheduling & Timing ───────────────────────────────────────────
|
|
9
|
-
"cron",
|
|
10
|
-
// Timed execution (interval, cron patterns, jitter)
|
|
11
|
-
"scheduler",
|
|
12
|
-
// Multi-job scheduler with named jobs
|
|
13
|
-
// ─── Orchestration ─────────────────────────────────────────────────
|
|
14
|
-
"pipeline",
|
|
15
|
-
// Sequential/parallel step orchestration
|
|
16
|
-
"task_queue",
|
|
17
|
-
// Work queue with retry, priority, dead-letter
|
|
18
|
-
// ─── I/O & Integration ─────────────────────────────────────────────
|
|
19
|
-
"watcher",
|
|
20
|
-
// File/state/event watchers with debounce
|
|
21
|
-
"webhook",
|
|
22
|
-
// HTTP trigger (inbound) and callback (outbound)
|
|
23
|
-
"shell",
|
|
24
|
-
// Subprocess exec with timeout + output capture
|
|
25
|
-
// ─── Resilience ────────────────────────────────────────────────────
|
|
26
|
-
"retry",
|
|
27
|
-
// Exponential backoff with retry logic
|
|
28
|
-
"circuit_breaker",
|
|
29
|
-
// Standalone circuit breaker (half-open, metrics)
|
|
30
|
-
"rate_limiter",
|
|
31
|
-
// Token bucket / sliding window rate limiting
|
|
32
|
-
"timeout_guard",
|
|
33
|
-
// Configurable operation timeout wrapper
|
|
34
|
-
// ─── Data Flow ─────────────────────────────────────────────────────
|
|
35
|
-
"transform",
|
|
36
|
-
// Map/filter/reduce event streams
|
|
37
|
-
"buffer",
|
|
38
|
-
// Batch events by count or time window
|
|
39
|
-
"structured_logger"
|
|
40
|
-
// Structured logging sink with levels + rotation
|
|
41
|
-
];
|
|
42
|
-
|
|
43
|
-
// src/traits/constants/data-storage.ts
|
|
44
|
-
var DATA_STORAGE_TRAITS = [
|
|
45
|
-
// ─── Persistence ──────────────────────────────────────────────────
|
|
46
|
-
"database",
|
|
47
|
-
// Key-value / document store with CRUD lifecycle
|
|
48
|
-
"snapshot",
|
|
49
|
-
// State snapshot capture and restore
|
|
50
|
-
"migrate",
|
|
51
|
-
// Schema / data migration runner
|
|
52
|
-
// ─── Caching ──────────────────────────────────────────────────────
|
|
53
|
-
"cache",
|
|
54
|
-
// In-memory cache with TTL, LRU eviction, invalidation
|
|
55
|
-
// ─── Streaming ────────────────────────────────────────────────────
|
|
56
|
-
"stream",
|
|
57
|
-
// Event stream pub/sub with backpressure + replay
|
|
58
|
-
// ─── Query ────────────────────────────────────────────────────────
|
|
59
|
-
"query",
|
|
60
|
-
// Structured query builder (filter, sort, paginate)
|
|
61
|
-
"index"
|
|
62
|
-
// Secondary index for fast lookups by field
|
|
63
|
-
];
|
|
64
|
-
|
|
65
|
-
// src/traits/constants/observability.ts
|
|
66
|
-
var OBSERVABILITY_TRAITS = [
|
|
67
|
-
// ─── Alerting ─────────────────────────────────────────────────────
|
|
68
|
-
"alert",
|
|
69
|
-
// Threshold-based alerting with severity + cooldown
|
|
70
|
-
"incident",
|
|
71
|
-
// Incident lifecycle (open → acknowledged → resolved)
|
|
72
|
-
// ─── Health ───────────────────────────────────────────────────────
|
|
73
|
-
"healthcheck",
|
|
74
|
-
// Liveness / readiness probes with configurable checks
|
|
75
|
-
// ─── Performance ──────────────────────────────────────────────────
|
|
76
|
-
"profiler",
|
|
77
|
-
// CPU / memory / timing profiler with snapshots
|
|
78
|
-
"slo_monitor",
|
|
79
|
-
// SLO error budget tracking (latency, availability)
|
|
80
|
-
// ─── Logging ──────────────────────────────────────────────────────
|
|
81
|
-
"log_aggregator"
|
|
82
|
-
// Multi-source log collection, filtering, and routing
|
|
83
|
-
];
|
|
84
|
-
|
|
85
|
-
// src/traits/constants/communication.ts
|
|
86
|
-
var COMMUNICATION_TRAITS = [
|
|
87
|
-
// ─── Messaging ────────────────────────────────────────────────────
|
|
88
|
-
"email",
|
|
89
|
-
// SMTP email send with templates + attachments
|
|
90
|
-
"sms",
|
|
91
|
-
// SMS delivery via provider abstraction
|
|
92
|
-
"push_notification",
|
|
93
|
-
// Mobile / web push notifications
|
|
94
|
-
// ─── Chat Integrations ────────────────────────────────────────────
|
|
95
|
-
"slack",
|
|
96
|
-
// Slack webhook / incoming message
|
|
97
|
-
"discord",
|
|
98
|
-
// Discord webhook / bot message
|
|
99
|
-
// ─── Pub/Sub & Streaming ──────────────────────────────────────────
|
|
100
|
-
"mqtt_pub",
|
|
101
|
-
// MQTT publish to topic with QoS
|
|
102
|
-
"sse"
|
|
103
|
-
// Server-Sent Events endpoint
|
|
104
|
-
];
|
|
105
|
-
|
|
106
|
-
// src/traits/constants/ml-inference.ts
|
|
107
|
-
var ML_INFERENCE_TRAITS = [
|
|
108
|
-
// ─── Model Lifecycle ──────────────────────────────────────────────
|
|
109
|
-
"model_load",
|
|
110
|
-
// Load / unload ML model with warmup
|
|
111
|
-
"fine_tune",
|
|
112
|
-
// Fine-tuning job management
|
|
113
|
-
// ─── Execution ────────────────────────────────────────────────────
|
|
114
|
-
"inference",
|
|
115
|
-
// Run inference (text, image, structured)
|
|
116
|
-
"embedding",
|
|
117
|
-
// Generate vector embeddings
|
|
118
|
-
// ─── Retrieval ────────────────────────────────────────────────────
|
|
119
|
-
"vector_search",
|
|
120
|
-
// Nearest-neighbor similarity search
|
|
121
|
-
"prompt_template"
|
|
122
|
-
// Template management with variable substitution
|
|
123
|
-
];
|
|
124
|
-
|
|
125
|
-
// src/traits/constants/devops-ci.ts
|
|
126
|
-
var DEVOPS_CI_TRAITS = [
|
|
127
|
-
// ─── Deployment ───────────────────────────────────────────────────
|
|
128
|
-
"deploy",
|
|
129
|
-
// Deployment orchestration with stages
|
|
130
|
-
"rollback",
|
|
131
|
-
// Rollback to previous version
|
|
132
|
-
"canary",
|
|
133
|
-
// Canary / blue-green release gating
|
|
134
|
-
// ─── Configuration ────────────────────────────────────────────────
|
|
135
|
-
"feature_flag",
|
|
136
|
-
// Feature flag evaluation with variants
|
|
137
|
-
"env_config",
|
|
138
|
-
// Environment variable management
|
|
139
|
-
"secret"
|
|
140
|
-
// Secrets vault access with rotation
|
|
141
|
-
];
|
|
142
|
-
|
|
143
|
-
// src/traits/constants/auth-identity.ts
|
|
144
|
-
var AUTH_IDENTITY_TRAITS = [
|
|
145
|
-
// ─── Token Authentication ─────────────────────────────────────────
|
|
146
|
-
"jwt",
|
|
147
|
-
// JWT issue / verify / refresh
|
|
148
|
-
"oauth",
|
|
149
|
-
// OAuth 2.0 authorization code / token flow
|
|
150
|
-
"api_key",
|
|
151
|
-
// API key generation and validation
|
|
152
|
-
// ─── Session & Access ─────────────────────────────────────────────
|
|
153
|
-
"session",
|
|
154
|
-
// Session create / destroy / refresh
|
|
155
|
-
"permission",
|
|
156
|
-
// Role-based permission checks
|
|
157
|
-
"mfa"
|
|
158
|
-
// Multi-factor authentication (TOTP / SMS / WebAuthn)
|
|
159
|
-
];
|
|
160
|
-
|
|
161
|
-
// src/traits/constants/payment.ts
|
|
162
|
-
var PAYMENT_TRAITS = [
|
|
163
|
-
// ─── Payment Processing ───────────────────────────────────────────
|
|
164
|
-
"stripe",
|
|
165
|
-
// Stripe charge / payment intent
|
|
166
|
-
"invoice",
|
|
167
|
-
// Invoice generation and tracking
|
|
168
|
-
"subscription",
|
|
169
|
-
// Recurring subscription lifecycle
|
|
170
|
-
// ─── Financial Operations ─────────────────────────────────────────
|
|
171
|
-
"refund",
|
|
172
|
-
// Refund processing with reason tracking
|
|
173
|
-
"wallet",
|
|
174
|
-
// Digital wallet balance and transfers
|
|
175
|
-
// ─── x402 Protocol (HTTP 402 Payment Required) ────────────────────
|
|
176
|
-
"credit",
|
|
177
|
-
// x402 payment gate — returns HTTP 402 with USDC payment requirements
|
|
178
|
-
"x402_settlement",
|
|
179
|
-
// On-chain settlement via x402 facilitator (Base / Solana)
|
|
180
|
-
"micro_payment"
|
|
181
|
-
// In-memory micro-payment ledger (< $0.10, batch settled)
|
|
182
|
-
];
|
|
183
|
-
|
|
184
|
-
// src/traits/constants/media-content.ts
|
|
185
|
-
var MEDIA_CONTENT_TRAITS = [
|
|
186
|
-
"image_resize",
|
|
187
|
-
// Image resize / crop / convert
|
|
188
|
-
"video_transcode",
|
|
189
|
-
// Video format conversion and encoding
|
|
190
|
-
"pdf_generate",
|
|
191
|
-
// PDF document generation from templates
|
|
192
|
-
"markdown_render"
|
|
193
|
-
// Markdown to HTML rendering
|
|
194
|
-
];
|
|
195
|
-
|
|
196
|
-
// src/traits/constants/testing-qa.ts
|
|
197
|
-
var TESTING_QA_TRAITS = [
|
|
198
|
-
"mock",
|
|
199
|
-
// Mock object / function creation
|
|
200
|
-
"fixture",
|
|
201
|
-
// Test fixture / data setup
|
|
202
|
-
"snapshot_test",
|
|
203
|
-
// Snapshot comparison testing
|
|
204
|
-
"load_test",
|
|
205
|
-
// Load / stress test runner
|
|
206
|
-
"chaos_test"
|
|
207
|
-
// Chaos engineering fault injection
|
|
208
|
-
];
|
|
209
|
-
|
|
210
|
-
// src/traits/constants/workflow-bpm.ts
|
|
211
|
-
var WORKFLOW_BPM_TRAITS = [
|
|
212
|
-
"workflow",
|
|
213
|
-
// Multi-step workflow orchestration
|
|
214
|
-
"approval",
|
|
215
|
-
// Human-in-the-loop approval gate
|
|
216
|
-
"state_machine",
|
|
217
|
-
// Finite state machine with transitions
|
|
218
|
-
"form_builder"
|
|
219
|
-
// Dynamic form schema and rendering
|
|
220
|
-
];
|
|
221
|
-
|
|
222
|
-
// src/traits/constants/i18n-localization.ts
|
|
223
|
-
var I18N_LOCALIZATION_TRAITS = [
|
|
224
|
-
"locale",
|
|
225
|
-
// Locale detection and switching
|
|
226
|
-
"translation",
|
|
227
|
-
// Translation key lookup / ICU formatting
|
|
228
|
-
"rtl",
|
|
229
|
-
// Right-to-left layout management
|
|
230
|
-
"timezone"
|
|
231
|
-
// Timezone conversion and display
|
|
232
|
-
];
|
|
233
|
-
|
|
234
|
-
// src/traits/constants/data-pipeline.ts
|
|
235
|
-
var DATA_PIPELINE_TRAITS = [
|
|
236
|
-
"etl",
|
|
237
|
-
// Extract-Transform-Load pipeline
|
|
238
|
-
"batch_job",
|
|
239
|
-
// Batch processing job runner
|
|
240
|
-
"data_transform",
|
|
241
|
-
// Data transformation / mapping
|
|
242
|
-
"schema_migrate",
|
|
243
|
-
// Schema migration versioning
|
|
244
|
-
"data_quality"
|
|
245
|
-
// Data quality validation rules
|
|
246
|
-
];
|
|
247
|
-
|
|
248
|
-
// src/traits/constants/notification-alerting.ts
|
|
249
|
-
var NOTIFICATION_ALERTING_TRAITS = [
|
|
250
|
-
"webhook_out",
|
|
251
|
-
// Outbound webhook delivery
|
|
252
|
-
"pagerduty",
|
|
253
|
-
// PagerDuty incident alerting
|
|
254
|
-
"slack_alert"
|
|
255
|
-
// Slack channel alerting
|
|
256
|
-
];
|
|
257
|
-
|
|
258
|
-
// src/traits/constants/search.ts
|
|
259
|
-
var SEARCH_TRAITS = [
|
|
260
|
-
"full_text_search",
|
|
261
|
-
// Full-text search indexing and querying
|
|
262
|
-
"faceted_search",
|
|
263
|
-
// Faceted / filtered search
|
|
264
|
-
"autocomplete"
|
|
265
|
-
// Typeahead / autocomplete suggestions
|
|
266
|
-
];
|
|
267
|
-
|
|
268
|
-
// src/traits/constants/compliance-governance.ts
|
|
269
|
-
var COMPLIANCE_GOVERNANCE_TRAITS = [
|
|
270
|
-
"gdpr",
|
|
271
|
-
// GDPR data subject rights management
|
|
272
|
-
"data_retention",
|
|
273
|
-
// Data retention policy enforcement
|
|
274
|
-
"consent_management"
|
|
275
|
-
// Consent collection and tracking
|
|
276
|
-
];
|
|
277
|
-
|
|
278
|
-
// src/traits/constants/file-storage.ts
|
|
279
|
-
var FILE_STORAGE_TRAITS = [
|
|
280
|
-
"s3_upload",
|
|
281
|
-
// S3-compatible object storage upload
|
|
282
|
-
"file_system",
|
|
283
|
-
// Local/remote file system operations
|
|
284
|
-
"blob_store"
|
|
285
|
-
// Binary large object storage
|
|
286
|
-
];
|
|
287
|
-
|
|
288
|
-
// src/traits/constants/api-gateway.ts
|
|
289
|
-
var API_GATEWAY_TRAITS = [
|
|
290
|
-
"graphql",
|
|
291
|
-
// GraphQL schema/resolver management
|
|
292
|
-
"rest_endpoint",
|
|
293
|
-
// REST API endpoint definition
|
|
294
|
-
"rpc"
|
|
295
|
-
// Remote procedure call handler
|
|
296
|
-
];
|
|
297
|
-
|
|
298
|
-
// src/traits/constants/feature-flags.ts
|
|
299
|
-
var FEATURE_FLAGS_TRAITS = [
|
|
300
|
-
"abtest",
|
|
301
|
-
// A/B test variant assignment
|
|
302
|
-
"rollout"
|
|
303
|
-
// Gradual percentage-based rollout
|
|
304
|
-
];
|
|
305
|
-
|
|
306
|
-
// src/traits/constants/audit-trail.ts
|
|
307
|
-
var AUDIT_TRAIL_TRAITS = [
|
|
308
|
-
"change_tracking",
|
|
309
|
-
// Entity change history tracking
|
|
310
|
-
"data_lineage"
|
|
311
|
-
// Data origin and transformation lineage
|
|
312
|
-
];
|
|
313
|
-
|
|
314
|
-
// src/traits/constants/gpu-compute.ts
|
|
315
|
-
var GPU_COMPUTE_TRAITS = [
|
|
316
|
-
"compute_shader",
|
|
317
|
-
// Custom GPU compute shader
|
|
318
|
-
"render_pipeline",
|
|
319
|
-
// Custom rendering pipeline
|
|
320
|
-
"post_process",
|
|
321
|
-
// Post-processing effect chain
|
|
322
|
-
"ray_trace"
|
|
323
|
-
// Ray-tracing integration
|
|
324
|
-
];
|
|
325
|
-
|
|
326
|
-
// src/traits/constants/ml-tensor.ts
|
|
327
|
-
var ML_TENSOR_TRAITS = [
|
|
328
|
-
"tensor_op",
|
|
329
|
-
// Tensor creation and manipulation
|
|
330
|
-
"onnx_runtime",
|
|
331
|
-
// ONNX model execution
|
|
332
|
-
"training_loop"
|
|
333
|
-
// On-device training loop
|
|
334
|
-
];
|
|
335
|
-
|
|
336
|
-
// src/traits/constants/database-persistence.ts
|
|
337
|
-
var DATABASE_PERSISTENCE_TRAITS = [
|
|
338
|
-
"sql_query",
|
|
339
|
-
// Native SQL query execution
|
|
340
|
-
"orm_entity",
|
|
341
|
-
// ORM entity mapping
|
|
342
|
-
"offline_sync",
|
|
343
|
-
// Offline-first data synchronization
|
|
344
|
-
"reactive_store"
|
|
345
|
-
// Reactive state store with subscriptions
|
|
346
|
-
];
|
|
347
|
-
|
|
348
|
-
// src/traits/constants/spatial-algorithms.ts
|
|
349
|
-
var SPATIAL_ALGORITHMS_TRAITS = [
|
|
350
|
-
"astar",
|
|
351
|
-
// A* pathfinding
|
|
352
|
-
"navmesh_solver",
|
|
353
|
-
// Navigation mesh solver
|
|
354
|
-
"optimization"
|
|
355
|
-
// Constraint optimization solver
|
|
356
|
-
];
|
|
357
|
-
|
|
358
|
-
// src/traits/constants/debug-cinematic.ts
|
|
359
|
-
var DEBUG_CINEMATIC_TRAITS = [
|
|
360
|
-
"time_travel_debug",
|
|
361
|
-
// Time-travel debugging
|
|
362
|
-
"spatial_profiler",
|
|
363
|
-
// Spatial performance profiler
|
|
364
|
-
"cinematic_seq",
|
|
365
|
-
// Cinematic sequencing / timeline
|
|
366
|
-
"ai_camera"
|
|
367
|
-
// AI-driven camera director
|
|
368
|
-
];
|
|
369
|
-
|
|
370
|
-
// src/traits/constants/ffi-os.ts
|
|
371
|
-
var FFI_OS_TRAITS = [
|
|
372
|
-
"ffi",
|
|
373
|
-
// Foreign function interface
|
|
374
|
-
"native_call",
|
|
375
|
-
// Native platform call
|
|
376
|
-
"wasm_bridge",
|
|
377
|
-
// WebAssembly bridge
|
|
378
|
-
"sys_io"
|
|
379
|
-
// System I/O operations
|
|
380
|
-
];
|
|
381
|
-
|
|
382
|
-
// src/traits/constants/concurrency.ts
|
|
383
|
-
var CONCURRENCY_TRAITS = [
|
|
384
|
-
"actor",
|
|
385
|
-
// Actor model message passing
|
|
386
|
-
"csp_channel",
|
|
387
|
-
// CSP channel communication
|
|
388
|
-
"temporal_guard",
|
|
389
|
-
// Temporal logic guard
|
|
390
|
-
"deadlock_free"
|
|
391
|
-
// Deadlock-free guarantee marker
|
|
392
|
-
];
|
|
393
|
-
|
|
394
|
-
// src/traits/constants/hologram-media.ts
|
|
395
|
-
var HOLOGRAM_MEDIA_TRAITS = [
|
|
396
|
-
// Core pipeline
|
|
397
|
-
"depth_estimation",
|
|
398
|
-
"displacement",
|
|
399
|
-
"segment",
|
|
400
|
-
"animated_texture",
|
|
401
|
-
"holographic_sprite",
|
|
402
|
-
// Output formats
|
|
403
|
-
"quilt",
|
|
404
|
-
"gaussian_splatting",
|
|
405
|
-
"spatial_video",
|
|
406
|
-
// Media inputs
|
|
407
|
-
"image",
|
|
408
|
-
"depth_sequence",
|
|
409
|
-
// Modifiers
|
|
410
|
-
"temporal_smoothing",
|
|
411
|
-
"billboard",
|
|
412
|
-
"depth_to_normal"
|
|
413
|
-
];
|
|
414
|
-
|
|
415
|
-
// src/traits/constants/gaps-physics.ts
|
|
416
|
-
var GAPS_PHYSICS_TRAITS = [
|
|
417
|
-
// Pillar A: Unified Physics
|
|
418
|
-
"fluid",
|
|
419
|
-
// MLS-MPM GPU fluid (v3.0, replaces SPH default)
|
|
420
|
-
"soft_body_pro",
|
|
421
|
-
// PBD deformation with parametric tearing
|
|
422
|
-
"crowd_sim",
|
|
423
|
-
// GPU spatial hash + bitonic sort, 10K+ agents
|
|
424
|
-
"deformable_terrain",
|
|
425
|
-
// GPU hydraulic erosion, @weather-driven
|
|
426
|
-
"volumetric_clouds",
|
|
427
|
-
// Raymarching + Beer-Lambert, reads @weather
|
|
428
|
-
"god_rays",
|
|
429
|
-
// Screen-space volumetric light scattering
|
|
430
|
-
// Weather Hub
|
|
431
|
-
"weather",
|
|
432
|
-
// Hub trait: day-night, auto-cycle, blackboard state
|
|
433
|
-
// Pillar B: Persistent World
|
|
434
|
-
"world_state",
|
|
435
|
-
// Loro CRDT persistent objects/terrain/NPC/inventory
|
|
436
|
-
"spatial_voice",
|
|
437
|
-
// WebRTC + HRTF spatialization
|
|
438
|
-
"lip_sync",
|
|
439
|
-
// WebAudio → viseme → morph targets
|
|
440
|
-
// Pillar C: Living Economy
|
|
441
|
-
"ai_companion",
|
|
442
|
-
// PPA + RAG + SNN hybrid NPC
|
|
443
|
-
"token_gated",
|
|
444
|
-
// Wallet + NFT ownership check
|
|
445
|
-
"moderation",
|
|
446
|
-
// AI content moderation
|
|
447
|
-
"anti_grief"
|
|
448
|
-
// Behavioral griefing detection
|
|
449
|
-
];
|
|
450
|
-
|
|
451
|
-
// src/traits/constants/universal-service.ts
|
|
452
|
-
var UNIVERSAL_SERVICE_TRAITS = [
|
|
453
|
-
"service",
|
|
454
|
-
"endpoint",
|
|
455
|
-
"route",
|
|
456
|
-
"handler",
|
|
457
|
-
"middleware",
|
|
458
|
-
"api_gateway",
|
|
459
|
-
"reverse_proxy",
|
|
460
|
-
"load_balancer",
|
|
461
|
-
"service_discovery",
|
|
462
|
-
"service_mesh",
|
|
463
|
-
"sidecar",
|
|
464
|
-
"ingress",
|
|
465
|
-
"egress",
|
|
466
|
-
"cors_policy",
|
|
467
|
-
"rate_limiter",
|
|
468
|
-
"request_validator",
|
|
469
|
-
"response_transformer",
|
|
470
|
-
"api_version",
|
|
471
|
-
"webhook_sender",
|
|
472
|
-
"webhook_receiver",
|
|
473
|
-
"sse_endpoint",
|
|
474
|
-
"batch_endpoint",
|
|
475
|
-
"file_upload",
|
|
476
|
-
"multipart_handler",
|
|
477
|
-
"graphql_resolver",
|
|
478
|
-
"rest_resource",
|
|
479
|
-
"rpc_method",
|
|
480
|
-
"health_endpoint"
|
|
481
|
-
];
|
|
482
|
-
var UNIVERSAL_CONTRACT_TRAITS = [
|
|
483
|
-
"contract",
|
|
484
|
-
"schema",
|
|
485
|
-
"validator",
|
|
486
|
-
"serializer",
|
|
487
|
-
"json_schema",
|
|
488
|
-
"avro_schema",
|
|
489
|
-
"protobuf_message",
|
|
490
|
-
"graphql_type",
|
|
491
|
-
"graphql_input",
|
|
492
|
-
"graphql_enum",
|
|
493
|
-
"graphql_union",
|
|
494
|
-
"graphql_directive",
|
|
495
|
-
"openapi_path",
|
|
496
|
-
"openapi_response",
|
|
497
|
-
"openapi_security",
|
|
498
|
-
"asyncapi_channel",
|
|
499
|
-
"asyncapi_message",
|
|
500
|
-
"contract_test",
|
|
501
|
-
"consumer_contract",
|
|
502
|
-
"schema_evolution",
|
|
503
|
-
"backward_compatible",
|
|
504
|
-
"forward_compatible",
|
|
505
|
-
"input_sanitizer",
|
|
506
|
-
"output_filter",
|
|
507
|
-
"data_transformer",
|
|
508
|
-
"dto"
|
|
509
|
-
];
|
|
510
|
-
var UNIVERSAL_DATA_TRAITS = [
|
|
511
|
-
"db",
|
|
512
|
-
"model",
|
|
513
|
-
"query",
|
|
514
|
-
"migration",
|
|
515
|
-
"cache",
|
|
516
|
-
"relational_db",
|
|
517
|
-
"document_db",
|
|
518
|
-
"key_value_store",
|
|
519
|
-
"graph_db",
|
|
520
|
-
"time_series_db",
|
|
521
|
-
"vector_db",
|
|
522
|
-
"search_index",
|
|
523
|
-
"full_text_search",
|
|
524
|
-
"data_warehouse",
|
|
525
|
-
"data_lake",
|
|
526
|
-
"materialized_view",
|
|
527
|
-
"read_replica",
|
|
528
|
-
"connection_pool",
|
|
529
|
-
"transaction",
|
|
530
|
-
"saga",
|
|
531
|
-
"cqrs_command",
|
|
532
|
-
"cqrs_query",
|
|
533
|
-
"event_store",
|
|
534
|
-
"projection",
|
|
535
|
-
"aggregate_root",
|
|
536
|
-
"repository",
|
|
537
|
-
"unit_of_work",
|
|
538
|
-
"data_mapper",
|
|
539
|
-
"identity_map",
|
|
540
|
-
"lazy_load",
|
|
541
|
-
"eager_load",
|
|
542
|
-
"cursor_pagination",
|
|
543
|
-
"offset_pagination",
|
|
544
|
-
"soft_delete",
|
|
545
|
-
"audit_column",
|
|
546
|
-
"version_column",
|
|
547
|
-
"tenant_column",
|
|
548
|
-
"sharding_key"
|
|
549
|
-
];
|
|
550
|
-
var UNIVERSAL_NETWORK_TRAITS = [
|
|
551
|
-
"http",
|
|
552
|
-
"websocket",
|
|
553
|
-
"grpc",
|
|
554
|
-
"graphql",
|
|
555
|
-
"tcp_server",
|
|
556
|
-
"tcp_client",
|
|
557
|
-
"udp_server",
|
|
558
|
-
"udp_client",
|
|
559
|
-
"http2_server",
|
|
560
|
-
"http3_server",
|
|
561
|
-
"quic_transport",
|
|
562
|
-
"tls_config",
|
|
563
|
-
"mtls_config",
|
|
564
|
-
"dns_resolver",
|
|
565
|
-
"cdn_config",
|
|
566
|
-
"cors_config",
|
|
567
|
-
"csp_config",
|
|
568
|
-
"hsts_config",
|
|
569
|
-
"session_config",
|
|
570
|
-
"oauth2_config",
|
|
571
|
-
"oidc_provider",
|
|
572
|
-
"api_key_auth",
|
|
573
|
-
"bearer_auth",
|
|
574
|
-
"jwt_config",
|
|
575
|
-
"jwt_issuer",
|
|
576
|
-
"jwt_verifier",
|
|
577
|
-
"rate_limit_config",
|
|
578
|
-
"throttle_config",
|
|
579
|
-
"backpressure",
|
|
580
|
-
"connection_drain"
|
|
581
|
-
];
|
|
582
|
-
var UNIVERSAL_PIPELINE_TRAITS = [
|
|
583
|
-
"pipeline",
|
|
584
|
-
"stream",
|
|
585
|
-
"queue",
|
|
586
|
-
"worker",
|
|
587
|
-
"scheduler",
|
|
588
|
-
"etl_pipeline",
|
|
589
|
-
"data_flow",
|
|
590
|
-
"dag",
|
|
591
|
-
"batch_job",
|
|
592
|
-
"micro_batch",
|
|
593
|
-
"real_time_stream",
|
|
594
|
-
"change_data_capture",
|
|
595
|
-
"event_sourcing",
|
|
596
|
-
"message_broker",
|
|
597
|
-
"topic",
|
|
598
|
-
"subscription",
|
|
599
|
-
"dlq_handler",
|
|
600
|
-
"priority_queue",
|
|
601
|
-
"delay_queue",
|
|
602
|
-
"fanout",
|
|
603
|
-
"content_router",
|
|
604
|
-
"message_filter",
|
|
605
|
-
"message_aggregator",
|
|
606
|
-
"message_splitter",
|
|
607
|
-
"message_enricher",
|
|
608
|
-
"idempotent_consumer",
|
|
609
|
-
"competing_consumer",
|
|
610
|
-
"workflow_engine",
|
|
611
|
-
"state_machine",
|
|
612
|
-
"saga_orchestrator",
|
|
613
|
-
"choreography",
|
|
614
|
-
"compensating_transaction"
|
|
615
|
-
];
|
|
616
|
-
var UNIVERSAL_METRIC_TRAITS = [
|
|
617
|
-
"metric",
|
|
618
|
-
"trace",
|
|
619
|
-
"log",
|
|
620
|
-
"health_check",
|
|
621
|
-
"prometheus_exporter",
|
|
622
|
-
"grafana_dashboard",
|
|
623
|
-
"alert_rule",
|
|
624
|
-
"alert_channel",
|
|
625
|
-
"slo",
|
|
626
|
-
"sli",
|
|
627
|
-
"error_budget",
|
|
628
|
-
"latency_percentile",
|
|
629
|
-
"throughput_counter",
|
|
630
|
-
"request_rate",
|
|
631
|
-
"error_rate",
|
|
632
|
-
"availability_monitor",
|
|
633
|
-
"uptime_monitor",
|
|
634
|
-
"synthetic_monitor",
|
|
635
|
-
"real_user_monitoring",
|
|
636
|
-
"apm_agent",
|
|
637
|
-
"profiler",
|
|
638
|
-
"memory_profiler",
|
|
639
|
-
"cpu_profiler",
|
|
640
|
-
"span",
|
|
641
|
-
"trace_context",
|
|
642
|
-
"sampling_strategy",
|
|
643
|
-
"structured_log",
|
|
644
|
-
"log_aggregator",
|
|
645
|
-
"audit_log",
|
|
646
|
-
"access_log"
|
|
647
|
-
];
|
|
648
|
-
var UNIVERSAL_CONTAINER_TRAITS = [
|
|
649
|
-
"container",
|
|
650
|
-
"deployment",
|
|
651
|
-
"scaling",
|
|
652
|
-
"secret",
|
|
653
|
-
"dockerfile",
|
|
654
|
-
"docker_compose",
|
|
655
|
-
"kubernetes_pod",
|
|
656
|
-
"kubernetes_service",
|
|
657
|
-
"kubernetes_deployment",
|
|
658
|
-
"kubernetes_statefulset",
|
|
659
|
-
"kubernetes_job",
|
|
660
|
-
"kubernetes_cronjob",
|
|
661
|
-
"kubernetes_configmap",
|
|
662
|
-
"kubernetes_ingress",
|
|
663
|
-
"kubernetes_hpa",
|
|
664
|
-
"kubernetes_pdb",
|
|
665
|
-
"kubernetes_network_policy",
|
|
666
|
-
"kubernetes_service_account",
|
|
667
|
-
"helm_chart",
|
|
668
|
-
"helm_values",
|
|
669
|
-
"terraform_resource",
|
|
670
|
-
"terraform_module",
|
|
671
|
-
"pulumi_resource",
|
|
672
|
-
"persistent_volume",
|
|
673
|
-
"storage_class",
|
|
674
|
-
"resource_quota",
|
|
675
|
-
"node_affinity",
|
|
676
|
-
"pod_affinity",
|
|
677
|
-
"toleration",
|
|
678
|
-
"init_container"
|
|
679
|
-
];
|
|
680
|
-
var UNIVERSAL_RESILIENCE_TRAITS = [
|
|
681
|
-
"circuit_breaker",
|
|
682
|
-
"retry",
|
|
683
|
-
"timeout",
|
|
684
|
-
"fallback",
|
|
685
|
-
"bulkhead",
|
|
686
|
-
"token_bucket",
|
|
687
|
-
"leaky_bucket",
|
|
688
|
-
"sliding_window",
|
|
689
|
-
"adaptive_concurrency",
|
|
690
|
-
"load_shedding",
|
|
691
|
-
"graceful_degradation",
|
|
692
|
-
"canary_release",
|
|
693
|
-
"blue_green_deploy",
|
|
694
|
-
"rolling_update",
|
|
695
|
-
"chaos_experiment",
|
|
696
|
-
"fault_injection",
|
|
697
|
-
"latency_injection",
|
|
698
|
-
"exponential_backoff",
|
|
699
|
-
"jitter_backoff",
|
|
700
|
-
"deadline_propagation",
|
|
701
|
-
"request_hedging",
|
|
702
|
-
"speculative_retry",
|
|
703
|
-
"idempotency_key",
|
|
704
|
-
"health_aggregator",
|
|
705
|
-
"dependency_check"
|
|
706
|
-
];
|
|
707
|
-
var UNIVERSAL_V6_TRAITS = [
|
|
708
|
-
...UNIVERSAL_SERVICE_TRAITS,
|
|
709
|
-
...UNIVERSAL_CONTRACT_TRAITS,
|
|
710
|
-
...UNIVERSAL_DATA_TRAITS,
|
|
711
|
-
...UNIVERSAL_NETWORK_TRAITS,
|
|
712
|
-
...UNIVERSAL_PIPELINE_TRAITS,
|
|
713
|
-
...UNIVERSAL_METRIC_TRAITS,
|
|
714
|
-
...UNIVERSAL_CONTAINER_TRAITS,
|
|
715
|
-
...UNIVERSAL_RESILIENCE_TRAITS
|
|
716
|
-
];
|
|
717
|
-
|
|
718
|
-
// src/traits/constants/mobile/phone-sleeve-vr.ts
|
|
719
|
-
var PHONE_SLEEVE_VR_TRAITS = [
|
|
720
|
-
// --- Hardware Form Factor ---
|
|
721
|
-
"phone_sleeve",
|
|
722
|
-
// marks object/scene as phone-sleeve VR target
|
|
723
|
-
"sleeve_nfc_trigger",
|
|
724
|
-
// NFC tag in sleeve auto-launches VR app on insert
|
|
725
|
-
"sleeve_lens_profile",
|
|
726
|
-
// describes the lens geometry (focal length, distortion coefficients)
|
|
727
|
-
"phone_detection",
|
|
728
|
-
// auto-detect phone model for screen size / PPI calibration
|
|
729
|
-
// --- Display ---
|
|
730
|
-
"stereo_split",
|
|
731
|
-
// side-by-side stereoscopic rendering
|
|
732
|
-
"barrel_distortion",
|
|
733
|
-
// barrel distortion shader to pre-correct for lens warp
|
|
734
|
-
"chromatic_aberration_fix",
|
|
735
|
-
// per-channel color correction for cheap lenses
|
|
736
|
-
"ipd_adjust",
|
|
737
|
-
// inter-pupillary distance calibration UI
|
|
738
|
-
// --- Sensor / Tracking ---
|
|
739
|
-
"gyro_head_tracking",
|
|
740
|
-
// 3-DOF orientation from phone gyroscope
|
|
741
|
-
"accel_sensor_fusion",
|
|
742
|
-
// accelerometer + gyro complementary filter
|
|
743
|
-
"mag_drift_correction",
|
|
744
|
-
// magnetometer-based yaw drift correction
|
|
745
|
-
"positional_estimation",
|
|
746
|
-
// limited 6-DOF via visual-inertial odometry (ARCore/ARKit)
|
|
747
|
-
// --- Interaction ---
|
|
748
|
-
"gaze_cursor",
|
|
749
|
-
// center-of-view reticle for gaze-based selection
|
|
750
|
-
"gaze_dwell_select",
|
|
751
|
-
// dwell timer triggers selection on gaze target
|
|
752
|
-
"bt_controller",
|
|
753
|
-
// Bluetooth gamepad / clicker input binding
|
|
754
|
-
"tap_select",
|
|
755
|
-
// capacitive tap on headset triggers select
|
|
756
|
-
"voice_command",
|
|
757
|
-
// speech-to-intent for hands-free interaction
|
|
758
|
-
// --- Performance ---
|
|
759
|
-
"thermal_throttle",
|
|
760
|
-
// monitor phone temperature, reduce quality before overheat
|
|
761
|
-
"battery_aware_lod",
|
|
762
|
-
// lower LOD / framerate when battery is low
|
|
763
|
-
"sleeve_foveated",
|
|
764
|
-
// fixed foveated rendering (center sharp, edges lower res)
|
|
765
|
-
"low_persistence",
|
|
766
|
-
// request low-persistence display mode to reduce blur
|
|
767
|
-
// --- Comfort ---
|
|
768
|
-
"vr_comfort_vignette",
|
|
769
|
-
// darken peripheral vision during fast movement
|
|
770
|
-
"reorient_snap",
|
|
771
|
-
// snap-turn / recenter with single tap
|
|
772
|
-
"static_horizon",
|
|
773
|
-
// keep horizon line stable to reduce nausea
|
|
774
|
-
"session_timer"
|
|
775
|
-
// remind user to take breaks (phone heat + eye strain)
|
|
776
|
-
];
|
|
777
|
-
|
|
778
|
-
// src/traits/constants/mobile/geo-anchor.ts
|
|
779
|
-
var GEO_ANCHOR_TRAITS = [
|
|
780
|
-
// --- Anchor ---
|
|
781
|
-
"geo_anchor",
|
|
782
|
-
// marks object/scene as GPS-anchored (lat/lng required)
|
|
783
|
-
"geo_altitude",
|
|
784
|
-
// explicit altitude override (meters above sea level)
|
|
785
|
-
"geo_compass_heading",
|
|
786
|
-
// orient hologram relative to true north (degrees)
|
|
787
|
-
"geo_terrain_snap",
|
|
788
|
-
// snap anchor altitude to terrain mesh
|
|
789
|
-
// --- Persistence ---
|
|
790
|
-
"geo_persist",
|
|
791
|
-
// save anchor across sessions (ARWorldMap / Cloud Anchor)
|
|
792
|
-
"geo_cloud_anchor",
|
|
793
|
-
// use cloud anchor service (ARCore Cloud Anchors / ARKit)
|
|
794
|
-
"geo_session_continuity",
|
|
795
|
-
// restore anchored objects when user returns
|
|
796
|
-
// --- Radius & Discovery ---
|
|
797
|
-
"geo_radius",
|
|
798
|
-
// visibility geofence radius in meters
|
|
799
|
-
"geo_proximity_trigger",
|
|
800
|
-
// fire event when user enters anchor radius
|
|
801
|
-
"geo_discoverable",
|
|
802
|
-
// advertise anchor to nearby users via mesh
|
|
803
|
-
// --- Platform Hints ---
|
|
804
|
-
"geo_arcore_geospatial",
|
|
805
|
-
// opt-in to ARCore Geospatial API (VPS)
|
|
806
|
-
"geo_arkit_geo_anchor"
|
|
807
|
-
// opt-in to ARKit ARGeoAnchor (iOS 14+)
|
|
808
|
-
];
|
|
809
|
-
|
|
810
|
-
// src/traits/constants/index.ts
|
|
811
|
-
init_geospatial();
|
|
812
|
-
init_npu_scene();
|
|
813
|
-
init_camera_hand_tracking();
|
|
814
|
-
init_spatial_authoring();
|
|
815
|
-
init_haptic_feedback();
|
|
816
|
-
init_ios_object_capture();
|
|
817
|
-
init_airpods_spatial_audio();
|
|
818
|
-
init_shareplay();
|
|
819
|
-
init_uwb_positioning();
|
|
820
|
-
init_face_tracking();
|
|
821
|
-
init_nearby_connections();
|
|
822
|
-
init_foldable_display();
|
|
823
|
-
init_samsung_dex();
|
|
824
|
-
init_webxr();
|
|
825
|
-
init_google_lens();
|
|
826
|
-
init_portal_ar();
|
|
827
|
-
init_lidar_scanner();
|
|
828
|
-
init_depth_scanner();
|
|
829
|
-
init_roomplan();
|
|
830
|
-
|
|
831
|
-
// src/traits/constants/instancing-geometry.ts
|
|
832
|
-
var INSTANCING_GEOMETRY_TRAITS = [
|
|
833
|
-
// Shape Pool System (HS-GEO-1)
|
|
834
|
-
"shape_pool",
|
|
835
|
-
"shape_pool_box",
|
|
836
|
-
"shape_pool_sphere",
|
|
837
|
-
"shape_pool_cylinder",
|
|
838
|
-
"shape_pool_cone",
|
|
839
|
-
"shape_pool_torus",
|
|
840
|
-
"shape_pool_capsule",
|
|
841
|
-
// Instanced Rendering
|
|
842
|
-
"instanced",
|
|
843
|
-
"instanced_array",
|
|
844
|
-
"instanced_color",
|
|
845
|
-
"instanced_transform",
|
|
846
|
-
// SDF Ray Marching (HS-GEO-3)
|
|
847
|
-
"sdf_primitive",
|
|
848
|
-
"sdf_union",
|
|
849
|
-
"sdf_intersect",
|
|
850
|
-
"sdf_difference",
|
|
851
|
-
"sdf_smooth_union",
|
|
852
|
-
"sdf_smooth_intersect",
|
|
853
|
-
"sdf_smooth_difference",
|
|
854
|
-
"sdf_repeat",
|
|
855
|
-
"sdf_twist",
|
|
856
|
-
"sdf_bend",
|
|
857
|
-
// Compute Rasterization
|
|
858
|
-
"compute_rasterize",
|
|
859
|
-
"compute_rasterize_points",
|
|
860
|
-
"compute_rasterize_splats",
|
|
861
|
-
// Batched Mesh (Mixed Types at Scale)
|
|
862
|
-
"batched_mesh",
|
|
863
|
-
"batched_draw_indirect",
|
|
864
|
-
"multi_draw_indirect",
|
|
865
|
-
// Strategy Selection (HS-GEO-5)
|
|
866
|
-
"render_strategy",
|
|
867
|
-
"render_strategy_auto",
|
|
868
|
-
"render_strategy_instanced",
|
|
869
|
-
"render_strategy_sdf",
|
|
870
|
-
"render_strategy_compute",
|
|
871
|
-
"render_strategy_batched",
|
|
872
|
-
// Morton Code Spatial Sorting (HS-GEO-4)
|
|
873
|
-
"morton_sort",
|
|
874
|
-
"morton_octree"
|
|
875
|
-
];
|
|
876
|
-
|
|
877
|
-
// src/traits/constants/character-pipeline.ts
|
|
878
|
-
var CHARACTER_PIPELINE_TRAITS = [
|
|
879
|
-
// Stage 1: Shape Sculpt
|
|
880
|
-
"character_sculpt",
|
|
881
|
-
"sculpt_region",
|
|
882
|
-
"sculpt_fill_volumetric",
|
|
883
|
-
"sculpt_fill_shell",
|
|
884
|
-
"sculpt_fill_tube",
|
|
885
|
-
"sculpt_blend_smooth_union",
|
|
886
|
-
"sculpt_color_map",
|
|
887
|
-
// Stage 2: Surface Extraction
|
|
888
|
-
"compiled_mesh",
|
|
889
|
-
"mesh_marching_cubes",
|
|
890
|
-
"mesh_dual_contouring",
|
|
891
|
-
"mesh_poisson_reconstruction",
|
|
892
|
-
"mesh_ball_pivoting",
|
|
893
|
-
// Stage 3: Hollow + LOD
|
|
894
|
-
"optimized_character",
|
|
895
|
-
"character_hollow",
|
|
896
|
-
"character_lod",
|
|
897
|
-
"character_lod_dithered",
|
|
898
|
-
"character_lod_crossfade",
|
|
899
|
-
// Stage 4: Rigging
|
|
900
|
-
"rigged_character",
|
|
901
|
-
"skeleton_humanoid_65",
|
|
902
|
-
"skeleton_custom_bone",
|
|
903
|
-
"skinning_heat_diffusion",
|
|
904
|
-
"skinning_geodesic_voxel",
|
|
905
|
-
"skinning_neural",
|
|
906
|
-
"skin_max_influences",
|
|
907
|
-
// Stage 5: Facial Expression (FACS)
|
|
908
|
-
"face_facs_52",
|
|
909
|
-
"face_action_unit",
|
|
910
|
-
"face_expression_preset",
|
|
911
|
-
"face_viseme",
|
|
912
|
-
"face_reactive",
|
|
913
|
-
"face_idle_blink",
|
|
914
|
-
// Stage 6: Materials / Clothing / Hair
|
|
915
|
-
"material_subsurface",
|
|
916
|
-
"material_refractive_eye",
|
|
917
|
-
"material_hair_marschner",
|
|
918
|
-
"clothing_baked",
|
|
919
|
-
"clothing_layered_shell",
|
|
920
|
-
"clothing_cloth_sim",
|
|
921
|
-
"clothing_shrinkwrap",
|
|
922
|
-
"clothing_wrinkle_map",
|
|
923
|
-
"hair_cards",
|
|
924
|
-
"hair_strands",
|
|
925
|
-
"hair_guide_curves",
|
|
926
|
-
// Stage 7: Lip Sync & Deploy
|
|
927
|
-
"speech_viseme_15",
|
|
928
|
-
"speech_emotion_overlay",
|
|
929
|
-
"speech_audio_analysis",
|
|
930
|
-
"deploy_web_gltf",
|
|
931
|
-
"deploy_vrchat_vrm",
|
|
932
|
-
"deploy_unreal_usd",
|
|
933
|
-
"deploy_unity_fbx",
|
|
934
|
-
"deploy_apple_usdz",
|
|
935
|
-
"deploy_rpm_glb",
|
|
936
|
-
"deploy_cloud_native"
|
|
937
|
-
];
|
|
938
|
-
|
|
939
|
-
// src/traits/constants/facial-expression.ts
|
|
940
|
-
var FACIAL_EXPRESSION_TRAITS = [
|
|
941
|
-
// Upper Face — Brow & Forehead
|
|
942
|
-
"facs_au01_inner_brow_raise",
|
|
943
|
-
"facs_au02_outer_brow_raise",
|
|
944
|
-
"facs_au04_brow_lowerer",
|
|
945
|
-
// Upper Face — Eyes
|
|
946
|
-
"facs_au05_upper_lid_raise",
|
|
947
|
-
"facs_au06_cheek_raise",
|
|
948
|
-
"facs_au07_lid_tightener",
|
|
949
|
-
"facs_au43_eyes_closed",
|
|
950
|
-
"facs_au45_blink",
|
|
951
|
-
"facs_au46_wink",
|
|
952
|
-
// Nose
|
|
953
|
-
"facs_au09_nose_wrinkler",
|
|
954
|
-
"facs_au10_upper_lip_raise",
|
|
955
|
-
"facs_au11_nasolabial_deepen",
|
|
956
|
-
// Mouth — Lip Position
|
|
957
|
-
"facs_au12_lip_corner_pull",
|
|
958
|
-
"facs_au13_sharp_lip_pull",
|
|
959
|
-
"facs_au14_dimpler",
|
|
960
|
-
"facs_au15_lip_corner_depress",
|
|
961
|
-
"facs_au16_lower_lip_depress",
|
|
962
|
-
"facs_au17_chin_raise",
|
|
963
|
-
"facs_au18_lip_pucker",
|
|
964
|
-
"facs_au20_lip_stretch",
|
|
965
|
-
"facs_au22_lip_funnel",
|
|
966
|
-
"facs_au23_lip_tighten",
|
|
967
|
-
"facs_au24_lip_press",
|
|
968
|
-
"facs_au25_lips_part",
|
|
969
|
-
"facs_au26_jaw_drop",
|
|
970
|
-
"facs_au27_mouth_stretch",
|
|
971
|
-
"facs_au28_lip_suck",
|
|
972
|
-
// Tongue & Cheeks
|
|
973
|
-
"facs_au19_tongue_show",
|
|
974
|
-
"facs_au21_neck_tighten",
|
|
975
|
-
"facs_au29_jaw_thrust",
|
|
976
|
-
"facs_au30_jaw_sideways",
|
|
977
|
-
"facs_au31_jaw_clench",
|
|
978
|
-
"facs_au32_lip_bite",
|
|
979
|
-
"facs_au33_cheek_blow",
|
|
980
|
-
"facs_au34_cheek_puff",
|
|
981
|
-
"facs_au35_cheek_suck",
|
|
982
|
-
"facs_au36_tongue_bulge",
|
|
983
|
-
"facs_au37_lip_wipe",
|
|
984
|
-
"facs_au38_nostril_dilate",
|
|
985
|
-
"facs_au39_nostril_compress",
|
|
986
|
-
// Head & Eye Position
|
|
987
|
-
"facs_au51_head_turn_left",
|
|
988
|
-
"facs_au52_head_turn_right",
|
|
989
|
-
"facs_au53_head_up",
|
|
990
|
-
"facs_au54_head_down",
|
|
991
|
-
"facs_au55_head_tilt_left",
|
|
992
|
-
"facs_au56_head_tilt_right",
|
|
993
|
-
"facs_au57_head_forward",
|
|
994
|
-
"facs_au58_head_back",
|
|
995
|
-
"facs_au61_eyes_turn_left",
|
|
996
|
-
"facs_au62_eyes_turn_right",
|
|
997
|
-
"facs_au63_eyes_up",
|
|
998
|
-
"facs_au64_eyes_down",
|
|
999
|
-
// Compound Expressions
|
|
1000
|
-
"expression_happy",
|
|
1001
|
-
"expression_sad",
|
|
1002
|
-
"expression_angry",
|
|
1003
|
-
"expression_surprised",
|
|
1004
|
-
"expression_disgusted",
|
|
1005
|
-
"expression_fearful",
|
|
1006
|
-
"expression_neutral",
|
|
1007
|
-
"expression_thinking",
|
|
1008
|
-
// Visemes (15 standard)
|
|
1009
|
-
"viseme_sil",
|
|
1010
|
-
"viseme_aa",
|
|
1011
|
-
"viseme_ee",
|
|
1012
|
-
"viseme_ih",
|
|
1013
|
-
"viseme_oh",
|
|
1014
|
-
"viseme_oo",
|
|
1015
|
-
"viseme_pp",
|
|
1016
|
-
"viseme_ff",
|
|
1017
|
-
"viseme_th",
|
|
1018
|
-
"viseme_dd",
|
|
1019
|
-
"viseme_kk",
|
|
1020
|
-
"viseme_ch",
|
|
1021
|
-
"viseme_ss",
|
|
1022
|
-
"viseme_nn",
|
|
1023
|
-
"viseme_rr"
|
|
1024
|
-
];
|
|
1025
|
-
|
|
1026
|
-
// src/traits/constants/character-materials.ts
|
|
1027
|
-
var CHARACTER_MATERIAL_TRAITS = [
|
|
1028
|
-
// Subsurface Scattering — Skin
|
|
1029
|
-
"skin_subsurface",
|
|
1030
|
-
"skin_scatter_distance",
|
|
1031
|
-
"skin_scatter_color",
|
|
1032
|
-
"skin_pore_detail",
|
|
1033
|
-
"skin_wrinkle_normal",
|
|
1034
|
-
"skin_blood_flow",
|
|
1035
|
-
"skin_oiliness",
|
|
1036
|
-
"skin_melanin",
|
|
1037
|
-
// Refractive Eye
|
|
1038
|
-
"eye_refractive",
|
|
1039
|
-
"eye_cornea",
|
|
1040
|
-
"eye_iris",
|
|
1041
|
-
"eye_pupil_dilation",
|
|
1042
|
-
"eye_sclera",
|
|
1043
|
-
"eye_wet_layer",
|
|
1044
|
-
"eye_micro_saccade",
|
|
1045
|
-
"eye_parallax",
|
|
1046
|
-
// Hair — Marschner Shading
|
|
1047
|
-
"hair_marschner",
|
|
1048
|
-
"hair_primary_specular",
|
|
1049
|
-
"hair_secondary_specular",
|
|
1050
|
-
"hair_melanin",
|
|
1051
|
-
"hair_melanin_redness",
|
|
1052
|
-
"hair_scatter",
|
|
1053
|
-
"hair_root_darkening",
|
|
1054
|
-
"hair_tip_lightening",
|
|
1055
|
-
"hair_anisotropy",
|
|
1056
|
-
// Cloth Materials
|
|
1057
|
-
"cloth_material_silk",
|
|
1058
|
-
"cloth_material_cotton",
|
|
1059
|
-
"cloth_material_denim",
|
|
1060
|
-
"cloth_material_leather",
|
|
1061
|
-
"cloth_material_velvet",
|
|
1062
|
-
"cloth_material_chainmail",
|
|
1063
|
-
"cloth_material_fur",
|
|
1064
|
-
// Tooth & Nail
|
|
1065
|
-
"tooth_enamel",
|
|
1066
|
-
"nail_keratin"
|
|
1067
|
-
];
|
|
1068
|
-
|
|
1069
|
-
// src/traits/constants/index.ts
|
|
1070
|
-
var VR_TRAITS = [
|
|
1071
|
-
...CORE_VR_INTERACTION_TRAITS,
|
|
1072
|
-
...HUMANOID_AVATAR_TRAITS,
|
|
1073
|
-
...NETWORKING_AI_TRAITS,
|
|
1074
|
-
...MEDIA_ANALYTICS_TRAITS,
|
|
1075
|
-
...SOCIAL_EFFECTS_TRAITS,
|
|
1076
|
-
...AUDIO_TRAITS,
|
|
1077
|
-
...ENVIRONMENT_INPUT_TRAITS,
|
|
1078
|
-
...ACCESSIBILITY_TRAITS,
|
|
1079
|
-
...VOLUMETRIC_WEBGPU_TRAITS,
|
|
1080
|
-
...IOT_AUTONOMOUS_AGENTS_TRAITS,
|
|
1081
|
-
...INTEROP_COPRESENCE_TRAITS,
|
|
1082
|
-
...GEOSPATIAL_WEB3_TRAITS,
|
|
1083
|
-
...PHYSICS_EXPANSION_TRAITS,
|
|
1084
|
-
...SIMPLE_MODIFIER_TRAITS,
|
|
1085
|
-
...PARSER_CORE_UI_TRAITS,
|
|
1086
|
-
...LOCOMOTION_MOVEMENT_TRAITS,
|
|
1087
|
-
...OBJECT_INTERACTION_TRAITS,
|
|
1088
|
-
...RESOURCE_GATHERING_TRAITS,
|
|
1089
|
-
...GAME_MECHANICS_TRAITS,
|
|
1090
|
-
...VISUAL_EFFECTS_TRAITS,
|
|
1091
|
-
...ENVIRONMENTAL_BIOME_TRAITS,
|
|
1092
|
-
...SOCIAL_COMMERCE_TRAITS,
|
|
1093
|
-
...INTELLIGENCE_BEHAVIOR_TRAITS,
|
|
1094
|
-
...STATE_PERSISTENCE_TRAITS,
|
|
1095
|
-
...SAFETY_BOUNDARIES_TRAITS,
|
|
1096
|
-
...MUSICAL_SOUND_TRAITS,
|
|
1097
|
-
...MEASUREMENT_SENSING_TRAITS,
|
|
1098
|
-
...NARRATIVE_STORYTELLING_TRAITS,
|
|
1099
|
-
...WEATHER_PARTICLES_TRAITS,
|
|
1100
|
-
...TRANSPORTATION_VEHICLES_TRAITS,
|
|
1101
|
-
...CONSTRUCTION_BUILDING_TRAITS,
|
|
1102
|
-
...NATURE_LIFE_TRAITS,
|
|
1103
|
-
...MAGIC_FANTASY_TRAITS,
|
|
1104
|
-
...SCIFI_TECHNOLOGY_TRAITS,
|
|
1105
|
-
...EMOTION_MOOD_TRAITS,
|
|
1106
|
-
...MULTISENSORY_HAPTIC_TRAITS,
|
|
1107
|
-
...PHYSICAL_AFFORDANCES_TRAITS,
|
|
1108
|
-
...PROCEDURAL_GENERATION_TRAITS,
|
|
1109
|
-
...NPC_ROLES_TRAITS,
|
|
1110
|
-
...XR_PLATFORM_TRAITS,
|
|
1111
|
-
...DATA_VISUALIZATION_TRAITS,
|
|
1112
|
-
...ACCESSIBILITY_EXTENDED_TRAITS,
|
|
1113
|
-
...SPORTS_FITNESS_TRAITS,
|
|
1114
|
-
...EDUCATION_LEARNING_TRAITS,
|
|
1115
|
-
...HEALTHCARE_MEDICAL_TRAITS,
|
|
1116
|
-
...ARCHITECTURE_REALESTATE_TRAITS,
|
|
1117
|
-
...MUSIC_PERFORMANCE_TRAITS,
|
|
1118
|
-
...COOKING_FOOD_TRAITS,
|
|
1119
|
-
// Semantic expansion
|
|
1120
|
-
...WATER_FLUID_TRAITS,
|
|
1121
|
-
...SIZE_SCALE_TRAITS,
|
|
1122
|
-
...AGE_CONDITION_TRAITS,
|
|
1123
|
-
...SHAPE_FORM_TRAITS,
|
|
1124
|
-
...SURFACE_TEXTURE_TRAITS,
|
|
1125
|
-
...LIGHTING_TRAITS,
|
|
1126
|
-
...CONTAINERS_STORAGE_TRAITS,
|
|
1127
|
-
...FABRIC_CLOTH_TRAITS,
|
|
1128
|
-
...CREATURES_MYTHICAL_TRAITS,
|
|
1129
|
-
...ANIMALS_TRAITS,
|
|
1130
|
-
...SIGNS_COMMUNICATION_TRAITS,
|
|
1131
|
-
...GEMS_MINERALS_TRAITS,
|
|
1132
|
-
...WEATHER_PHENOMENA_TRAITS,
|
|
1133
|
-
...MARITIME_NAVAL_TRAITS,
|
|
1134
|
-
...FURNITURE_DECOR_TRAITS,
|
|
1135
|
-
...TIME_PERIOD_TRAITS,
|
|
1136
|
-
...MATERIAL_PROPERTIES_TRAITS,
|
|
1137
|
-
...FABRICATION_DEVICES_TRAITS,
|
|
1138
|
-
// Robotics & Industrial (213 traits - CYCLE B)
|
|
1139
|
-
...ROBOTICS_INDUSTRIAL_TRAITS,
|
|
1140
|
-
// Scientific Computing & Molecular Dynamics (22 traits - Phase 1)
|
|
1141
|
-
...SCIENTIFIC_COMPUTING_TRAITS,
|
|
1142
|
-
// V43 AI/XR Traits (23 traits - Tier 1-3)
|
|
1143
|
-
...V43_AI_XR_TRAITS,
|
|
1144
|
-
// Enterprise Multi-Tenancy (18 traits)
|
|
1145
|
-
...ENTERPRISE_MULTITENANCY_TRAITS,
|
|
1146
|
-
// Analytics & Observability (18 traits)
|
|
1147
|
-
...ANALYTICS_OBSERVABILITY_TRAITS,
|
|
1148
|
-
// Security & Cryptography (76 traits)
|
|
1149
|
-
...SECURITY_CRYPTO_TRAITS,
|
|
1150
|
-
// Rendering & Graphics (27 traits - Phase 1)
|
|
1151
|
-
...RENDERING_TRAITS,
|
|
1152
|
-
// Scripting & Automation (14 traits)
|
|
1153
|
-
...SCRIPTING_AUTOMATION_TRAITS,
|
|
1154
|
-
// Data & Storage (7 traits)
|
|
1155
|
-
...DATA_STORAGE_TRAITS,
|
|
1156
|
-
// Observability — Infrastructure (6 traits)
|
|
1157
|
-
...OBSERVABILITY_TRAITS,
|
|
1158
|
-
// Communication (7 traits)
|
|
1159
|
-
...COMMUNICATION_TRAITS,
|
|
1160
|
-
// ML / Inference (6 traits)
|
|
1161
|
-
...ML_INFERENCE_TRAITS,
|
|
1162
|
-
// DevOps / CI (6 traits)
|
|
1163
|
-
...DEVOPS_CI_TRAITS,
|
|
1164
|
-
// Auth / Identity (6 traits)
|
|
1165
|
-
...AUTH_IDENTITY_TRAITS,
|
|
1166
|
-
// Payment (5 traits)
|
|
1167
|
-
...PAYMENT_TRAITS,
|
|
1168
|
-
// Media / Content (4 traits)
|
|
1169
|
-
...MEDIA_CONTENT_TRAITS,
|
|
1170
|
-
// Testing / QA (5 traits)
|
|
1171
|
-
...TESTING_QA_TRAITS,
|
|
1172
|
-
// Workflow / BPM (4 traits)
|
|
1173
|
-
...WORKFLOW_BPM_TRAITS,
|
|
1174
|
-
// i18n / Localization (4 traits)
|
|
1175
|
-
...I18N_LOCALIZATION_TRAITS,
|
|
1176
|
-
// Data Pipeline / ETL (5 traits)
|
|
1177
|
-
...DATA_PIPELINE_TRAITS,
|
|
1178
|
-
// Notification / Alerting (3 traits)
|
|
1179
|
-
...NOTIFICATION_ALERTING_TRAITS,
|
|
1180
|
-
// Search (3 traits)
|
|
1181
|
-
...SEARCH_TRAITS,
|
|
1182
|
-
// Compliance / Governance (3 traits)
|
|
1183
|
-
...COMPLIANCE_GOVERNANCE_TRAITS,
|
|
1184
|
-
// File Storage (3 traits)
|
|
1185
|
-
...FILE_STORAGE_TRAITS,
|
|
1186
|
-
// API Gateway (3 traits)
|
|
1187
|
-
...API_GATEWAY_TRAITS,
|
|
1188
|
-
// Feature Flags (2 new traits — feature_flag already in devops-ci)
|
|
1189
|
-
...FEATURE_FLAGS_TRAITS,
|
|
1190
|
-
// Audit Trail (2 new traits — audit_log already in observability)
|
|
1191
|
-
...AUDIT_TRAIL_TRAITS,
|
|
1192
|
-
// GPU Compute / Shaders (4 traits)
|
|
1193
|
-
...GPU_COMPUTE_TRAITS,
|
|
1194
|
-
// ML / Tensor Ops (3 new traits — model_load/inference/embedding already exist)
|
|
1195
|
-
...ML_TENSOR_TRAITS,
|
|
1196
|
-
// Database / Persistence (4 traits)
|
|
1197
|
-
...DATABASE_PERSISTENCE_TRAITS,
|
|
1198
|
-
// Spatial Algorithms (3 new traits — voronoi already exists)
|
|
1199
|
-
...SPATIAL_ALGORITHMS_TRAITS,
|
|
1200
|
-
// Debug / Cinematic (4 traits)
|
|
1201
|
-
...DEBUG_CINEMATIC_TRAITS,
|
|
1202
|
-
// FFI / OS Bindings (4 traits)
|
|
1203
|
-
...FFI_OS_TRAITS,
|
|
1204
|
-
// Formal Verification / Concurrency (4 traits)
|
|
1205
|
-
...CONCURRENCY_TRAITS,
|
|
1206
|
-
// Hologram Media Pipeline (13 traits)
|
|
1207
|
-
...HOLOGRAM_MEDIA_TRAITS,
|
|
1208
|
-
// GAPS Feature Roadmap — Phase 1 (14 traits)
|
|
1209
|
-
...GAPS_PHYSICS_TRAITS,
|
|
1210
|
-
// v6 Universal Semantic Platform (35 traits)
|
|
1211
|
-
...UNIVERSAL_V6_TRAITS,
|
|
1212
|
-
// GPU Geometry & Instancing (32 traits — Phase R4)
|
|
1213
|
-
...INSTANCING_GEOMETRY_TRAITS,
|
|
1214
|
-
// Character Pipeline (42 traits — Phase R4)
|
|
1215
|
-
...CHARACTER_PIPELINE_TRAITS,
|
|
1216
|
-
// Facial Expression / FACS (75 traits — Phase R4)
|
|
1217
|
-
...FACIAL_EXPRESSION_TRAITS,
|
|
1218
|
-
// Character Materials — SSS, Eye, Hair, Cloth (38 traits — Phase R4)
|
|
1219
|
-
...CHARACTER_MATERIAL_TRAITS,
|
|
1220
|
-
// Phone Sleeve VR — smartphone-as-headset (25 traits)
|
|
1221
|
-
...PHONE_SLEEVE_VR_TRAITS,
|
|
1222
|
-
// Geo-Anchored Holograms — GPS-pinned persistent scenes (12 traits)
|
|
1223
|
-
...GEO_ANCHOR_TRAITS,
|
|
1224
|
-
// ARCore Geospatial API — VPS street-level geo-anchoring (6 traits — M.010.15)
|
|
1225
|
-
...GEOSPATIAL_ARCORE_TRAITS,
|
|
1226
|
-
// NPU Scene Understanding — on-device ML inference (8 traits — M.010.03)
|
|
1227
|
-
...NPU_SCENE_TRAITS,
|
|
1228
|
-
// Camera Hand Tracking — MediaPipe/Vision (9 traits — M.010.04)
|
|
1229
|
-
...CAMERA_HAND_TRACKING_TRAITS,
|
|
1230
|
-
// Portal AR — phone-as-portal magic window (15 traits — M.010.06)
|
|
1231
|
-
...PORTAL_AR_TRAITS,
|
|
1232
|
-
// LiDAR Scanner — iOS mesh capture (11 traits — M.010.02a)
|
|
1233
|
-
...LIDAR_SCANNER_TRAITS,
|
|
1234
|
-
// Depth Scanner — Android ARCore/ToF/stereo (10 traits — M.010.02b)
|
|
1235
|
-
...DEPTH_SCANNER_TRAITS,
|
|
1236
|
-
// RoomPlan — iOS spatial scanning (22 traits — M.010.09)
|
|
1237
|
-
...ROOMPLAN_TRAITS,
|
|
1238
|
-
// Spatial Authoring — mobile creation tool (5 traits — M.010.08)
|
|
1239
|
-
...SPATIAL_AUTHORING_TRAITS,
|
|
1240
|
-
// Haptic Holographic Feedback (11 traits — M.010.05)
|
|
1241
|
-
...HAPTIC_FEEDBACK_TRAITS,
|
|
1242
|
-
// iOS Object Capture — photogrammetry (8 traits — M.010.10)
|
|
1243
|
-
...IOS_OBJECT_CAPTURE_TRAITS,
|
|
1244
|
-
// AirPods Spatial Audio (7 traits — M.010.11)
|
|
1245
|
-
...AIRPODS_SPATIAL_AUDIO_TRAITS,
|
|
1246
|
-
// SharePlay Multi-User AR (9 traits — M.010.12)
|
|
1247
|
-
...SHAREPLAY_TRAITS,
|
|
1248
|
-
// Ultra Wideband positioning (6 traits — M.010.13)
|
|
1249
|
-
...UWB_POSITIONING_TRAITS,
|
|
1250
|
-
// TrueDepth Face Tracking (11 traits — M.010.14)
|
|
1251
|
-
...FACE_TRACKING_TRAITS,
|
|
1252
|
-
// Android Nearby Connections (9 traits — M.010.16)
|
|
1253
|
-
...NEARBY_CONNECTIONS_TRAITS,
|
|
1254
|
-
// Android Foldable Display (6 traits — M.010.17)
|
|
1255
|
-
...FOLDABLE_DISPLAY_TRAITS,
|
|
1256
|
-
// Samsung DeX (5 traits — M.010.18)
|
|
1257
|
-
...SAMSUNG_DEX_TRAITS,
|
|
1258
|
-
// Android WebXR Chrome (11 traits — M.010.19)
|
|
1259
|
-
...WEBXR_TRAITS,
|
|
1260
|
-
// Google Lens (7 traits — M.010.20)
|
|
1261
|
-
...GOOGLE_LENS_TRAITS
|
|
1262
|
-
];
|
|
1263
|
-
|
|
1264
|
-
// src/constants.ts
|
|
1265
|
-
var STRUCTURAL_DIRECTIVES = [
|
|
1266
|
-
// Asset & Manifest
|
|
1267
|
-
"manifest",
|
|
1268
|
-
"asset",
|
|
1269
|
-
// Semantic Annotations
|
|
1270
|
-
"semantic",
|
|
1271
|
-
"annotate",
|
|
1272
|
-
"semantic_ref",
|
|
1273
|
-
"bindings",
|
|
1274
|
-
"artwork_metadata",
|
|
1275
|
-
"npc_behavior",
|
|
1276
|
-
// World Definition
|
|
1277
|
-
"world_metadata",
|
|
1278
|
-
"world_config",
|
|
1279
|
-
"zones",
|
|
1280
|
-
"spawn_points",
|
|
1281
|
-
// Environment Lighting
|
|
1282
|
-
"skybox",
|
|
1283
|
-
"ambient_light",
|
|
1284
|
-
"directional_light",
|
|
1285
|
-
"fog",
|
|
1286
|
-
// Advanced Simulation & AI
|
|
1287
|
-
"time_zones",
|
|
1288
|
-
"reality_capture",
|
|
1289
|
-
"reality_mesh",
|
|
1290
|
-
"reality_blend",
|
|
1291
|
-
"diminished_reality",
|
|
1292
|
-
"reality_portals",
|
|
1293
|
-
"reality_effects",
|
|
1294
|
-
"consciousness_model",
|
|
1295
|
-
"global_workspace",
|
|
1296
|
-
"attention_schema",
|
|
1297
|
-
"predictive_mind",
|
|
1298
|
-
"information_integration",
|
|
1299
|
-
"qualia_generator",
|
|
1300
|
-
"swarm_config",
|
|
1301
|
-
"minimal_brain",
|
|
1302
|
-
"rules",
|
|
1303
|
-
"pheromone_system",
|
|
1304
|
-
"emergence_detector",
|
|
1305
|
-
"collective_memory",
|
|
1306
|
-
"swarm_optimization",
|
|
1307
|
-
"time_engine",
|
|
1308
|
-
"time_buffer",
|
|
1309
|
-
"time_abilities",
|
|
1310
|
-
"paradox_prevention",
|
|
1311
|
-
"knowledge_integration",
|
|
1312
|
-
"neural_device",
|
|
1313
|
-
"signal_processor",
|
|
1314
|
-
"decoder",
|
|
1315
|
-
"thought_mapping",
|
|
1316
|
-
"haptic_feedback",
|
|
1317
|
-
"visual_prosthesis",
|
|
1318
|
-
"memory_interface",
|
|
1319
|
-
"affective_computing",
|
|
1320
|
-
"quantum_backend",
|
|
1321
|
-
"quantum_rng",
|
|
1322
|
-
"quantum_optimization",
|
|
1323
|
-
"quantum_ml",
|
|
1324
|
-
"quantum_simulation",
|
|
1325
|
-
"quantum_crypto"
|
|
1326
|
-
];
|
|
1327
|
-
var LIFECYCLE_HOOKS = [
|
|
1328
|
-
// Standard lifecycle
|
|
1329
|
-
"on_mount",
|
|
1330
|
-
"on_unmount",
|
|
1331
|
-
"on_update",
|
|
1332
|
-
"on_data_update",
|
|
1333
|
-
"on_tick",
|
|
1334
|
-
"on_activate",
|
|
1335
|
-
"on_deactivate",
|
|
1336
|
-
"on_detected",
|
|
1337
|
-
// VR lifecycle
|
|
1338
|
-
"on_grab",
|
|
1339
|
-
"on_release",
|
|
1340
|
-
"on_hover_enter",
|
|
1341
|
-
"on_hover_exit",
|
|
1342
|
-
"on_point_enter",
|
|
1343
|
-
"on_point_exit",
|
|
1344
|
-
"on_collision",
|
|
1345
|
-
"on_trigger_enter",
|
|
1346
|
-
"on_trigger_exit",
|
|
1347
|
-
"on_click",
|
|
1348
|
-
"on_double_click",
|
|
1349
|
-
// Controller hooks
|
|
1350
|
-
"on_controller_button",
|
|
1351
|
-
"on_trigger_hold",
|
|
1352
|
-
"on_trigger_release",
|
|
1353
|
-
"on_grip_hold",
|
|
1354
|
-
"on_grip_release",
|
|
1355
|
-
// Stretchable/Moldable hooks
|
|
1356
|
-
"on_stretch",
|
|
1357
|
-
"on_sculpt",
|
|
1358
|
-
// Humanoid/Avatar hooks
|
|
1359
|
-
"on_pose_change",
|
|
1360
|
-
"on_expression_change",
|
|
1361
|
-
"on_gesture",
|
|
1362
|
-
"on_speak",
|
|
1363
|
-
"on_pose_save",
|
|
1364
|
-
"on_morph_change",
|
|
1365
|
-
// Media Production hooks
|
|
1366
|
-
"on_record_start",
|
|
1367
|
-
"on_record_stop",
|
|
1368
|
-
"on_record_pause",
|
|
1369
|
-
"on_stream_start",
|
|
1370
|
-
"on_stream_stop",
|
|
1371
|
-
"on_viewer_join",
|
|
1372
|
-
"on_viewer_leave",
|
|
1373
|
-
"on_chat_message",
|
|
1374
|
-
"on_camera_switch",
|
|
1375
|
-
"on_video_end",
|
|
1376
|
-
"on_video_error",
|
|
1377
|
-
// Analytics hooks
|
|
1378
|
-
"on_track_event",
|
|
1379
|
-
"on_survey_start",
|
|
1380
|
-
"on_survey_complete",
|
|
1381
|
-
"on_survey_skip",
|
|
1382
|
-
"on_variant_assigned",
|
|
1383
|
-
"on_conversion",
|
|
1384
|
-
"on_hotspot_detected",
|
|
1385
|
-
// Social hooks
|
|
1386
|
-
"on_share",
|
|
1387
|
-
"on_share_complete",
|
|
1388
|
-
"on_embed",
|
|
1389
|
-
"on_scan",
|
|
1390
|
-
"on_user_join",
|
|
1391
|
-
"on_user_leave",
|
|
1392
|
-
"on_draw_stroke",
|
|
1393
|
-
"on_object_lock",
|
|
1394
|
-
"on_object_unlock",
|
|
1395
|
-
// Effects hooks
|
|
1396
|
-
"on_particle_spawn",
|
|
1397
|
-
"on_particle_death",
|
|
1398
|
-
"on_transition_start",
|
|
1399
|
-
"on_transition_complete",
|
|
1400
|
-
"on_filter_change",
|
|
1401
|
-
// Audio hooks
|
|
1402
|
-
"on_audio_start",
|
|
1403
|
-
"on_audio_end",
|
|
1404
|
-
"on_voice_command",
|
|
1405
|
-
"on_speech_start",
|
|
1406
|
-
"on_speech_end",
|
|
1407
|
-
"on_beat",
|
|
1408
|
-
"on_frequency_peak",
|
|
1409
|
-
// AI hooks
|
|
1410
|
-
"on_narration_start",
|
|
1411
|
-
"on_narration_end",
|
|
1412
|
-
"on_user_question",
|
|
1413
|
-
"on_response_ready",
|
|
1414
|
-
"on_emotion_change",
|
|
1415
|
-
"on_generation_complete",
|
|
1416
|
-
// Timeline hooks
|
|
1417
|
-
"on_timeline_start",
|
|
1418
|
-
"on_timeline_complete",
|
|
1419
|
-
"on_keyframe_hit",
|
|
1420
|
-
"on_keyframe_add",
|
|
1421
|
-
"on_beat_sync",
|
|
1422
|
-
"on_move_complete",
|
|
1423
|
-
// Environment Understanding hooks
|
|
1424
|
-
"on_plane_detected",
|
|
1425
|
-
"on_plane_lost",
|
|
1426
|
-
"on_plane_updated",
|
|
1427
|
-
"on_mesh_detected",
|
|
1428
|
-
"on_mesh_updated",
|
|
1429
|
-
"on_anchor_created",
|
|
1430
|
-
"on_anchor_resolved",
|
|
1431
|
-
"on_anchor_lost",
|
|
1432
|
-
"on_anchor_shared",
|
|
1433
|
-
"on_light_estimated",
|
|
1434
|
-
"on_occlusion_updated",
|
|
1435
|
-
// Input Modality hooks
|
|
1436
|
-
"on_gaze_enter",
|
|
1437
|
-
"on_gaze_exit",
|
|
1438
|
-
"on_gaze_dwell",
|
|
1439
|
-
"on_hand_gesture",
|
|
1440
|
-
"on_hand_pinch",
|
|
1441
|
-
"on_hand_lost",
|
|
1442
|
-
"on_body_pose_update",
|
|
1443
|
-
"on_face_expression",
|
|
1444
|
-
"on_controller_vibrate",
|
|
1445
|
-
"on_accessory_input",
|
|
1446
|
-
// Accessibility hooks
|
|
1447
|
-
"on_accessibility_announce",
|
|
1448
|
-
"on_subtitle_display",
|
|
1449
|
-
"on_magnify",
|
|
1450
|
-
"on_contrast_change",
|
|
1451
|
-
"on_motion_reduce",
|
|
1452
|
-
"on_screen_reader_focus",
|
|
1453
|
-
"on_sonification_update",
|
|
1454
|
-
// Gaussian Splatting & Volumetric hooks
|
|
1455
|
-
"on_splat_loaded",
|
|
1456
|
-
"on_nerf_ready",
|
|
1457
|
-
"on_volume_frame",
|
|
1458
|
-
"on_point_cloud_loaded",
|
|
1459
|
-
"on_capture_complete",
|
|
1460
|
-
// WebGPU Compute hooks
|
|
1461
|
-
"on_compute_complete",
|
|
1462
|
-
"on_buffer_ready",
|
|
1463
|
-
"on_gpu_error",
|
|
1464
|
-
// Digital Twin & IoT hooks
|
|
1465
|
-
"on_sensor_update",
|
|
1466
|
-
"on_data_change",
|
|
1467
|
-
"on_alert_triggered",
|
|
1468
|
-
"on_twin_sync",
|
|
1469
|
-
"on_heatmap_update",
|
|
1470
|
-
// Autonomous Agent hooks
|
|
1471
|
-
"on_goal_completed",
|
|
1472
|
-
"on_goal_failed",
|
|
1473
|
-
"on_perception_change",
|
|
1474
|
-
"on_emotion_shift",
|
|
1475
|
-
"on_faction_change",
|
|
1476
|
-
"on_patrol_waypoint",
|
|
1477
|
-
"on_llm_response",
|
|
1478
|
-
"on_memory_recalled",
|
|
1479
|
-
"on_dialogue_start",
|
|
1480
|
-
"on_dialogue_end",
|
|
1481
|
-
// Advanced Spatial Audio hooks
|
|
1482
|
-
"on_reverb_enter",
|
|
1483
|
-
"on_reverb_exit",
|
|
1484
|
-
"on_audio_occluded",
|
|
1485
|
-
"on_audio_portal_enter",
|
|
1486
|
-
// OpenUSD & Interoperability hooks
|
|
1487
|
-
"on_asset_loaded",
|
|
1488
|
-
"on_format_converted",
|
|
1489
|
-
"on_scene_composed",
|
|
1490
|
-
// Co-Presence & Shared Experience hooks
|
|
1491
|
-
"on_co_presence_joined",
|
|
1492
|
-
"on_co_presence_left",
|
|
1493
|
-
"on_voice_proximity_change",
|
|
1494
|
-
"on_role_change",
|
|
1495
|
-
"on_spectator_join",
|
|
1496
|
-
"on_avatar_sync",
|
|
1497
|
-
// Geospatial & AR Cloud hooks
|
|
1498
|
-
"on_vps_localized",
|
|
1499
|
-
"on_poi_proximity",
|
|
1500
|
-
"on_terrain_resolved",
|
|
1501
|
-
"on_rooftop_resolved",
|
|
1502
|
-
// Web3 & Ownership hooks
|
|
1503
|
-
"on_wallet_connected",
|
|
1504
|
-
"on_token_verified",
|
|
1505
|
-
"on_nft_transferred",
|
|
1506
|
-
"on_purchase_complete",
|
|
1507
|
-
"on_asset_ported",
|
|
1508
|
-
// Physics Expansion hooks
|
|
1509
|
-
"on_cloth_tear",
|
|
1510
|
-
"on_fluid_splash",
|
|
1511
|
-
"on_soft_body_deform",
|
|
1512
|
-
"on_rope_snap",
|
|
1513
|
-
"on_wind_change",
|
|
1514
|
-
"on_submerge",
|
|
1515
|
-
"on_destruction_complete"
|
|
1516
|
-
];
|
|
1517
|
-
|
|
1518
|
-
// src/parser/ErrorRecovery.ts
|
|
1519
|
-
var VALID_KEYWORDS = [
|
|
1520
|
-
"composition",
|
|
1521
|
-
"object",
|
|
1522
|
-
"group",
|
|
1523
|
-
"template",
|
|
1524
|
-
"state",
|
|
1525
|
-
"logic",
|
|
1526
|
-
"environment",
|
|
1527
|
-
"timeline",
|
|
1528
|
-
"zone",
|
|
1529
|
-
"audio",
|
|
1530
|
-
"ui_panel",
|
|
1531
|
-
"ui_button",
|
|
1532
|
-
"ui_text",
|
|
1533
|
-
"ui_slider",
|
|
1534
|
-
"ui_input",
|
|
1535
|
-
"ui_image",
|
|
1536
|
-
"ui_chart",
|
|
1537
|
-
"import",
|
|
1538
|
-
"using",
|
|
1539
|
-
"action",
|
|
1540
|
-
"on",
|
|
1541
|
-
"if",
|
|
1542
|
-
"else",
|
|
1543
|
-
"for",
|
|
1544
|
-
"while",
|
|
1545
|
-
"animate",
|
|
1546
|
-
"emit",
|
|
1547
|
-
"spawn",
|
|
1548
|
-
"transition"
|
|
1549
|
-
];
|
|
1550
|
-
var VALID_GEOMETRIES = [
|
|
1551
|
-
"cube",
|
|
1552
|
-
"box",
|
|
1553
|
-
"sphere",
|
|
1554
|
-
"cylinder",
|
|
1555
|
-
"cone",
|
|
1556
|
-
"torus",
|
|
1557
|
-
"plane",
|
|
1558
|
-
"text",
|
|
1559
|
-
"model",
|
|
1560
|
-
"sparkles",
|
|
1561
|
-
"particles"
|
|
1562
|
-
];
|
|
1563
|
-
var VALID_TRAITS = [...VR_TRAITS];
|
|
1564
|
-
var COMMON_PROPERTIES = [
|
|
1565
|
-
"position",
|
|
1566
|
-
"rotation",
|
|
1567
|
-
"scale",
|
|
1568
|
-
"color",
|
|
1569
|
-
"material",
|
|
1570
|
-
"geometry",
|
|
1571
|
-
"mesh",
|
|
1572
|
-
"model",
|
|
1573
|
-
"src",
|
|
1574
|
-
"text",
|
|
1575
|
-
"content",
|
|
1576
|
-
"width",
|
|
1577
|
-
"height",
|
|
1578
|
-
"radius",
|
|
1579
|
-
"size",
|
|
1580
|
-
"opacity",
|
|
1581
|
-
"visible",
|
|
1582
|
-
"name",
|
|
1583
|
-
"id"
|
|
1584
|
-
];
|
|
1585
|
-
var ERROR_PATTERNS = [
|
|
1586
|
-
// Missing closing brace
|
|
1587
|
-
{
|
|
1588
|
-
pattern: /unexpected end of input/i,
|
|
1589
|
-
code: "MISSING_BRACE",
|
|
1590
|
-
message: () => "Missing closing brace. Check that all { have matching }.",
|
|
1591
|
-
suggestions: () => [
|
|
1592
|
-
{
|
|
1593
|
-
description: "Add closing brace at the end",
|
|
1594
|
-
fix: "Add } to close the block"
|
|
1595
|
-
},
|
|
1596
|
-
{
|
|
1597
|
-
description: "Check for unclosed nested blocks",
|
|
1598
|
-
fix: "Ensure each { has a corresponding }"
|
|
1599
|
-
}
|
|
1600
|
-
]
|
|
1601
|
-
},
|
|
1602
|
-
// Missing colon in property
|
|
1603
|
-
{
|
|
1604
|
-
pattern: /expected.*:/i,
|
|
1605
|
-
code: "MISSING_COLON",
|
|
1606
|
-
message: () => "Missing colon after property name.",
|
|
1607
|
-
suggestions: () => [
|
|
1608
|
-
{
|
|
1609
|
-
description: "Add colon after property name",
|
|
1610
|
-
fix: "propertyName: value"
|
|
1611
|
-
}
|
|
1612
|
-
]
|
|
1613
|
-
},
|
|
1614
|
-
// Unclosed string
|
|
1615
|
-
{
|
|
1616
|
-
pattern: /unterminated string|unexpected newline in string/i,
|
|
1617
|
-
code: "MISSING_QUOTE",
|
|
1618
|
-
message: () => "Unclosed string literal. Make sure strings have closing quotes.",
|
|
1619
|
-
suggestions: () => [
|
|
1620
|
-
{
|
|
1621
|
-
description: "Add closing quote",
|
|
1622
|
-
fix: `Ensure string ends with matching " or '`
|
|
1623
|
-
},
|
|
1624
|
-
{
|
|
1625
|
-
description: "For multi-line strings, use template literals",
|
|
1626
|
-
fix: "Use backticks ` for multi-line strings"
|
|
1627
|
-
}
|
|
1628
|
-
]
|
|
1629
|
-
},
|
|
1630
|
-
// Unknown keyword
|
|
1631
|
-
{
|
|
1632
|
-
pattern: /unexpected identifier ["']?(\w+)["']?/i,
|
|
1633
|
-
code: "UNKNOWN_KEYWORD",
|
|
1634
|
-
message: (match) => `Unknown keyword: ${match[1]}`,
|
|
1635
|
-
suggestions: (match) => {
|
|
1636
|
-
const word = match[1];
|
|
1637
|
-
const similar = findSimilar(word, VALID_KEYWORDS);
|
|
1638
|
-
return similar.map((s) => ({
|
|
1639
|
-
description: `Did you mean '${s}'?`,
|
|
1640
|
-
fix: `Replace '${word}' with '${s}'`
|
|
1641
|
-
}));
|
|
1642
|
-
}
|
|
1643
|
-
}
|
|
1644
|
-
];
|
|
1645
|
-
var ErrorRecovery = class {
|
|
1646
|
-
constructor() {
|
|
1647
|
-
this.errors = [];
|
|
1648
|
-
}
|
|
1649
|
-
/**
|
|
1650
|
-
* Create an enhanced error with suggestions
|
|
1651
|
-
*/
|
|
1652
|
-
createError(code, message, line, column, source) {
|
|
1653
|
-
const error = {
|
|
1654
|
-
code,
|
|
1655
|
-
message,
|
|
1656
|
-
line,
|
|
1657
|
-
column,
|
|
1658
|
-
source,
|
|
1659
|
-
suggestions: this.getSuggestions(code, message, source)
|
|
1660
|
-
};
|
|
1661
|
-
this.errors.push(error);
|
|
1662
|
-
return error;
|
|
1663
|
-
}
|
|
1664
|
-
/**
|
|
1665
|
-
* Get suggestions based on error type
|
|
1666
|
-
*/
|
|
1667
|
-
getSuggestions(code, message, _source) {
|
|
1668
|
-
const suggestions = [];
|
|
1669
|
-
switch (code) {
|
|
1670
|
-
case "UNKNOWN_TRAIT":
|
|
1671
|
-
const traitMatch = message.match(/trait.*["'](\w+)["']/i);
|
|
1672
|
-
if (traitMatch) {
|
|
1673
|
-
const similar = findSimilar(traitMatch[1], VALID_TRAITS);
|
|
1674
|
-
suggestions.push(
|
|
1675
|
-
...similar.map((s) => ({
|
|
1676
|
-
description: `Did you mean '@${s}'?`,
|
|
1677
|
-
fix: `Replace with @${s}`
|
|
1678
|
-
}))
|
|
1679
|
-
);
|
|
1680
|
-
}
|
|
1681
|
-
break;
|
|
1682
|
-
case "UNKNOWN_GEOMETRY":
|
|
1683
|
-
const geoMatch = message.match(/geometry.*["'](\w+)["']/i);
|
|
1684
|
-
if (geoMatch) {
|
|
1685
|
-
const similar = findSimilar(geoMatch[1], VALID_GEOMETRIES);
|
|
1686
|
-
suggestions.push(
|
|
1687
|
-
...similar.map((s) => ({
|
|
1688
|
-
description: `Did you mean '${s}'?`,
|
|
1689
|
-
fix: `geometry: "${s}"`
|
|
1690
|
-
}))
|
|
1691
|
-
);
|
|
1692
|
-
}
|
|
1693
|
-
break;
|
|
1694
|
-
case "INVALID_PROPERTY":
|
|
1695
|
-
const propMatch = message.match(/property.*["'](\w+)["']/i);
|
|
1696
|
-
if (propMatch) {
|
|
1697
|
-
const similar = findSimilar(propMatch[1], COMMON_PROPERTIES);
|
|
1698
|
-
suggestions.push(
|
|
1699
|
-
...similar.map((s) => ({
|
|
1700
|
-
description: `Did you mean '${s}'?`,
|
|
1701
|
-
fix: `${s}: value`
|
|
1702
|
-
}))
|
|
1703
|
-
);
|
|
1704
|
-
}
|
|
1705
|
-
break;
|
|
1706
|
-
case "TRAIT_CONFLICT":
|
|
1707
|
-
suggestions.push({
|
|
1708
|
-
description: "Remove one of the conflicting traits",
|
|
1709
|
-
fix: "Check trait documentation for compatibility"
|
|
1710
|
-
});
|
|
1711
|
-
break;
|
|
1712
|
-
case "TRAIT_REQUIRES":
|
|
1713
|
-
suggestions.push({
|
|
1714
|
-
description: "Add the required trait",
|
|
1715
|
-
fix: "Some traits depend on others (e.g., @throwable requires @grabbable)"
|
|
1716
|
-
});
|
|
1717
|
-
break;
|
|
1718
|
-
case "MISSING_BRACE":
|
|
1719
|
-
suggestions.push({
|
|
1720
|
-
description: "Check for matching braces",
|
|
1721
|
-
fix: "Every { must have a corresponding }"
|
|
1722
|
-
});
|
|
1723
|
-
break;
|
|
1724
|
-
case "MISSING_COLON":
|
|
1725
|
-
suggestions.push({
|
|
1726
|
-
description: "Add colon after property name",
|
|
1727
|
-
fix: "Format: propertyName: value"
|
|
1728
|
-
});
|
|
1729
|
-
break;
|
|
1730
|
-
case "MISSING_QUOTE":
|
|
1731
|
-
suggestions.push({
|
|
1732
|
-
description: "Close the string with matching quote",
|
|
1733
|
-
fix: "Strings must end with the same quote they started with"
|
|
1734
|
-
});
|
|
1735
|
-
break;
|
|
1736
|
-
case "INVALID_VALUE":
|
|
1737
|
-
suggestions.push({
|
|
1738
|
-
description: "Check value type",
|
|
1739
|
-
fix: 'position expects [x, y, z], color expects "#rrggbb"'
|
|
1740
|
-
});
|
|
1741
|
-
break;
|
|
1742
|
-
case "DUPLICATE_NAME":
|
|
1743
|
-
suggestions.push({
|
|
1744
|
-
description: "Use unique names for objects",
|
|
1745
|
-
fix: "Each object in a composition must have a unique name"
|
|
1746
|
-
});
|
|
1747
|
-
break;
|
|
1748
|
-
case "MISSING_REQUIRED":
|
|
1749
|
-
suggestions.push({
|
|
1750
|
-
description: "Add required properties",
|
|
1751
|
-
fix: "Some blocks require certain properties to be defined"
|
|
1752
|
-
});
|
|
1753
|
-
break;
|
|
1754
|
-
case "UNKNOWN_KEYWORD": {
|
|
1755
|
-
const kwMatch = message.match(/keyword.*[:"']?\s*(\w+)/i);
|
|
1756
|
-
if (kwMatch) {
|
|
1757
|
-
const similar = findSimilar(kwMatch[1], VALID_KEYWORDS);
|
|
1758
|
-
suggestions.push(
|
|
1759
|
-
...similar.map((s) => ({
|
|
1760
|
-
description: `Did you mean '${s}'?`,
|
|
1761
|
-
fix: `Replace with ${s}`
|
|
1762
|
-
}))
|
|
1763
|
-
);
|
|
1764
|
-
}
|
|
1765
|
-
if (suggestions.length === 0) {
|
|
1766
|
-
suggestions.push({
|
|
1767
|
-
description: "Check available keywords",
|
|
1768
|
-
fix: "Valid keywords: composition, object, group, template, etc."
|
|
1769
|
-
});
|
|
1770
|
-
}
|
|
1771
|
-
break;
|
|
1772
|
-
}
|
|
1773
|
-
case "SYNTAX_ERROR":
|
|
1774
|
-
suggestions.push({
|
|
1775
|
-
description: "Check syntax around this location",
|
|
1776
|
-
fix: "Verify braces, quotes, and property format"
|
|
1777
|
-
});
|
|
1778
|
-
break;
|
|
1779
|
-
}
|
|
1780
|
-
return suggestions;
|
|
1781
|
-
}
|
|
1782
|
-
/**
|
|
1783
|
-
* Analyze raw error message and enhance it
|
|
1784
|
-
*/
|
|
1785
|
-
analyzeError(rawMessage, source, line, column) {
|
|
1786
|
-
for (const pattern of ERROR_PATTERNS) {
|
|
1787
|
-
const match = rawMessage.match(pattern.pattern);
|
|
1788
|
-
if (match) {
|
|
1789
|
-
const context = { source, line, column };
|
|
1790
|
-
return {
|
|
1791
|
-
code: pattern.code,
|
|
1792
|
-
message: pattern.message(match),
|
|
1793
|
-
line,
|
|
1794
|
-
column,
|
|
1795
|
-
source,
|
|
1796
|
-
suggestions: pattern.suggestions(match, context)
|
|
1797
|
-
};
|
|
1798
|
-
}
|
|
1799
|
-
}
|
|
1800
|
-
return {
|
|
1801
|
-
code: "SYNTAX_ERROR",
|
|
1802
|
-
message: rawMessage,
|
|
1803
|
-
line,
|
|
1804
|
-
column,
|
|
1805
|
-
source,
|
|
1806
|
-
suggestions: [
|
|
1807
|
-
{
|
|
1808
|
-
description: "Check syntax around this location",
|
|
1809
|
-
fix: "Verify braces, quotes, and property format"
|
|
1810
|
-
}
|
|
1811
|
-
]
|
|
1812
|
-
};
|
|
1813
|
-
}
|
|
1814
|
-
/**
|
|
1815
|
-
* Format error for display
|
|
1816
|
-
*/
|
|
1817
|
-
formatError(error) {
|
|
1818
|
-
const lines = [];
|
|
1819
|
-
lines.push(`[${error.code}] ${error.message}`);
|
|
1820
|
-
lines.push(` at line ${error.line}, column ${error.column}`);
|
|
1821
|
-
if (error.source) {
|
|
1822
|
-
lines.push("");
|
|
1823
|
-
lines.push(` ${error.source}`);
|
|
1824
|
-
lines.push(` ${" ".repeat(error.column - 1)}^`);
|
|
1825
|
-
}
|
|
1826
|
-
if (error.suggestions && error.suggestions.length > 0) {
|
|
1827
|
-
lines.push("");
|
|
1828
|
-
lines.push("Suggestions:");
|
|
1829
|
-
for (const suggestion of error.suggestions) {
|
|
1830
|
-
lines.push(` \u2022 ${suggestion.description}`);
|
|
1831
|
-
if (suggestion.fix) {
|
|
1832
|
-
lines.push(` Fix: ${suggestion.fix}`);
|
|
1833
|
-
}
|
|
1834
|
-
}
|
|
1835
|
-
}
|
|
1836
|
-
return lines.join("\n");
|
|
1837
|
-
}
|
|
1838
|
-
/**
|
|
1839
|
-
* Get all collected errors
|
|
1840
|
-
*/
|
|
1841
|
-
getErrors() {
|
|
1842
|
-
return [...this.errors];
|
|
1843
|
-
}
|
|
1844
|
-
/**
|
|
1845
|
-
* Clear collected errors
|
|
1846
|
-
*/
|
|
1847
|
-
clear() {
|
|
1848
|
-
this.errors = [];
|
|
1849
|
-
}
|
|
1850
|
-
/**
|
|
1851
|
-
* Check if there are any errors
|
|
1852
|
-
*/
|
|
1853
|
-
hasErrors() {
|
|
1854
|
-
return this.errors.length > 0;
|
|
1855
|
-
}
|
|
1856
|
-
};
|
|
1857
|
-
function findSimilar(input, candidates, maxDistance = 3) {
|
|
1858
|
-
const results = [];
|
|
1859
|
-
for (const candidate of candidates) {
|
|
1860
|
-
const distance = levenshteinDistance(input.toLowerCase(), candidate.toLowerCase());
|
|
1861
|
-
if (distance <= maxDistance) {
|
|
1862
|
-
results.push({ word: candidate, distance });
|
|
1863
|
-
}
|
|
1864
|
-
}
|
|
1865
|
-
return results.sort((a, b) => a.distance - b.distance).slice(0, 3).map((r) => r.word);
|
|
1866
|
-
}
|
|
1867
|
-
function levenshteinDistance(a, b) {
|
|
1868
|
-
const matrix = [];
|
|
1869
|
-
for (let i = 0; i <= b.length; i++) {
|
|
1870
|
-
matrix[i] = [i];
|
|
1871
|
-
}
|
|
1872
|
-
for (let j = 0; j <= a.length; j++) {
|
|
1873
|
-
matrix[0][j] = j;
|
|
1874
|
-
}
|
|
1875
|
-
for (let i = 1; i <= b.length; i++) {
|
|
1876
|
-
for (let j = 1; j <= a.length; j++) {
|
|
1877
|
-
if (b.charAt(i - 1) === a.charAt(j - 1)) {
|
|
1878
|
-
matrix[i][j] = matrix[i - 1][j - 1];
|
|
1879
|
-
} else {
|
|
1880
|
-
matrix[i][j] = Math.min(
|
|
1881
|
-
matrix[i - 1][j - 1] + 1,
|
|
1882
|
-
// substitution
|
|
1883
|
-
matrix[i][j - 1] + 1,
|
|
1884
|
-
// insertion
|
|
1885
|
-
matrix[i - 1][j] + 1
|
|
1886
|
-
// deletion
|
|
1887
|
-
);
|
|
1888
|
-
}
|
|
1889
|
-
}
|
|
1890
|
-
}
|
|
1891
|
-
return matrix[b.length][a.length];
|
|
1892
|
-
}
|
|
1893
|
-
function enrichErrorWithSuggestions(error, source) {
|
|
1894
|
-
if (error.suggestions && error.suggestions.length > 0) {
|
|
1895
|
-
return error;
|
|
1896
|
-
}
|
|
1897
|
-
const suggestions = [];
|
|
1898
|
-
switch (error.code) {
|
|
1899
|
-
case "UNKNOWN_TRAIT":
|
|
1900
|
-
const traitMatch = error.message.match(/trait.*["'](\w+)["']/i);
|
|
1901
|
-
if (traitMatch) {
|
|
1902
|
-
const similar = findSimilar(traitMatch[1], VALID_TRAITS);
|
|
1903
|
-
suggestions.push(
|
|
1904
|
-
...similar.map((s) => ({
|
|
1905
|
-
description: `Did you mean '@${s}'?`,
|
|
1906
|
-
fix: `Replace with @${s}`
|
|
1907
|
-
}))
|
|
1908
|
-
);
|
|
1909
|
-
}
|
|
1910
|
-
break;
|
|
1911
|
-
case "UNKNOWN_KEYWORD":
|
|
1912
|
-
const keywordMatch = error.message.match(/keyword.*["'](\w+)["']/i);
|
|
1913
|
-
if (keywordMatch) {
|
|
1914
|
-
const similar = findSimilar(keywordMatch[1], VALID_KEYWORDS);
|
|
1915
|
-
suggestions.push(
|
|
1916
|
-
...similar.map((s) => ({
|
|
1917
|
-
description: `Did you mean '${s}'?`,
|
|
1918
|
-
fix: `Replace with ${s}`
|
|
1919
|
-
}))
|
|
1920
|
-
);
|
|
1921
|
-
}
|
|
1922
|
-
break;
|
|
1923
|
-
case "UNKNOWN_GEOMETRY":
|
|
1924
|
-
const geomMatch = error.message.match(/geometry.*["'](\w+)["']/i);
|
|
1925
|
-
if (geomMatch) {
|
|
1926
|
-
const similar = findSimilar(geomMatch[1], VALID_GEOMETRIES);
|
|
1927
|
-
suggestions.push(
|
|
1928
|
-
...similar.map((s) => ({
|
|
1929
|
-
description: `Did you mean '${s}'?`,
|
|
1930
|
-
fix: `Replace with ${s}`
|
|
1931
|
-
}))
|
|
1932
|
-
);
|
|
1933
|
-
}
|
|
1934
|
-
break;
|
|
1935
|
-
case "MISSING_BRACE":
|
|
1936
|
-
suggestions.push({
|
|
1937
|
-
description: "Add closing brace at the end",
|
|
1938
|
-
fix: "Add } to close the block"
|
|
1939
|
-
});
|
|
1940
|
-
break;
|
|
1941
|
-
case "MISSING_COLON":
|
|
1942
|
-
suggestions.push({
|
|
1943
|
-
description: "Add colon after property name",
|
|
1944
|
-
fix: "propertyName: value"
|
|
1945
|
-
});
|
|
1946
|
-
break;
|
|
1947
|
-
case "MISSING_QUOTE":
|
|
1948
|
-
suggestions.push({
|
|
1949
|
-
description: "Add closing quote",
|
|
1950
|
-
fix: `Ensure string ends with matching " or '`
|
|
1951
|
-
});
|
|
1952
|
-
break;
|
|
1953
|
-
}
|
|
1954
|
-
for (const pattern of ERROR_PATTERNS) {
|
|
1955
|
-
const match = error.message.match(pattern.pattern);
|
|
1956
|
-
if (match) {
|
|
1957
|
-
const context = {
|
|
1958
|
-
source,
|
|
1959
|
-
line: error.line,
|
|
1960
|
-
column: error.column
|
|
1961
|
-
};
|
|
1962
|
-
suggestions.push(...pattern.suggestions(match, context));
|
|
1963
|
-
break;
|
|
1964
|
-
}
|
|
1965
|
-
}
|
|
1966
|
-
return {
|
|
1967
|
-
...error,
|
|
1968
|
-
suggestions: suggestions.length > 0 ? suggestions : error.suggestions
|
|
1969
|
-
};
|
|
1970
|
-
}
|
|
1971
|
-
function generateQuickFixes(error, source) {
|
|
1972
|
-
const fixes = [];
|
|
1973
|
-
switch (error.code) {
|
|
1974
|
-
case "MISSING_BRACE":
|
|
1975
|
-
fixes.push({
|
|
1976
|
-
title: "Add closing brace",
|
|
1977
|
-
edit: {
|
|
1978
|
-
range: { start: source.length, end: source.length },
|
|
1979
|
-
newText: "\n}"
|
|
1980
|
-
}
|
|
1981
|
-
});
|
|
1982
|
-
break;
|
|
1983
|
-
case "MISSING_COLON":
|
|
1984
|
-
const lineStart = getLineStart(source, error.line);
|
|
1985
|
-
const lineEnd = source.indexOf("\n", lineStart);
|
|
1986
|
-
const line = source.substring(lineStart, lineEnd === -1 ? void 0 : lineEnd);
|
|
1987
|
-
const match = line.match(/^\s*(\w+)\s+/);
|
|
1988
|
-
if (match) {
|
|
1989
|
-
fixes.push({
|
|
1990
|
-
title: "Add colon after property",
|
|
1991
|
-
edit: {
|
|
1992
|
-
range: { start: lineStart + match[0].length - 1, end: lineStart + match[0].length - 1 },
|
|
1993
|
-
newText: ":"
|
|
1994
|
-
}
|
|
1995
|
-
});
|
|
1996
|
-
}
|
|
1997
|
-
break;
|
|
1998
|
-
case "MISSING_QUOTE":
|
|
1999
|
-
fixes.push({
|
|
2000
|
-
title: "Add closing quote",
|
|
2001
|
-
edit: {
|
|
2002
|
-
range: { start: source.length, end: source.length },
|
|
2003
|
-
newText: '"'
|
|
2004
|
-
}
|
|
2005
|
-
});
|
|
2006
|
-
break;
|
|
2007
|
-
}
|
|
2008
|
-
return fixes;
|
|
2009
|
-
}
|
|
2010
|
-
function getLineStart(source, lineNumber) {
|
|
2011
|
-
let line = 1;
|
|
2012
|
-
let pos = 0;
|
|
2013
|
-
while (line < lineNumber && pos < source.length) {
|
|
2014
|
-
if (source[pos] === "\n") {
|
|
2015
|
-
line++;
|
|
2016
|
-
}
|
|
2017
|
-
pos++;
|
|
2018
|
-
}
|
|
2019
|
-
return pos;
|
|
2020
|
-
}
|
|
2021
|
-
var HOLOSCHEMA_KEYWORDS = VALID_KEYWORDS;
|
|
2022
|
-
var HOLOSCHEMA_GEOMETRIES = VALID_GEOMETRIES;
|
|
2023
|
-
var HOLOSCHEMA_PROPERTIES = COMMON_PROPERTIES;
|
|
2024
|
-
|
|
2025
|
-
export { ErrorRecovery, HOLOSCHEMA_GEOMETRIES, HOLOSCHEMA_KEYWORDS, HOLOSCHEMA_PROPERTIES, LIFECYCLE_HOOKS, STRUCTURAL_DIRECTIVES, VR_TRAITS, enrichErrorWithSuggestions, generateQuickFixes };
|
|
2026
|
-
//# sourceMappingURL=chunk-DXVCEFZB.js.map
|
|
2027
|
-
//# sourceMappingURL=chunk-DXVCEFZB.js.map
|