@carbonenginejs/runtime-trinity 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/curves/CjsGrannyCurves.js +12 -13
  2. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  3. package/dist/eve/EveBannerSet.js +20 -1
  4. package/dist/eve/EveBannerSet.js.map +1 -1
  5. package/dist/eve/EveBoosterSet2.js +19 -1
  6. package/dist/eve/EveBoosterSet2.js.map +1 -1
  7. package/dist/eve/EveComponentTypes.js +116 -0
  8. package/dist/eve/EveComponentTypes.js.map +1 -0
  9. package/dist/eve/EveHazeSet.js +18 -1
  10. package/dist/eve/EveHazeSet.js.map +1 -1
  11. package/dist/eve/EvePlaneSet.js +19 -1
  12. package/dist/eve/EvePlaneSet.js.map +1 -1
  13. package/dist/eve/EveSpotlightSet.js +18 -1
  14. package/dist/eve/EveSpotlightSet.js.map +1 -1
  15. package/dist/eve/EveSpriteLineSet.js +18 -1
  16. package/dist/eve/EveSpriteLineSet.js.map +1 -1
  17. package/dist/eve/EveSpriteSet.js +18 -1
  18. package/dist/eve/EveSpriteSet.js.map +1 -1
  19. package/dist/eve/EveUpdateContext.js +195 -31
  20. package/dist/eve/EveUpdateContext.js.map +1 -1
  21. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +23 -1
  22. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  23. package/dist/eve/attachment/turrets/EveTurretSet.js +43 -1
  24. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  25. package/dist/eve/child/EveChildContainer.js +95 -60
  26. package/dist/eve/child/EveChildContainer.js.map +1 -1
  27. package/dist/eve/child/EveChildFogVolume.js +14 -1
  28. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  29. package/dist/eve/child/EveChildInstancedMeshes.js +43 -1
  30. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  31. package/dist/eve/child/EveChildLightingOverride.js +14 -1
  32. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  33. package/dist/eve/child/EveChildMesh.js +121 -80
  34. package/dist/eve/child/EveChildMesh.js.map +1 -1
  35. package/dist/eve/child/EveChildTransform.js +27 -17
  36. package/dist/eve/child/EveChildTransform.js.map +1 -1
  37. package/dist/eve/index.js +2 -0
  38. package/dist/eve/index.js.map +1 -1
  39. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +14 -1
  40. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  41. package/dist/eve/renderable/stretch/EveStretch.js +11 -1
  42. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  43. package/dist/eve/renderable/stretch/EveStretch2.js +14 -1
  44. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  45. package/dist/eve/renderable/stretch/EveStretch3.js +24 -1
  46. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  47. package/dist/eve/scene/EveSpaceScene.js +443 -16
  48. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  49. package/dist/eve/spaceObject/EveEffectRoot2.js +28 -1
  50. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  51. package/dist/eve/spaceObject/EveMobile.js +25 -1
  52. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  53. package/dist/eve/spaceObject/EveSpaceObject2.js +59 -1
  54. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  55. package/dist/generated/eve/child/EveChildCloud2.js +88 -5
  56. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  57. package/dist/generated/eve/child/EveChildExplosion.js +17 -1
  58. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  59. package/dist/generated/eve/child/EveChildInstanceContainer.js +29 -1
  60. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  61. package/dist/generated/eve/child/EveChildParticleSystem.js +32 -24
  62. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  63. package/dist/generated/eve/child/EveChildPlug.js +23 -1
  64. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  65. package/dist/generated/eve/child/EveChildPostProcessVolume.js +27 -14
  66. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  67. package/dist/generated/eve/child/EveChildRef.js +17 -1
  68. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  69. package/dist/generated/eve/child/EveChildSocket.js +17 -1
  70. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  71. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +43 -40
  72. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  73. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +53 -49
  74. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  75. package/dist/generated/eve/scene/EveComponentRegistry.js +11 -0
  76. package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
  77. package/dist/generated/eve/scene/TriShadowFrustum.js +74 -22
  78. package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
  79. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +128 -26
  80. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
  81. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +37 -24
  82. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  83. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +29 -28
  84. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  85. package/dist/generated/eve/spaceObject/EveShip2.js +39 -19
  86. package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
  87. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +28 -1
  88. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  89. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +28 -1
  90. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  91. package/dist/index.js +3 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/trinityCore/TriFrustum.js +374 -0
  94. package/dist/trinityCore/TriFrustum.js.map +1 -0
  95. package/dist/trinityCore/TriFrustumOrtho.js +158 -0
  96. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
  97. package/dist/trinityCore/index.js +2 -0
  98. package/dist/trinityCore/index.js.map +1 -1
  99. package/package.json +2 -2
@@ -2,6 +2,7 @@ import { applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelH
2
2
  import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
3
3
  import { EveEntity as _EveEntity } from '../generated/eve/EveEntity.js';
4
4
  import { EveSpotlightLight as _EveSpotlightLight } from './EveSpotlightLight.js';
5
+ import { EveComponentType } from './EveComponentTypes.js';
5
6
 
6
7
  let _initProto, _initClass, _init_spotlightItems, _init_extra_spotlightItems, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_coneEffect, _init_extra_coneEffect, _init_glowEffect, _init_extra_glowEffect, _init_skinned, _init_extra_skinned, _init_intensity, _init_extra_intensity, _init_lights, _init_extra_lights;
7
8
  let _EveSpotlightSet;
@@ -13,7 +14,7 @@ class EveSpotlightSet extends _EveEntity {
13
14
  } = _applyDecs2311(this, [type.define({
14
15
  className: "EveSpotlightSet",
15
16
  family: "eve/attachment/spotlights"
16
- })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveSpotlightSetItem")], 16, "spotlightItems"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "coneEffect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "glowEffect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.persist, type, type.float32], 16, "intensity"], [[io, io.persist, void 0, type.list("EveSpotlightLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConeEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetConeEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetGlowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSkinned"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSpotlightItems"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddSpotlightItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"]], 0, void 0, _EveEntity));
17
+ })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveSpotlightSetItem")], 16, "spotlightItems"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "coneEffect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "glowEffect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.persist, type, type.float32], 16, "intensity"], [[io, io.persist, void 0, type.list("EveSpotlightLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConeEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetConeEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetGlowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlowEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSkinned"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSpotlightItems"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddSpotlightItem"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetLights"]], 0, void 0, _EveEntity));
17
18
  }
18
19
  spotlightItems = (_initProto(this), _init_spotlightItems(this, []));
19
20
  name = (_init_extra_spotlightItems(this), _init_name(this, ""));
@@ -72,6 +73,22 @@ class EveSpotlightSet extends _EveEntity {
72
73
  AddLightFromSOF(light) {
73
74
  this.lights.push(_EveSpotlightLight.FromSOF(light));
74
75
  }
76
+
77
+ /** Carbon EveSpotlightSet::RegisterComponents (cpp:527-534): LightOwner
78
+ * when lights are authored. */
79
+ RegisterComponents() {
80
+ const registry = this.GetComponentRegistry();
81
+ if (registry && this.lights.length) {
82
+ registry.RegisterComponent(EveComponentType.LightOwner, this);
83
+ }
84
+ }
85
+
86
+ /** Carbon EveSpotlightSet::GetLights (cpp:536-556): per-light submission.
87
+ * Awaits the LightOwner consumption pass (Tr2LightManager submission is
88
+ * unported); presence satisfies the "LightOwner" duck contract. */
89
+ GetLights(..._args) {
90
+ throw new Error("EveSpotlightSet.GetLights is not implemented in CarbonEngineJS.");
91
+ }
75
92
  static {
76
93
  _initClass();
77
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveSpotlightSet.js","sources":["../../../src/eve/EveSpotlightSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpotlightSet.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpotlightSet.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\nimport { EveSpotlightLight } from \"./EveSpotlightLight.js\";\n\n\n@type.define({ className: \"EveSpotlightSet\", family: \"eve/attachment/spotlights\" })\nexport class EveSpotlightSet extends EveEntity\n{\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.list(\"EveSpotlightSetItem\")\n spotlightItems = [];\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.boolean\n display = true;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n coneEffect = null;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n glowEffect = null;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.boolean\n skinned = false;\n\n @io.persist\n @type.float32\n intensity = 1;\n\n @io.persist\n @type.list(\"EveSpotlightLight\")\n lights = [];\n\n #rebuildRevision = 0;\n\n @carbon.method\n @impl.adapted\n Rebuild()\n {\n // Packed cone/glow vertices, bounds caches, effect hashes and quad\n // registration are reconciled by the concrete renderer adapter.\n this.#rebuildRevision++;\n this.__state.rebuild.add(\"packedGeometry\");\n }\n\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.Rebuild();\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetConeEffect()\n {\n return this.coneEffect;\n }\n\n @carbon.method\n @impl.implemented\n SetConeEffect(effect)\n {\n this.coneEffect = effect ?? null;\n }\n\n @carbon.method\n @impl.implemented\n GetGlowEffect()\n {\n return this.glowEffect;\n }\n\n @carbon.method\n @impl.implemented\n SetGlowEffect(effect)\n {\n this.glowEffect = effect ?? null;\n }\n\n @carbon.method\n @impl.implemented\n SetSkinned(skinned)\n {\n this.skinned = !!skinned;\n }\n\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.name = String(name ?? \"\");\n }\n\n @carbon.method\n @impl.implemented\n GetSpotlightItems()\n {\n return this.spotlightItems;\n }\n\n @carbon.method\n @impl.implemented\n AddSpotlightItem(item)\n {\n this.spotlightItems.push(item);\n }\n\n @carbon.method\n @impl.adapted\n SetShaderOption(name, value)\n {\n if (this.coneEffect && typeof this.coneEffect.SetOption === \"function\")\n {\n this.coneEffect.SetOption(name, value);\n }\n if (this.glowEffect && typeof this.glowEffect.SetOption === \"function\")\n {\n this.glowEffect.SetOption(name, value);\n }\n }\n\n @carbon.method\n @impl.adapted\n AddLightFromSOF(light)\n {\n this.lights.push(EveSpotlightLight.FromSOF(light));\n }\n}\n"],"names":["_EveSpotlightSet","EveSpotlightSet","EveEntity","e","_init_spotlightItems","_init_extra_spotlightItems","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_coneEffect","_init_extra_coneEffect","_init_glowEffect","_init_extra_glowEffect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","list","string","boolean","objectRef","float32","carbon","method","impl","adapted","implemented","spotlightItems","name","display","coneEffect","glowEffect","skinned","intensity","lights","Rebuild","__state","add","Initialize","GetConeEffect","SetConeEffect","effect","GetGlowEffect","SetGlowEffect","SetSkinned","GetName","SetName","String","GetSpotlightItems","AddSpotlightItem","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveSpotlightLight","FromSOF"],"mappings":"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"}
1
+ {"version":3,"file":"EveSpotlightSet.js","sources":["../../../src/eve/EveSpotlightSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpotlightSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpotlightSet.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveSpotlightLight } from \"./EveSpotlightLight.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveSpotlightSet\", family: \"eve/attachment/spotlights\" })\r\nexport class EveSpotlightSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EveSpotlightSetItem\")\r\n spotlightItems = [];\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n coneEffect = null;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n glowEffect = null;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.list(\"EveSpotlightLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n // Packed cone/glow vertices, bounds caches, effect hashes and quad\r\n // registration are reconciled by the concrete renderer adapter.\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetConeEffect()\r\n {\r\n return this.coneEffect;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetConeEffect(effect)\r\n {\r\n this.coneEffect = effect ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetGlowEffect()\r\n {\r\n return this.glowEffect;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetGlowEffect(effect)\r\n {\r\n this.glowEffect = effect ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetSkinned(skinned)\r\n {\r\n this.skinned = !!skinned;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetSpotlightItems()\r\n {\r\n return this.spotlightItems;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddSpotlightItem(item)\r\n {\r\n this.spotlightItems.push(item);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n if (this.coneEffect && typeof this.coneEffect.SetOption === \"function\")\r\n {\r\n this.coneEffect.SetOption(name, value);\r\n }\r\n if (this.glowEffect && typeof this.glowEffect.SetOption === \"function\")\r\n {\r\n this.glowEffect.SetOption(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveSpotlightLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveSpotlightSet::RegisterComponents (cpp:527-534): LightOwner\r\n * when lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSpotlightSet::GetLights (cpp:536-556): per-light submission.\r\n * Awaits the LightOwner consumption pass (Tr2LightManager submission is\r\n * unported); presence satisfies the \"LightOwner\" duck contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveSpotlightSet.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n}\r\n"],"names":["_EveSpotlightSet","EveSpotlightSet","EveEntity","e","_init_spotlightItems","_init_extra_spotlightItems","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_coneEffect","_init_extra_coneEffect","_init_glowEffect","_init_extra_glowEffect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","list","string","boolean","objectRef","float32","carbon","method","impl","adapted","implemented","notImplemented","spotlightItems","name","display","coneEffect","glowEffect","skinned","intensity","lights","Rebuild","__state","add","Initialize","GetConeEffect","SetConeEffect","effect","GetGlowEffect","SetGlowEffect","SetSkinned","GetName","SetName","String","GetSpotlightItems","AddSpotlightItem","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveSpotlightLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","length","RegisterComponent","EveComponentType","LightOwner","GetLights","_args","Error"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelH
2
2
  import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
3
3
  import { EveEntity as _EveEntity } from '../generated/eve/EveEntity.js';
4
4
  import { EveSpriteLight as _EveSpriteLight } from './EveSpriteLight.js';
5
+ import { EveComponentType } from './EveComponentTypes.js';
5
6
 
6
7
  let _initProto, _initClass, _init_spriteLines, _init_extra_spriteLines, _init_skinned, _init_extra_skinned, _init_effectHash, _init_extra_effectHash, _init_effect, _init_extra_effect, _init_display, _init_extra_display, _init_name, _init_extra_name, _init_lights, _init_extra_lights;
7
8
  let _EveSpriteLineSet;
@@ -13,7 +14,7 @@ class EveSpriteLineSet extends _EveEntity {
13
14
  } = _applyDecs2311(this, [type.define({
14
15
  className: "EveSpriteLineSet",
15
16
  family: "eve/attachment/sprites"
16
- })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveSpriteLineSetItem")], 16, "spriteLines"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.read, type, type.uint32], 16, "effectHash"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, void 0, type.list("EveSpriteLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "Add"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"]], 0, void 0, _EveEntity));
17
+ })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveSpriteLineSetItem")], 16, "spriteLines"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.read, type, type.uint32], 16, "effectHash"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, void 0, type.list("EveSpriteLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "Add"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetLights"]], 0, void 0, _EveEntity));
17
18
  }
18
19
  spriteLines = (_initProto(this), _init_spriteLines(this, []));
19
20
  skinned = (_init_extra_spriteLines(this), _init_skinned(this, false));
@@ -48,6 +49,22 @@ class EveSpriteLineSet extends _EveEntity {
48
49
  AddLightFromSOF(light) {
49
50
  this.lights.push(_EveSpriteLight.FromSOF(light));
50
51
  }
52
+
53
+ /** Carbon EveSpriteLineSet::RegisterComponents (cpp:349-356): LightOwner
54
+ * when lights are authored. */
55
+ RegisterComponents() {
56
+ const registry = this.GetComponentRegistry();
57
+ if (registry && this.lights.length) {
58
+ registry.RegisterComponent(EveComponentType.LightOwner, this);
59
+ }
60
+ }
61
+
62
+ /** Carbon EveSpriteLineSet::GetLights (cpp:358-375): per-light submission.
63
+ * Awaits the LightOwner consumption pass (Tr2LightManager submission is
64
+ * unported); presence satisfies the "LightOwner" duck contract. */
65
+ GetLights(..._args) {
66
+ throw new Error("EveSpriteLineSet.GetLights is not implemented in CarbonEngineJS.");
67
+ }
51
68
  static {
52
69
  _initClass();
53
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveSpriteLineSet.js","sources":["../../../src/eve/EveSpriteLineSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteLineSet.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteLineSet.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\n\n\n@type.define({ className: \"EveSpriteLineSet\", family: \"eve/attachment/sprites\" })\nexport class EveSpriteLineSet extends EveEntity\n{\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.list(\"EveSpriteLineSetItem\")\n spriteLines = [];\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.boolean\n skinned = false;\n\n @io.read\n @type.uint32\n effectHash = 0;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.list(\"EveSpriteLight\")\n lights = [];\n\n #rebuildRevision = 0;\n\n @carbon.method\n @impl.adapted\n Rebuild()\n {\n // Position expansion is available on each item, but packed quad data,\n // effect hashes, bounds caches and registration belong to the adapter.\n this.#rebuildRevision++;\n this.__state.rebuild.add(\"packedGeometry\");\n }\n\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.Rebuild();\n return true;\n }\n\n @carbon.method\n @impl.implemented\n Setup(effect, isSkinned)\n {\n this.effect = effect ?? null;\n this.skinned = !!isSkinned;\n }\n\n @carbon.method\n @impl.implemented\n Add(item)\n {\n this.spriteLines.push(item);\n }\n\n @carbon.method\n @impl.adapted\n SetShaderOption(name, value)\n {\n if (this.effect && typeof this.effect.SetOption === \"function\")\n {\n this.effect.SetOption(name, value);\n }\n }\n\n @carbon.method\n @impl.adapted\n AddLightFromSOF(light)\n {\n this.lights.push(EveSpriteLight.FromSOF(light));\n }\n}\n"],"names":["_EveSpriteLineSet","EveSpriteLineSet","EveEntity","e","_init_spriteLines","_init_extra_spriteLines","_init_skinned","_init_extra_skinned","_init_effectHash","_init_extra_effectHash","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","list","boolean","read","uint32","objectRef","readwrite","string","carbon","method","impl","adapted","implemented","spriteLines","skinned","effectHash","effect","display","name","lights","Rebuild","__state","add","Initialize","Setup","isSkinned","Add","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveSpriteLight","FromSOF"],"mappings":"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"}
1
+ {"version":3,"file":"EveSpriteLineSet.js","sources":["../../../src/eve/EveSpriteLineSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteLineSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteLineSet.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveSpriteLineSet\", family: \"eve/attachment/sprites\" })\r\nexport class EveSpriteLineSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EveSpriteLineSetItem\")\r\n spriteLines = [];\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.read\r\n @type.uint32\r\n effectHash = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.list(\"EveSpriteLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n // Position expansion is available on each item, but packed quad data,\r\n // effect hashes, bounds caches and registration belong to the adapter.\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(effect, isSkinned)\r\n {\r\n this.effect = effect ?? null;\r\n this.skinned = !!isSkinned;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Add(item)\r\n {\r\n this.spriteLines.push(item);\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n if (this.effect && typeof this.effect.SetOption === \"function\")\r\n {\r\n this.effect.SetOption(name, value);\r\n }\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveSpriteLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveSpriteLineSet::RegisterComponents (cpp:349-356): LightOwner\r\n * when lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSpriteLineSet::GetLights (cpp:358-375): per-light submission.\r\n * Awaits the LightOwner consumption pass (Tr2LightManager submission is\r\n * unported); presence satisfies the \"LightOwner\" duck contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveSpriteLineSet.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n}\r\n"],"names":["_EveSpriteLineSet","EveSpriteLineSet","EveEntity","e","_init_spriteLines","_init_extra_spriteLines","_init_skinned","_init_extra_skinned","_init_effectHash","_init_extra_effectHash","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","list","boolean","read","uint32","objectRef","readwrite","string","carbon","method","impl","adapted","implemented","notImplemented","spriteLines","skinned","effectHash","effect","display","name","lights","Rebuild","__state","add","Initialize","Setup","isSkinned","Add","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveSpriteLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","length","RegisterComponent","EveComponentType","LightOwner","GetLights","_args","Error"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
5
5
  import { EveEntity as _EveEntity } from '../generated/eve/EveEntity.js';
6
6
  import { EveSpriteSetItem as _EveSpriteSetItem } from '../generated/eve/attachment/sprites/EveSpriteSetItem.js';
7
7
  import { EveSpriteLight as _EveSpriteLight } from './EveSpriteLight.js';
8
+ import { EveComponentType } from './EveComponentTypes.js';
8
9
 
9
10
  let _initProto, _initClass, _init_sprites, _init_extra_sprites, _init_name, _init_extra_name, _init_effect, _init_extra_effect, _init_skinned, _init_extra_skinned, _init_intensity, _init_extra_intensity, _init_display, _init_extra_display, _init_lights, _init_extra_lights;
10
11
  let _EveSpriteSet;
@@ -16,7 +17,7 @@ class EveSpriteSet extends _EveEntity {
16
17
  } = _applyDecs2311(this, [type.define({
17
18
  className: "EveSpriteSet",
18
19
  family: "eve/attachment/sprites"
19
- })], [[[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.list("EveSpriteSetItem")], 16, "sprites"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.persist, type, type.float32], 16, "intensity"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, void 0, type.list("EveSpriteLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Clear"], [[carbon, carbon.method, impl, impl.adapted], 18, "Add"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSprites"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSkinned"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"]], 0, void 0, _EveEntity));
20
+ })], [[[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.list("EveSpriteSetItem")], 16, "sprites"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, type, type.boolean], 16, "skinned"], [[io, io.persist, type, type.float32], 16, "intensity"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, void 0, type.list("EveSpriteLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Clear"], [[carbon, carbon.method, impl, impl.adapted], 18, "Add"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSprites"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetSkinned"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "GetLights"]], 0, void 0, _EveEntity));
20
21
  }
21
22
  sprites = (_initProto(this), _init_sprites(this, []));
22
23
  name = (_init_extra_sprites(this), _init_name(this, ""));
@@ -89,6 +90,22 @@ class EveSpriteSet extends _EveEntity {
89
90
  AddLightFromSOF(light) {
90
91
  this.lights.push(_EveSpriteLight.FromSOF(light));
91
92
  }
93
+
94
+ /** Carbon EveSpriteSet::RegisterComponents (cpp:445-452): LightOwner when
95
+ * lights are authored. */
96
+ RegisterComponents() {
97
+ const registry = this.GetComponentRegistry();
98
+ if (registry && this.lights.length) {
99
+ registry.RegisterComponent(EveComponentType.LightOwner, this);
100
+ }
101
+ }
102
+
103
+ /** Carbon EveSpriteSet::GetLights (cpp:454-471): per-light submission.
104
+ * Awaits the LightOwner consumption pass (Tr2LightManager submission is
105
+ * unported); presence satisfies the "LightOwner" duck contract. */
106
+ GetLights(..._args) {
107
+ throw new Error("EveSpriteSet.GetLights is not implemented in CarbonEngineJS.");
108
+ }
92
109
  static {
93
110
  _initClass();
94
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveSpriteSet.js","sources":["../../../src/eve/EveSpriteSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteSet.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteSet.cpp\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\nimport { EveSpriteSetItem } from \"../generated/eve/attachment/sprites/EveSpriteSetItem.js\";\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\n\n\n@type.define({ className: \"EveSpriteSet\", family: \"eve/attachment/sprites\" })\nexport class EveSpriteSet extends EveEntity\n{\n @io.rebuild(\"packedGeometry\")\n @io.notify\n @io.persist\n @type.list(\"EveSpriteSetItem\")\n sprites = [];\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.rebuild(\"packedGeometry\")\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.boolean\n skinned = false;\n\n @io.persist\n @type.float32\n intensity = 1;\n\n @io.persist\n @type.boolean\n display = true;\n\n @io.persist\n @type.list(\"EveSpriteLight\")\n lights = [];\n\n #rebuildRevision = 0;\n\n @carbon.method\n @impl.implemented\n Clear()\n {\n this.sprites.length = 0;\n this.lights.length = 0;\n }\n\n @carbon.method\n @impl.adapted\n Add(positionOrItem, ...args)\n {\n if (positionOrItem && !ArrayBuffer.isView(positionOrItem) && !Array.isArray(positionOrItem) && args.length === 0)\n {\n this.sprites.push(positionOrItem);\n return positionOrItem;\n }\n\n const item = new EveSpriteSetItem();\n vec3.copy(item.position, positionOrItem ?? vec3.create());\n if (args.length === 3)\n {\n const [scale, color, warpColor] = args;\n item.blinkRate = 0;\n item.blinkPhase = 0;\n item.minScale = Number(scale);\n item.maxScale = Number(scale);\n item.falloff = 0;\n vec4.copy(item.color, color);\n vec4.copy(item.warpColor, warpColor);\n }\n else\n {\n const [blinkRate = 0, blinkPhase = 0, minScale = 1, maxScale = 1, falloff = 0, color = [1, 1, 1, 1], warpColor = [1, 1, 1, 1]] = args;\n item.blinkRate = Number(blinkRate);\n item.blinkPhase = Number(blinkPhase);\n item.minScale = Number(minScale);\n item.maxScale = Number(maxScale);\n item.falloff = Number(falloff);\n vec4.copy(item.color, color);\n vec4.copy(item.warpColor, warpColor);\n }\n item.boneIndex = 0;\n this.sprites.push(item);\n return item;\n }\n\n @carbon.method\n @impl.implemented\n GetSprites()\n {\n return this.sprites;\n }\n\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.name = String(name ?? \"\");\n }\n\n @carbon.method\n @impl.implemented\n GetEffect()\n {\n return this.effect;\n }\n\n @carbon.method\n @impl.implemented\n SetEffect(effect)\n {\n this.effect = effect ?? null;\n }\n\n @carbon.method\n @impl.implemented\n SetSkinned(skinned)\n {\n this.skinned = !!skinned;\n }\n\n @carbon.method\n @impl.adapted\n Rebuild()\n {\n this.#rebuildRevision++;\n this.__state.rebuild.add(\"packedGeometry\");\n }\n\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.Rebuild();\n return true;\n }\n\n @carbon.method\n @impl.adapted\n AddLightFromSOF(light)\n {\n this.lights.push(EveSpriteLight.FromSOF(light));\n }\n}\n"],"names":["_EveSpriteSet","EveSpriteSet","EveEntity","e","_init_sprites","_init_extra_sprites","_init_name","_init_extra_name","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_display","_init_extra_display","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","list","string","objectRef","boolean","float32","carbon","method","impl","implemented","adapted","sprites","name","effect","skinned","intensity","display","lights","Clear","length","Add","positionOrItem","args","ArrayBuffer","isView","Array","isArray","push","item","EveSpriteSetItem","vec3","copy","position","create","scale","color","warpColor","blinkRate","blinkPhase","minScale","Number","maxScale","falloff","vec4","boneIndex","GetSprites","GetName","SetName","String","GetEffect","SetEffect","SetSkinned","Rebuild","__state","add","Initialize","AddLightFromSOF","light","EveSpriteLight","FromSOF"],"mappings":"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"}
1
+ {"version":3,"file":"EveSpriteSet.js","sources":["../../../src/eve/EveSpriteSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveSpriteSet.cpp\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveSpriteSetItem } from \"../generated/eve/attachment/sprites/EveSpriteSetItem.js\";\r\nimport { EveSpriteLight } from \"./EveSpriteLight.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveSpriteSet\", family: \"eve/attachment/sprites\" })\r\nexport class EveSpriteSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveSpriteSetItem\")\r\n sprites = [];\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.persist\r\n @type.float32\r\n intensity = 1;\r\n\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n @io.persist\r\n @type.list(\"EveSpriteLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Clear()\r\n {\r\n this.sprites.length = 0;\r\n this.lights.length = 0;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Add(positionOrItem, ...args)\r\n {\r\n if (positionOrItem && !ArrayBuffer.isView(positionOrItem) && !Array.isArray(positionOrItem) && args.length === 0)\r\n {\r\n this.sprites.push(positionOrItem);\r\n return positionOrItem;\r\n }\r\n\r\n const item = new EveSpriteSetItem();\r\n vec3.copy(item.position, positionOrItem ?? vec3.create());\r\n if (args.length === 3)\r\n {\r\n const [scale, color, warpColor] = args;\r\n item.blinkRate = 0;\r\n item.blinkPhase = 0;\r\n item.minScale = Number(scale);\r\n item.maxScale = Number(scale);\r\n item.falloff = 0;\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n else\r\n {\r\n const [blinkRate = 0, blinkPhase = 0, minScale = 1, maxScale = 1, falloff = 0, color = [1, 1, 1, 1], warpColor = [1, 1, 1, 1]] = args;\r\n item.blinkRate = Number(blinkRate);\r\n item.blinkPhase = Number(blinkPhase);\r\n item.minScale = Number(minScale);\r\n item.maxScale = Number(maxScale);\r\n item.falloff = Number(falloff);\r\n vec4.copy(item.color, color);\r\n vec4.copy(item.warpColor, warpColor);\r\n }\r\n item.boneIndex = 0;\r\n this.sprites.push(item);\r\n return item;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetSprites()\r\n {\r\n return this.sprites;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetSkinned(skinned)\r\n {\r\n this.skinned = !!skinned;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.Rebuild();\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EveSpriteLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveSpriteSet::RegisterComponents (cpp:445-452): LightOwner when\r\n * lights are authored. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.lights.length)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSpriteSet::GetLights (cpp:454-471): per-light submission.\r\n * Awaits the LightOwner consumption pass (Tr2LightManager submission is\r\n * unported); presence satisfies the \"LightOwner\" duck contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveSpriteSet.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n}\r\n"],"names":["_EveSpriteSet","EveSpriteSet","EveEntity","e","_init_sprites","_init_extra_sprites","_init_name","_init_extra_name","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_intensity","_init_extra_intensity","_init_display","_init_extra_display","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","list","string","objectRef","boolean","float32","carbon","method","impl","implemented","adapted","notImplemented","sprites","name","effect","skinned","intensity","display","lights","Clear","length","Add","positionOrItem","args","ArrayBuffer","isView","Array","isArray","push","item","EveSpriteSetItem","vec3","copy","position","create","scale","color","warpColor","blinkRate","blinkPhase","minScale","Number","maxScale","falloff","vec4","boneIndex","GetSprites","GetName","SetName","String","GetEffect","SetEffect","SetSkinned","Rebuild","__state","add","Initialize","AddLightFromSOF","light","EveSpriteLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","_args","Error"],"mappings":";;;;;;;;;;AAQ0D,IAAAA;AAG1D,MAAAC,YAAA,SACkCC,UAAS,CAC3C;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAnB,aAAA,EAAAoB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,cAAc;AAAEC,MAAAA,MAAM,EAAE;AAAyB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAG1EC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,MAAM,EACTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACQ,IAAI,CAAC,kBAAkB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAG7BJ,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXL,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,MAAM,EACTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,WAAW,CAAC,4BAG3BN,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACW,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZP,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAGZR,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACW,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZP,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACQ,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAK3BK,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAsCZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAOZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,wBAOZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAQZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAahBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,cAAc,iCAtKYtC,UAAS,CAAA;AAAA;AAMzCuC,EAAAA,OAAO,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAAd,aAAA,OAAG,EAAE,CAAA;AAIZsC,EAAAA,IAAI,IAAArC,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAMTqC,EAAAA,MAAM,IAAApC,gBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;AAKboC,EAAAA,OAAO,IAAAnC,kBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,KAAK,CAAA;AAIfmC,EAAAA,SAAS,IAAAlC,mBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAG,CAAC,CAAA;AAIbkC,EAAAA,OAAO,IAAAjC,qBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAIdiC,EAAAA,MAAM,IAAAhC,mBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAEX,EAAA,gBAAgB,IAAAC,kBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AAIpB+B,EAAAA,KAAKA,GACL;AACE,IAAA,IAAI,CAACP,OAAO,CAACQ,MAAM,GAAG,CAAC;AACvB,IAAA,IAAI,CAACF,MAAM,CAACE,MAAM,GAAG,CAAC;AACxB,EAAA;AAIAC,EAAAA,GAAGA,CAACC,cAAc,EAAE,GAAGC,IAAI,EAC3B;IACE,IAAID,cAAc,IAAI,CAACE,WAAW,CAACC,MAAM,CAACH,cAAc,CAAC,IAAI,CAACI,KAAK,CAACC,OAAO,CAACL,cAAc,CAAC,IAAIC,IAAI,CAACH,MAAM,KAAK,CAAC,EAChH;AACE,MAAA,IAAI,CAACR,OAAO,CAACgB,IAAI,CAACN,cAAc,CAAC;AACjC,MAAA,OAAOA,cAAc;AACvB,IAAA;AAEA,IAAA,MAAMO,IAAI,GAAG,IAAIC,iBAAgB,EAAE;AACnCC,IAAAA,IAAI,CAACC,IAAI,CAACH,IAAI,CAACI,QAAQ,EAAEX,cAAc,IAAIS,IAAI,CAACG,MAAM,EAAE,CAAC;AACzD,IAAA,IAAIX,IAAI,CAACH,MAAM,KAAK,CAAC,EACrB;MACE,MAAM,CAACe,KAAK,EAAEC,KAAK,EAAEC,SAAS,CAAC,GAAGd,IAAI;MACtCM,IAAI,CAACS,SAAS,GAAG,CAAC;MAClBT,IAAI,CAACU,UAAU,GAAG,CAAC;AACnBV,MAAAA,IAAI,CAACW,QAAQ,GAAGC,MAAM,CAACN,KAAK,CAAC;AAC7BN,MAAAA,IAAI,CAACa,QAAQ,GAAGD,MAAM,CAACN,KAAK,CAAC;MAC7BN,IAAI,CAACc,OAAO,GAAG,CAAC;MAChBC,IAAI,CAACZ,IAAI,CAACH,IAAI,CAACO,KAAK,EAAEA,KAAK,CAAC;MAC5BQ,IAAI,CAACZ,IAAI,CAACH,IAAI,CAACQ,SAAS,EAAEA,SAAS,CAAC;AACtC,IAAA,CAAC,MAED;MACE,MAAM,CAACC,SAAS,GAAG,CAAC,EAAEC,UAAU,GAAG,CAAC,EAAEC,QAAQ,GAAG,CAAC,EAAEE,QAAQ,GAAG,CAAC,EAAEC,OAAO,GAAG,CAAC,EAAEP,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGd,IAAI;AACrIM,MAAAA,IAAI,CAACS,SAAS,GAAGG,MAAM,CAACH,SAAS,CAAC;AAClCT,MAAAA,IAAI,CAACU,UAAU,GAAGE,MAAM,CAACF,UAAU,CAAC;AACpCV,MAAAA,IAAI,CAACW,QAAQ,GAAGC,MAAM,CAACD,QAAQ,CAAC;AAChCX,MAAAA,IAAI,CAACa,QAAQ,GAAGD,MAAM,CAACC,QAAQ,CAAC;AAChCb,MAAAA,IAAI,CAACc,OAAO,GAAGF,MAAM,CAACE,OAAO,CAAC;MAC9BC,IAAI,CAACZ,IAAI,CAACH,IAAI,CAACO,KAAK,EAAEA,KAAK,CAAC;MAC5BQ,IAAI,CAACZ,IAAI,CAACH,IAAI,CAACQ,SAAS,EAAEA,SAAS,CAAC;AACtC,IAAA;IACAR,IAAI,CAACgB,SAAS,GAAG,CAAC;AAClB,IAAA,IAAI,CAACjC,OAAO,CAACgB,IAAI,CAACC,IAAI,CAAC;AACvB,IAAA,OAAOA,IAAI;AACb,EAAA;AAIAiB,EAAAA,UAAUA,GACV;IACE,OAAO,IAAI,CAAClC,OAAO;AACrB,EAAA;AAIAmC,EAAAA,OAAOA,GACP;IACE,OAAO,IAAI,CAAClC,IAAI;AAClB,EAAA;EAIAmC,OAAOA,CAACnC,IAAI,EACZ;IACE,IAAI,CAACA,IAAI,GAAGoC,MAAM,CAACpC,IAAI,IAAI,EAAE,CAAC;AAChC,EAAA;AAIAqC,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAACpC,MAAM;AACpB,EAAA;EAIAqC,SAASA,CAACrC,MAAM,EAChB;AACE,IAAA,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAI,IAAI;AAC9B,EAAA;EAIAsC,UAAUA,CAACrC,OAAO,EAClB;AACE,IAAA,IAAI,CAACA,OAAO,GAAG,CAAC,CAACA,OAAO;AAC1B,EAAA;AAIAsC,EAAAA,OAAOA,GACP;IACE,IAAI,CAAC,gBAAgB,EAAE;IACvB,IAAI,CAACC,OAAO,CAACxD,OAAO,CAACyD,GAAG,CAAC,gBAAgB,CAAC;AAC5C,EAAA;AAIAC,EAAAA,UAAUA,GACV;IACE,IAAI,CAACH,OAAO,EAAE;AACd,IAAA,OAAO,IAAI;AACb,EAAA;EAIAI,eAAeA,CAACC,KAAK,EACrB;IACE,IAAI,CAACxC,MAAM,CAACU,IAAI,CAAC+B,eAAc,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC;AACjD,EAAA;;AAEA;AACF;AAGEG,EAAAA,kBAAkBA,GAClB;AACE,IAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,IAAA,IAAID,QAAQ,IAAI,IAAI,CAAC5C,MAAM,CAACE,MAAM,EAClC;MACE0C,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,UAAU,EAAE,IAAI,CAAC;AAC/D,IAAA;AACF,EAAA;;AAEA;AACF;AACA;EAGEC,SAASA,CAAC,GAAGC,KAAK,EAClB;AACE,IAAA,MAAM,IAAIC,KAAK,CAAC,8DAA8D,CAAC;AACjF,EAAA;AAAC,EAAA;IAAA9E,UAAA,EAAA;AAAA;AACH;;;;"}
@@ -16,7 +16,7 @@ new class extends _identity {
16
16
  } = _applyDecs2311(this, [type.define({
17
17
  className: "EveUpdateContext",
18
18
  family: "eve"
19
- })], [[[type, type.float64], 16, "currentTime"], [[type, type.float64], 16, "lastTime"], [[type, type.float32], 16, "visibilityThreshold"], [[type, type.float32], 16, "highDetailThreshold"], [[type, type.float32], 16, "mediumDetailThreshold"], [[type, type.float32], 16, "lowDetailThreshold"], [[type, type.float32], 16, "lodFactor"], [[type, type.float32], 16, "invLodFactor"], [[type, type.boolean], 16, "raytracingEnabled"], [type.objectRef("Tr2DataTextureManager"), 0, "dataTextureManager"], [type.objectRef("Tr2GpuParticleSystem"), 0, "gpuParticleSystem"], [type.objectRef("IEveBallpark"), 0, "ballpark"], [type.objectRef("Tr2ParallelTaskGroup"), 0, "taskGroup"], [type.objectRef("TriFrustum"), 0, "frustum"], [type.rawStruct("Vector3d"), 0, "origin"], [[type, type.vec3], 16, "originShift"], [type.rawStruct("Vector3d"), 0, "originShiftRemainder"], [type.objectRef("Tr2RenderContext"), 0, "renderContext"], [type.objectRef("TriDevice"), 0, "device"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDeltaT"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateOrigin"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOriginShift"]], 0, void 0, CjsModel));
19
+ })], [[[type, type.float64], 16, "currentTime"], [[type, type.float64], 16, "lastTime"], [[type, type.float32], 16, "visibilityThreshold"], [[type, type.float32], 16, "highDetailThreshold"], [[type, type.float32], 16, "mediumDetailThreshold"], [[type, type.float32], 16, "lowDetailThreshold"], [[type, type.float32], 16, "lodFactor"], [[type, type.float32], 16, "invLodFactor"], [[type, type.boolean], 16, "raytracingEnabled"], [type.objectRef("Tr2DataTextureManager"), 0, "dataTextureManager"], [type.objectRef("Tr2GpuParticleSystem"), 0, "gpuParticleSystem"], [type.objectRef("IEveBallpark"), 0, "ballpark"], [type.objectRef("Tr2ParallelTaskGroup"), 0, "taskGroup"], [type.objectRef("TriFrustum"), 0, "frustum"], [type.rawStruct("Vector3d"), 0, "origin"], [[type, type.vec3], 16, "originShift"], [type.rawStruct("Vector3d"), 0, "originShiftRemainder"], [type.objectRef("Tr2RenderContext"), 0, "renderContext"], [type.objectRef("TriDevice"), 0, "device"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDeltaT"], [[carbon, carbon.method, impl, impl.adapted], 18, "UpdateOrigin"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOriginShift"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDataTextureManager"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetDataTextureManager"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetGpuParticleSystem"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGpuParticleSystem"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBallpark"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTaskGroup"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetTaskGroup"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetVisibilityThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetVisibilityThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetHighDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetHighDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMediumDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMediumDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLowDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLowDetailThreshold"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLodFactor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLodFactor"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetInvLodFactor"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetFrustum"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetFrustum"]], 0, void 0, CjsModel));
20
20
  }
21
21
  constructor(...args) {
22
22
  super(...args);
@@ -64,8 +64,8 @@ new class extends _identity {
64
64
  /** m_frustum (TriFrustum) - swappable per-frame reference, null until stamped. */
65
65
  frustum = (_init_extra_taskGroup(this), _init_frustum(this, null));
66
66
 
67
- /** m_origin (Vector3d) - double-precision world origin for camera-relative
68
- * rebasing. Carbon initializes it to UNINITIALIZED_ORIGIN (Infinity sentinel)
67
+ /** m_origin (Vector3d) - double-precision world origin for camera-relative
68
+ * rebasing. Carbon initializes it to UNINITIALIZED_ORIGIN (Infinity sentinel)
69
69
  * so the first UpdateOrigin produces no shift. */
70
70
  origin = (_init_extra_frustum(this), _init_origin(this, new Float64Array(3).fill(Infinity)));
71
71
 
@@ -86,42 +86,42 @@ new class extends _identity {
86
86
  /** device (TriDevice) - GPU managers + command surface, duck-typed. */
87
87
  device = (_init_extra_renderContext(this), _init_device(this, null));
88
88
 
89
- /**
90
- * Current frame time (Carbon EveUpdateContext::GetTime).
91
- * @returns {Number}
89
+ /**
90
+ * Current frame time (Carbon EveUpdateContext::GetTime).
91
+ * @returns {Number}
92
92
  */
93
93
  GetTime() {
94
94
  return this.currentTime;
95
95
  }
96
96
 
97
- /**
98
- * Shifts the current time into lastTime and stores the new frame time
99
- * (Carbon EveUpdateContext::SetTime).
100
- * @param {Number} time
97
+ /**
98
+ * Shifts the current time into lastTime and stores the new frame time
99
+ * (Carbon EveUpdateContext::SetTime).
100
+ * @param {Number} time
101
101
  */
102
102
  SetTime(time) {
103
103
  this.lastTime = this.currentTime;
104
104
  this.currentTime = time;
105
105
  }
106
106
 
107
- /**
108
- * Seconds elapsed since the previous frame, computed on demand as Carbon does
109
- * (EveUpdateContext::GetDeltaT): 0 until a second SetTime has run.
110
- * @returns {Number}
107
+ /**
108
+ * Seconds elapsed since the previous frame, computed on demand as Carbon does
109
+ * (EveUpdateContext::GetDeltaT): 0 until a second SetTime has run.
110
+ * @returns {Number}
111
111
  */
112
112
  GetDeltaT() {
113
113
  return this.lastTime !== 0 ? this.currentTime - this.lastTime : 0;
114
114
  }
115
115
 
116
- /**
117
- * Tracks the world origin from the ballpark's reference point and computes the
118
- * per-frame origin shift (Carbon EveUpdateContext::UpdateOrigin): the
119
- * double-precision delta is split into a float32 shift plus a double residual
120
- * carried into the next frame; no shift is produced on the first stamped frame
121
- * (origin still at the Infinity sentinel). The ballpark is duck-typed; per our
122
- * out-last convention its reference-point read is
123
- * GetReferencePoint(time, outVector3d) (Carbon passes the out pointer first).
124
- * @param {Object|null} ballpark
116
+ /**
117
+ * Tracks the world origin from the ballpark's reference point and computes the
118
+ * per-frame origin shift (Carbon EveUpdateContext::UpdateOrigin): the
119
+ * double-precision delta is split into a float32 shift plus a double residual
120
+ * carried into the next frame; no shift is produced on the first stamped frame
121
+ * (origin still at the Infinity sentinel). The ballpark is duck-typed; per our
122
+ * out-last convention its reference-point read is
123
+ * GetReferencePoint(time, outVector3d) (Carbon passes the out pointer first).
124
+ * @param {Object|null} ballpark
125
125
  */
126
126
  UpdateOrigin(ballpark) {
127
127
  this.ballpark = ballpark ?? null;
@@ -143,23 +143,187 @@ new class extends _identity {
143
143
  this.origin.set(originNow);
144
144
  }
145
145
 
146
- /**
147
- * World origin, or (0,0,0) while still uninitialized (Carbon
148
- * EveUpdateContext::GetOrigin).
149
- * @returns {Float64Array}
146
+ /**
147
+ * World origin, or (0,0,0) while still uninitialized (Carbon
148
+ * EveUpdateContext::GetOrigin).
149
+ * @returns {Float64Array}
150
150
  */
151
151
  GetOrigin() {
152
152
  return this.origin[0] !== Infinity ? this.origin : _EveUpdateContext.#zeroOrigin;
153
153
  }
154
154
 
155
- /**
156
- * Float32 origin shift for the current frame (Carbon
157
- * EveUpdateContext::GetOriginShift).
158
- * @returns {Float32Array}
155
+ /**
156
+ * Float32 origin shift for the current frame (Carbon
157
+ * EveUpdateContext::GetOriginShift).
158
+ * @returns {Float32Array}
159
159
  */
160
160
  GetOriginShift() {
161
161
  return this.originShift;
162
162
  }
163
+
164
+ /**
165
+ * Carbon EveUpdateContext::GetDataTextureManager (h:61-64).
166
+ * @returns {Object|null}
167
+ */
168
+ GetDataTextureManager() {
169
+ return this.dataTextureManager;
170
+ }
171
+
172
+ /**
173
+ * Carbon EveUpdateContext::SetDataTextureManager (h:65-68).
174
+ * @param {Object|null} manager
175
+ */
176
+ SetDataTextureManager(manager) {
177
+ this.dataTextureManager = manager ?? null;
178
+ }
179
+
180
+ /**
181
+ * Carbon EveUpdateContext::GetGpuParticleSystem (h:70-73).
182
+ * @returns {Object|null}
183
+ */
184
+ GetGpuParticleSystem() {
185
+ return this.gpuParticleSystem;
186
+ }
187
+
188
+ /**
189
+ * Carbon EveUpdateContext::SetGpuParticleSystem (h:74-77).
190
+ * @param {Object|null} ps
191
+ */
192
+ SetGpuParticleSystem(ps) {
193
+ this.gpuParticleSystem = ps ?? null;
194
+ }
195
+
196
+ /**
197
+ * Carbon EveUpdateContext::GetBallpark (h:79-82) - stamped by UpdateOrigin.
198
+ * @returns {Object|null}
199
+ */
200
+ GetBallpark() {
201
+ return this.ballpark;
202
+ }
203
+
204
+ /**
205
+ * Carbon EveUpdateContext::SetTaskGroup (h:116-119).
206
+ * @param {Object|null} taskGroup
207
+ */
208
+ SetTaskGroup(taskGroup) {
209
+ this.taskGroup = taskGroup ?? null;
210
+ }
211
+
212
+ /**
213
+ * Carbon EveUpdateContext::GetTaskGroup (h:121-124).
214
+ * @returns {Object|null}
215
+ */
216
+ GetTaskGroup() {
217
+ return this.taskGroup;
218
+ }
219
+
220
+ /**
221
+ * Carbon EveUpdateContext::SetVisibilityThreshold (h:126-129).
222
+ * @param {Number} visibilityThreshold
223
+ */
224
+ SetVisibilityThreshold(visibilityThreshold) {
225
+ this.visibilityThreshold = visibilityThreshold;
226
+ }
227
+
228
+ /**
229
+ * Carbon EveUpdateContext::GetVisibilityThreshold (h:131-134).
230
+ * @returns {Number}
231
+ */
232
+ GetVisibilityThreshold() {
233
+ return this.visibilityThreshold;
234
+ }
235
+
236
+ /**
237
+ * Carbon EveUpdateContext::SetHighDetailThreshold (h:136-139).
238
+ * @param {Number} highDetailThreshold
239
+ */
240
+ SetHighDetailThreshold(highDetailThreshold) {
241
+ this.highDetailThreshold = highDetailThreshold;
242
+ }
243
+
244
+ /**
245
+ * Carbon EveUpdateContext::GetHighDetailThreshold (h:141-144).
246
+ * @returns {Number}
247
+ */
248
+ GetHighDetailThreshold() {
249
+ return this.highDetailThreshold;
250
+ }
251
+
252
+ /**
253
+ * Carbon EveUpdateContext::SetMediumDetailThreshold (h:146-149).
254
+ * @param {Number} mediumDetailThreshold
255
+ */
256
+ SetMediumDetailThreshold(mediumDetailThreshold) {
257
+ this.mediumDetailThreshold = mediumDetailThreshold;
258
+ }
259
+
260
+ /**
261
+ * Carbon EveUpdateContext::GetMediumDetailThreshold (h:151-154).
262
+ * @returns {Number}
263
+ */
264
+ GetMediumDetailThreshold() {
265
+ return this.mediumDetailThreshold;
266
+ }
267
+
268
+ /**
269
+ * Carbon EveUpdateContext::SetLowDetailThreshold (h:156-159).
270
+ * @param {Number} lowDetailThreshold
271
+ */
272
+ SetLowDetailThreshold(lowDetailThreshold) {
273
+ this.lowDetailThreshold = lowDetailThreshold;
274
+ }
275
+
276
+ /**
277
+ * Carbon EveUpdateContext::GetLowDetailThreshold (h:161-164).
278
+ * @returns {Number}
279
+ */
280
+ GetLowDetailThreshold() {
281
+ return this.lowDetailThreshold;
282
+ }
283
+
284
+ /**
285
+ * Carbon EveUpdateContext::SetLodFactor (h:166-170) - maintains the
286
+ * invariant invLodFactor = 1 / lodFactor (no zero guard, matching Carbon).
287
+ * @param {Number} lodFactor
288
+ */
289
+ SetLodFactor(lodFactor) {
290
+ this.lodFactor = lodFactor;
291
+ this.invLodFactor = 1 / lodFactor;
292
+ }
293
+
294
+ /**
295
+ * Carbon EveUpdateContext::GetLodFactor (h:172-175).
296
+ * @returns {Number}
297
+ */
298
+ GetLodFactor() {
299
+ return this.lodFactor;
300
+ }
301
+
302
+ /**
303
+ * Carbon EveUpdateContext::GetInvLodFactor (h:177-180).
304
+ * @returns {Number}
305
+ */
306
+ GetInvLodFactor() {
307
+ return this.invLodFactor;
308
+ }
309
+
310
+ /**
311
+ * Carbon EveUpdateContext::SetFrustum (h:182-185) - the driver stamps a
312
+ * ready TriFrustum per frame (spec decision 4); held by reference, not
313
+ * copied.
314
+ * @param {Object|null} frustum - TriFrustum
315
+ */
316
+ SetFrustum(frustum) {
317
+ this.frustum = frustum ?? null;
318
+ }
319
+
320
+ /**
321
+ * Carbon EveUpdateContext::GetFrustum (h:187-190).
322
+ * @returns {Object|null}
323
+ */
324
+ GetFrustum() {
325
+ return this.frustum;
326
+ }
163
327
  }];
164
328
  #originScratch = new Float64Array(3);
165
329
  #zeroOrigin = new Float64Array(3);