@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
@@ -1 +1 @@
1
- {"version":3,"file":"EveBoosterSet2.js","sources":["../../../src/eve/EveBoosterSet2.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\r\n\r\n\r\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2Item extends CjsModel\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.vec4\r\n functionality = vec4.fromValues(0, 1, 1, 1);\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n hasTrail = true;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.float32\r\n lightScale = 1;\r\n}\r\n\r\n\r\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2 extends EveEntity\r\n{\r\n\r\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n flareLodEnabled = true;\r\n\r\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"staticTrailOffsets\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n staticTrailLength = 0;\r\n\r\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets0 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets1 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets2 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets3 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets4 = vec3.create();\r\n\r\n /** m_lightOffset (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightOffset = 0;\r\n\r\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerAmplitude = 0;\r\n\r\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerFrequency = 0;\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightRadius = 0;\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightColor = vec4.create();\r\n\r\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightWarpRadius = 0;\r\n\r\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightWarpColor = vec4.create();\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n alwaysOnIntensity = 1;\r\n\r\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpGlowColor = vec4.create();\r\n\r\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n glowColor = vec4.create();\r\n\r\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n haloColor = vec4.create();\r\n\r\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpHaloColor = vec4.create();\r\n\r\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effectFar = null;\r\n\r\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\r\n @io.read\r\n @type.list(\"EveBoosterSet2Renderable\")\r\n instances = [];\r\n\r\n /** m_maxVel (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n maxVel = 250;\r\n\r\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n glowScale = 1;\r\n\r\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n symHaloScale = 1;\r\n\r\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleX = 1;\r\n\r\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleY = 1;\r\n\r\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n trailsSmoothing = 10;\r\n\r\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveSpriteSet\")\r\n glows = null;\r\n\r\n /** m_maxSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n maxSize = 0;\r\n\r\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\r\n @io.read\r\n @type.vec3\r\n boosterBoundingSphereCenter = vec3.create();\r\n\r\n /** m_boosterBoundingSphere.w (float) [READ] */\r\n @io.read\r\n @type.float32\r\n boosterBoundingSphereRadius = 0;\r\n\r\n /** m_warpIntensity (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n warpIntensity = 0;\r\n\r\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n physicsUpdate = true;\r\n\r\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n destinyUpdate = true;\r\n\r\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n alwaysOn = false;\r\n\r\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveTrailsSet\")\r\n trails = null;\r\n\r\n @io.flag(\"items\")\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveBoosterSet2Item\")\r\n items = [];\r\n\r\n #singleBoosters = [];\r\n\r\n #revision = 0;\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n const flags = this.__state.flags;\r\n if (flags.has(\"items\"))\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n }\r\n if (flags.has(\"staticTrailOffsets\"))\r\n {\r\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\r\n }\r\n if (flags.delete(\"flares\") && this.glows)\r\n {\r\n this.glows.Clear?.();\r\n for (const booster of this.#singleBoosters)\r\n {\r\n EveBoosterSet2.#CreateFlares(this, booster);\r\n }\r\n this.glows.Rebuild?.();\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCount(count)\r\n {\r\n const requested = Math.trunc(Number(count));\r\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\r\n if (this.instances.length > target)\r\n {\r\n this.instances.length = target;\r\n }\r\n while (this.instances.length < target)\r\n {\r\n const renderable = new EveBoosterSet2Renderable();\r\n renderable.SetBoosterSet(this);\r\n this.instances.push(renderable);\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return this.instances.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Update(\r\n deltaTime,\r\n time,\r\n parentMatrix = mat4.create(),\r\n parentSpeed = 0,\r\n parentAcceleration = EveBoosterSet2.#zero,\r\n parentRotation = EveBoosterSet2.#identityRotation,\r\n boosterInstance = 0\r\n )\r\n {\r\n if (!this.instances.length)\r\n {\r\n this.SetCount(1);\r\n }\r\n const index = Number(boosterInstance) >>> 0;\r\n if (index >= this.instances.length)\r\n {\r\n return false;\r\n }\r\n this.instances[index]?.Update?.(\r\n deltaTime,\r\n time,\r\n parentMatrix,\r\n parentSpeed,\r\n parentAcceleration,\r\n parentRotation\r\n );\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UpdateTrails(deltaTime, time)\r\n {\r\n if (!this.trails)\r\n {\r\n return false;\r\n }\r\n let updated = false;\r\n for (const renderable of this.instances)\r\n {\r\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\r\n }\r\n this.trails.Update?.(time);\r\n return updated;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.items.length = 0;\r\n EveBoosterSet2.#ClearRuntimeItems(this);\r\n this.#revision++;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Add(\r\n localMatrix,\r\n functionality,\r\n hasTrail,\r\n atlasIndex0,\r\n atlasIndex1,\r\n lightScale = 1\r\n )\r\n {\r\n if (!localMatrix || localMatrix.length !== 16)\r\n {\r\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\r\n }\r\n const item = new EveBoosterSet2Item();\r\n mat4.copy(item.transform, localMatrix);\r\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\r\n item.hasTrail = !!hasTrail;\r\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\r\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\r\n item.lightScale = Number(lightScale) || 0;\r\n this.items.push(item);\r\n EveBoosterSet2.#AddRuntimeItem(this, item);\r\n this.#revision++;\r\n return this.items.length - 1;\r\n }\r\n\r\n static #ClearRuntimeItems(owner)\r\n {\r\n owner.#singleBoosters.length = 0;\r\n owner.glows?.Clear?.();\r\n owner.trails?.Clear?.();\r\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\r\n owner.boosterBoundingSphereRadius = 0;\r\n owner.maxSize = 0;\r\n }\r\n\r\n static #RebuildItems(owner)\r\n {\r\n EveBoosterSet2.#ClearRuntimeItems(owner);\r\n for (const item of owner.items)\r\n {\r\n EveBoosterSet2.#AddRuntimeItem(owner, item);\r\n }\r\n owner.__state.flags.delete(\"items\");\r\n owner.__state.flags.delete(\"flares\");\r\n }\r\n\r\n static #AddRuntimeItem(owner, item)\r\n {\r\n const transform = mat4.clone(item.transform);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n const lightPosition = vec3.transformMat4(\r\n vec3.create(),\r\n [0, 0, -owner.lightOffset],\r\n transform\r\n );\r\n const booster = {\r\n transform,\r\n functionality: vec4.clone(item.functionality),\r\n lightPosition,\r\n lightRadius: scale * item.lightScale,\r\n lightPhase: 128 * Math.random(),\r\n atlasIndex0: item.atlasIndex0,\r\n atlasIndex1: item.atlasIndex1,\r\n hasTrail: item.hasTrail\r\n };\r\n owner.#singleBoosters.push(booster);\r\n\r\n if (owner.glows)\r\n {\r\n EveBoosterSet2.#CreateFlares(owner, booster);\r\n }\r\n if (owner.trails && item.hasTrail)\r\n {\r\n const trailTransform = mat4.clone(transform);\r\n trailTransform[12] -= trailTransform[8] * 0.5;\r\n trailTransform[13] -= trailTransform[9] * 0.5;\r\n trailTransform[14] -= trailTransform[10] * 0.5;\r\n owner.trails.Add?.(trailTransform, scale);\r\n }\r\n\r\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\r\n owner.maxSize = Math.max(owner.maxSize, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetData(\r\n glowScale,\r\n glowColor,\r\n warpGlowColor,\r\n symHaloScale,\r\n haloScaleX,\r\n haloScaleY,\r\n haloColor,\r\n warpHaloColor,\r\n alwaysOn\r\n )\r\n {\r\n this.glowScale = Number(glowScale);\r\n vec4.copy(this.glowColor, glowColor);\r\n vec4.copy(this.warpGlowColor, warpGlowColor);\r\n this.symHaloScale = Number(symHaloScale);\r\n this.haloScaleX = Number(haloScaleX);\r\n this.haloScaleY = Number(haloScaleY);\r\n vec4.copy(this.haloColor, haloColor);\r\n vec4.copy(this.warpHaloColor, warpHaloColor);\r\n this.alwaysOn = !!alwaysOn;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\r\n {\r\n this.lightOffset = Number(offset);\r\n this.lightFlickerAmplitude = Number(flickerAmplitude);\r\n this.lightFlickerFrequency = Number(flickerFrequency);\r\n this.lightRadius = Number(radius);\r\n vec4.copy(this.lightColor, color);\r\n this.lightWarpRadius = Number(warpRadius);\r\n vec4.copy(this.lightWarpColor, warpColor);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect, effectFar)\r\n {\r\n this.effect = effect ?? null;\r\n this.effectFar = effectFar ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetGlow(glow)\r\n {\r\n this.glows = glow ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetTrail(trail)\r\n {\r\n this.trails = trail ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterIntensity(index = null)\r\n {\r\n if (index !== null && index !== undefined)\r\n {\r\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\r\n }\r\n if (!this.instances.length)\r\n {\r\n return 0;\r\n }\r\n let intensity = 0;\r\n for (const renderable of this.instances)\r\n {\r\n intensity += renderable?.GetIntensity?.() ?? 0;\r\n }\r\n return intensity / this.instances.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere()\r\n {\r\n const result = vec4.create();\r\n for (const renderable of this.instances)\r\n {\r\n EveBoosterSet2.#MergeSphere(result, renderable?.GetBoundingSphere?.());\r\n }\r\n return result;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterData()\r\n {\r\n return this.#singleBoosters.map(booster => ({\r\n transform: mat4.clone(booster.transform),\r\n functionality: vec4.clone(booster.functionality),\r\n lightPosition: vec3.clone(booster.lightPosition),\r\n lightRadius: booster.lightRadius,\r\n lightPhase: booster.lightPhase,\r\n atlasIndex0: booster.atlasIndex0,\r\n atlasIndex1: booster.atlasIndex1,\r\n hasTrail: booster.hasTrail\r\n }));\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n static #CreateFlares(owner, booster)\r\n {\r\n const transform = booster.transform;\r\n const position = vec3.fromValues(transform[12], transform[13], transform[14]);\r\n const direction = vec3.fromValues(transform[8], transform[9], transform[10]);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n if (vec3.squaredLength(direction))\r\n {\r\n vec3.normalize(direction, direction);\r\n }\r\n if (scale < 3)\r\n {\r\n vec3.scale(direction, direction, scale / 3);\r\n }\r\n const seed = Math.random() * 0.7;\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 2.5, seed, seed,\r\n scale * owner.glowScale, scale * owner.glowScale, owner.glowColor, owner.warpGlowColor);\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 3, seed, 1 + seed,\r\n scale * owner.symHaloScale, scale * owner.symHaloScale, owner.haloColor, owner.warpHaloColor);\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 3.01, seed, 1 + seed,\r\n scale * owner.haloScaleX, scale * owner.haloScaleY, owner.haloColor, owner.warpHaloColor);\r\n }\r\n\r\n static #AddFlare(owner, position, direction, distance, blinkRate, blinkPhase, minScale, maxScale, color, warpColor)\r\n {\r\n const spritePosition = vec3.scaleAndAdd(vec3.create(), position, direction, -distance);\r\n owner.glows.Add?.(\r\n spritePosition,\r\n blinkRate,\r\n blinkPhase,\r\n minScale,\r\n maxScale,\r\n 0,\r\n color,\r\n warpColor\r\n );\r\n }\r\n\r\n static #UpdateBoundingSphere(owner, position)\r\n {\r\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\r\n const distance = vec3.length(delta);\r\n const radius = owner.boosterBoundingSphereRadius;\r\n if (distance * distance <= radius * radius + 1e-4 || !distance)\r\n {\r\n return;\r\n }\r\n vec3.scaleAndAdd(\r\n owner.boosterBoundingSphereCenter,\r\n owner.boosterBoundingSphereCenter,\r\n delta,\r\n 0.5 * (1 - radius / distance)\r\n );\r\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\r\n }\r\n\r\n static #UpdateStaticTrailOffsets(owner)\r\n {\r\n owner.__state.flags.delete(\"staticTrailOffsets\");\r\n const step = owner.staticTrailLength / 4;\r\n const offsets = [\r\n owner.trailsStaticOffsets0,\r\n owner.trailsStaticOffsets1,\r\n owner.trailsStaticOffsets2,\r\n owner.trailsStaticOffsets3,\r\n owner.trailsStaticOffsets4\r\n ];\r\n for (let index = 0; index < offsets.length; index++)\r\n {\r\n vec3.set(offsets[index], 0, 0, -step * index);\r\n }\r\n }\r\n\r\n static #MergeSphere(target, source)\r\n {\r\n if (!source || source.length !== 4)\r\n {\r\n return target;\r\n }\r\n const targetRadius = target[3];\r\n const sourceRadius = source[3];\r\n const delta = vec3.fromValues(source[0] - target[0], source[1] - target[1], source[2] - target[2]);\r\n const distance = vec3.length(delta);\r\n if (targetRadius >= distance + sourceRadius)\r\n {\r\n return target;\r\n }\r\n if (sourceRadius >= distance + targetRadius)\r\n {\r\n vec4.copy(target, source);\r\n return target;\r\n }\r\n if (!distance)\r\n {\r\n target[3] = Math.max(targetRadius, sourceRadius);\r\n return target;\r\n }\r\n const radius = 0.5 * (distance + targetRadius + sourceRadius);\r\n const factor = (radius - targetRadius) / distance;\r\n target[0] += delta[0] * factor;\r\n target[1] += delta[1] * factor;\r\n target[2] += delta[2] * factor;\r\n target[3] = radius;\r\n return target;\r\n }\r\n\r\n static #zero = Object.freeze([0, 0, 0]);\r\n\r\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\r\n\r\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\r\n\r\n static Shape = Object.freeze({\r\n STAR: 0,\r\n BOX: 1,\r\n SHAPE_COUNT: 2\r\n });\r\n\r\n}\r\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale","_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","_initClass2","notify","readwrite","flag","vec3","color","objectRef","read","list","carbon","method","impl","adapted","implemented","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","clone","scale","Math","max","hypot","lightPosition","transformMat4","lightOffset","booster","lightRadius","lightPhase","random","push","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","result","GetBoosterData","map","GetRevision","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#CreateFlares","position","direction","squaredLength","normalize","seed","#AddFlare","distance","blinkRate","blinkPhase","minScale","maxScale","spritePosition","scaleAndAdd","#UpdateBoundingSphere","delta","subtract","#UpdateStaticTrailOffsets","step","offsets","#MergeSphere","source","targetRadius","sourceRadius","factor","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT"],"mappings":"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"}
1
+ {"version":3,"file":"EveBoosterSet2.js","sources":["../../../src/eve/EveBoosterSet2.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\EveBoosterSet2_Blue.cpp\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveBoosterSet2Renderable } from \"./EveBoosterSet2Renderable.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveBoosterSet2Item\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2Item extends CjsModel\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.mat4\r\n transform = mat4.create();\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.vec4\r\n functionality = vec4.fromValues(0, 1, 1, 1);\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n hasTrail = true;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.float32\r\n lightScale = 1;\r\n}\r\n\r\n\r\n@type.define({ className: \"EveBoosterSet2\", family: \"eve/attachment/boosters\" })\r\nexport class EveBoosterSet2 extends EveEntity\r\n{\r\n\r\n /** m_flareLodEnabled (bool) [READWRITE, NOTIFY] */\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n flareLodEnabled = true;\r\n\r\n /** m_staticTrailLength (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"staticTrailOffsets\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n staticTrailLength = 0;\r\n\r\n /** m_trailsStaticOffsets[0] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets0 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[1] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets1 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[2] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets2 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[3] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets3 = vec3.create();\r\n\r\n /** m_trailsStaticOffsets[4] (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n trailsStaticOffsets4 = vec3.create();\r\n\r\n /** m_lightOffset (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightOffset = 0;\r\n\r\n /** m_lightFlickerAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerAmplitude = 0;\r\n\r\n /** m_lightFlickerFrequency (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightFlickerFrequency = 0;\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightRadius = 0;\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightColor = vec4.create();\r\n\r\n /** m_lightWarpRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightWarpRadius = 0;\r\n\r\n /** m_lightWarpColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightWarpColor = vec4.create();\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_alwaysOnIntensity (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n alwaysOnIntensity = 1;\r\n\r\n /** m_warpGlowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpGlowColor = vec4.create();\r\n\r\n /** m_glowColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n glowColor = vec4.create();\r\n\r\n /** m_haloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n haloColor = vec4.create();\r\n\r\n /** m_warpHaloColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n warpHaloColor = vec4.create();\r\n\r\n /** m_effectFar (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effectFar = null;\r\n\r\n /** m_effect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.objectRef(\"Tr2Effect\")\r\n effect = null;\r\n\r\n /** m_boosterRenderables (PEveBoosterSet2RenderableVector) [READ] */\r\n @io.read\r\n @type.list(\"EveBoosterSet2Renderable\")\r\n instances = [];\r\n\r\n /** m_maxVel (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n maxVel = 250;\r\n\r\n /** m_glowScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n glowScale = 1;\r\n\r\n /** m_symHaloScale (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n symHaloScale = 1;\r\n\r\n /** m_haloScaleX (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleX = 1;\r\n\r\n /** m_haloScaleY (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.flag(\"flares\")\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloScaleY = 1;\r\n\r\n /** m_trailsSmoothing (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n trailsSmoothing = 10;\r\n\r\n /** m_glows (EveSpriteSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveSpriteSet\")\r\n glows = null;\r\n\r\n /** m_maxSize (float) [READ] */\r\n @io.read\r\n @type.float32\r\n maxSize = 0;\r\n\r\n /** m_boosterBoundingSphere.xyz (Vector4) [READ] */\r\n @io.read\r\n @type.vec3\r\n boosterBoundingSphereCenter = vec3.create();\r\n\r\n /** m_boosterBoundingSphere.w (float) [READ] */\r\n @io.read\r\n @type.float32\r\n boosterBoundingSphereRadius = 0;\r\n\r\n /** m_warpIntensity (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n warpIntensity = 0;\r\n\r\n /** m_physicsUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n physicsUpdate = true;\r\n\r\n /** m_destinyUpdate (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n destinyUpdate = true;\r\n\r\n /** m_alwaysOn (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n alwaysOn = false;\r\n\r\n /** m_trails (EveTrailsSetPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.objectRef(\"EveTrailsSet\")\r\n trails = null;\r\n\r\n @io.flag(\"items\")\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.list(\"EveBoosterSet2Item\")\r\n items = [];\r\n\r\n #singleBoosters = [];\r\n\r\n #revision = 0;\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n const flags = this.__state.flags;\r\n if (flags.has(\"items\"))\r\n {\r\n EveBoosterSet2.#RebuildItems(this);\r\n }\r\n if (flags.has(\"staticTrailOffsets\"))\r\n {\r\n EveBoosterSet2.#UpdateStaticTrailOffsets(this);\r\n }\r\n if (flags.delete(\"flares\") && this.glows)\r\n {\r\n this.glows.Clear?.();\r\n for (const booster of this.#singleBoosters)\r\n {\r\n EveBoosterSet2.#CreateFlares(this, booster);\r\n }\r\n this.glows.Rebuild?.();\r\n }\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetCount(count)\r\n {\r\n const requested = Math.trunc(Number(count));\r\n const target = Number.isFinite(requested) ? Math.max(1, requested) : 1;\r\n if (this.instances.length > target)\r\n {\r\n this.instances.length = target;\r\n }\r\n while (this.instances.length < target)\r\n {\r\n const renderable = new EveBoosterSet2Renderable();\r\n renderable.SetBoosterSet(this);\r\n this.instances.push(renderable);\r\n }\r\n for (const renderable of this.instances)\r\n {\r\n renderable?.SetBoosterSet?.(this);\r\n }\r\n this.#revision++;\r\n return this.instances.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Update(\r\n deltaTime,\r\n time,\r\n parentMatrix = mat4.create(),\r\n parentSpeed = 0,\r\n parentAcceleration = EveBoosterSet2.#zero,\r\n parentRotation = EveBoosterSet2.#identityRotation,\r\n boosterInstance = 0\r\n )\r\n {\r\n if (!this.instances.length)\r\n {\r\n this.SetCount(1);\r\n }\r\n const index = Number(boosterInstance) >>> 0;\r\n if (index >= this.instances.length)\r\n {\r\n return false;\r\n }\r\n this.instances[index]?.Update?.(\r\n deltaTime,\r\n time,\r\n parentMatrix,\r\n parentSpeed,\r\n parentAcceleration,\r\n parentRotation\r\n );\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n UpdateTrails(deltaTime, time)\r\n {\r\n if (!this.trails)\r\n {\r\n return false;\r\n }\r\n let updated = false;\r\n for (const renderable of this.instances)\r\n {\r\n updated = renderable?.UpdateTrails?.(deltaTime, time) || updated;\r\n }\r\n this.trails.Update?.(time);\r\n return updated;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n this.items.length = 0;\r\n EveBoosterSet2.#ClearRuntimeItems(this);\r\n this.#revision++;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Add(\r\n localMatrix,\r\n functionality,\r\n hasTrail,\r\n atlasIndex0,\r\n atlasIndex1,\r\n lightScale = 1\r\n )\r\n {\r\n if (!localMatrix || localMatrix.length !== 16)\r\n {\r\n throw new TypeError(\"EveBoosterSet2 transforms must contain 16 values\");\r\n }\r\n const item = new EveBoosterSet2Item();\r\n mat4.copy(item.transform, localMatrix);\r\n vec4.copy(item.functionality, functionality ?? EveBoosterSet2.#defaultFunctionality);\r\n item.hasTrail = !!hasTrail;\r\n item.atlasIndex0 = Number(atlasIndex0) >>> 0;\r\n item.atlasIndex1 = Number(atlasIndex1) >>> 0;\r\n item.lightScale = Number(lightScale) || 0;\r\n this.items.push(item);\r\n EveBoosterSet2.#AddRuntimeItem(this, item);\r\n this.#revision++;\r\n return this.items.length - 1;\r\n }\r\n\r\n static #ClearRuntimeItems(owner)\r\n {\r\n owner.#singleBoosters.length = 0;\r\n owner.glows?.Clear?.();\r\n owner.trails?.Clear?.();\r\n vec3.set(owner.boosterBoundingSphereCenter, 0, 0, 0);\r\n owner.boosterBoundingSphereRadius = 0;\r\n owner.maxSize = 0;\r\n }\r\n\r\n static #RebuildItems(owner)\r\n {\r\n EveBoosterSet2.#ClearRuntimeItems(owner);\r\n for (const item of owner.items)\r\n {\r\n EveBoosterSet2.#AddRuntimeItem(owner, item);\r\n }\r\n owner.__state.flags.delete(\"items\");\r\n owner.__state.flags.delete(\"flares\");\r\n }\r\n\r\n static #AddRuntimeItem(owner, item)\r\n {\r\n const transform = mat4.clone(item.transform);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n const lightPosition = vec3.transformMat4(\r\n vec3.create(),\r\n [0, 0, -owner.lightOffset],\r\n transform\r\n );\r\n const booster = {\r\n transform,\r\n functionality: vec4.clone(item.functionality),\r\n lightPosition,\r\n lightRadius: scale * item.lightScale,\r\n lightPhase: 128 * Math.random(),\r\n atlasIndex0: item.atlasIndex0,\r\n atlasIndex1: item.atlasIndex1,\r\n hasTrail: item.hasTrail\r\n };\r\n owner.#singleBoosters.push(booster);\r\n\r\n if (owner.glows)\r\n {\r\n EveBoosterSet2.#CreateFlares(owner, booster);\r\n }\r\n if (owner.trails && item.hasTrail)\r\n {\r\n const trailTransform = mat4.clone(transform);\r\n trailTransform[12] -= trailTransform[8] * 0.5;\r\n trailTransform[13] -= trailTransform[9] * 0.5;\r\n trailTransform[14] -= trailTransform[10] * 0.5;\r\n owner.trails.Add?.(trailTransform, scale);\r\n }\r\n\r\n EveBoosterSet2.#UpdateBoundingSphere(owner, transform.subarray(12, 15));\r\n owner.maxSize = Math.max(owner.maxSize, scale);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetData(\r\n glowScale,\r\n glowColor,\r\n warpGlowColor,\r\n symHaloScale,\r\n haloScaleX,\r\n haloScaleY,\r\n haloColor,\r\n warpHaloColor,\r\n alwaysOn\r\n )\r\n {\r\n this.glowScale = Number(glowScale);\r\n vec4.copy(this.glowColor, glowColor);\r\n vec4.copy(this.warpGlowColor, warpGlowColor);\r\n this.symHaloScale = Number(symHaloScale);\r\n this.haloScaleX = Number(haloScaleX);\r\n this.haloScaleY = Number(haloScaleY);\r\n vec4.copy(this.haloColor, haloColor);\r\n vec4.copy(this.warpHaloColor, warpHaloColor);\r\n this.alwaysOn = !!alwaysOn;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetLightData(offset, flickerAmplitude, flickerFrequency, radius, color, warpRadius, warpColor)\r\n {\r\n this.lightOffset = Number(offset);\r\n this.lightFlickerAmplitude = Number(flickerAmplitude);\r\n this.lightFlickerFrequency = Number(flickerFrequency);\r\n this.lightRadius = Number(radius);\r\n vec4.copy(this.lightColor, color);\r\n this.lightWarpRadius = Number(warpRadius);\r\n vec4.copy(this.lightWarpColor, warpColor);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect, effectFar)\r\n {\r\n this.effect = effect ?? null;\r\n this.effectFar = effectFar ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetGlow(glow)\r\n {\r\n this.glows = glow ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetTrail(trail)\r\n {\r\n this.trails = trail ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterIntensity(index = null)\r\n {\r\n if (index !== null && index !== undefined)\r\n {\r\n return this.instances[Number(index) >>> 0]?.GetIntensity?.() ?? 0;\r\n }\r\n if (!this.instances.length)\r\n {\r\n return 0;\r\n }\r\n let intensity = 0;\r\n for (const renderable of this.instances)\r\n {\r\n intensity += renderable?.GetIntensity?.() ?? 0;\r\n }\r\n return intensity / this.instances.length;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoundingSphere()\r\n {\r\n const result = vec4.create();\r\n for (const renderable of this.instances)\r\n {\r\n EveBoosterSet2.#MergeSphere(result, renderable?.GetBoundingSphere?.());\r\n }\r\n return result;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n GetBoosterData()\r\n {\r\n return this.#singleBoosters.map(booster => ({\r\n transform: mat4.clone(booster.transform),\r\n functionality: vec4.clone(booster.functionality),\r\n lightPosition: vec3.clone(booster.lightPosition),\r\n lightRadius: booster.lightRadius,\r\n lightPhase: booster.lightPhase,\r\n atlasIndex0: booster.atlasIndex0,\r\n atlasIndex1: booster.atlasIndex1,\r\n hasTrail: booster.hasTrail\r\n }));\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetRevision()\r\n {\r\n return this.#revision;\r\n }\r\n\r\n /** Carbon EveBoosterSet2::RegisterComponents (cpp:1272-1279): unconditional\r\n * LightOwner leaf self-registration. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.LightOwner, this);\r\n }\r\n }\r\n\r\n /** Carbon EveBoosterSet2::GetLights (cpp:1287-1330): booster/warp light\r\n * submission. Awaits the LightOwner consumption pass (Tr2LightManager\r\n * submission is unported); presence satisfies the \"LightOwner\" duck\r\n * contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EveBoosterSet2.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static #CreateFlares(owner, booster)\r\n {\r\n const transform = booster.transform;\r\n const position = vec3.fromValues(transform[12], transform[13], transform[14]);\r\n const direction = vec3.fromValues(transform[8], transform[9], transform[10]);\r\n const scale = Math.max(\r\n Math.hypot(transform[0], transform[1], transform[2]),\r\n Math.hypot(transform[4], transform[5], transform[6])\r\n );\r\n if (vec3.squaredLength(direction))\r\n {\r\n vec3.normalize(direction, direction);\r\n }\r\n if (scale < 3)\r\n {\r\n vec3.scale(direction, direction, scale / 3);\r\n }\r\n const seed = Math.random() * 0.7;\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 2.5, seed, seed,\r\n scale * owner.glowScale, scale * owner.glowScale, owner.glowColor, owner.warpGlowColor);\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 3, seed, 1 + seed,\r\n scale * owner.symHaloScale, scale * owner.symHaloScale, owner.haloColor, owner.warpHaloColor);\r\n EveBoosterSet2.#AddFlare(owner, position, direction, 3.01, seed, 1 + seed,\r\n scale * owner.haloScaleX, scale * owner.haloScaleY, owner.haloColor, owner.warpHaloColor);\r\n }\r\n\r\n static #AddFlare(owner, position, direction, distance, blinkRate, blinkPhase, minScale, maxScale, color, warpColor)\r\n {\r\n const spritePosition = vec3.scaleAndAdd(vec3.create(), position, direction, -distance);\r\n owner.glows.Add?.(\r\n spritePosition,\r\n blinkRate,\r\n blinkPhase,\r\n minScale,\r\n maxScale,\r\n 0,\r\n color,\r\n warpColor\r\n );\r\n }\r\n\r\n static #UpdateBoundingSphere(owner, position)\r\n {\r\n const delta = vec3.subtract(vec3.create(), position, owner.boosterBoundingSphereCenter);\r\n const distance = vec3.length(delta);\r\n const radius = owner.boosterBoundingSphereRadius;\r\n if (distance * distance <= radius * radius + 1e-4 || !distance)\r\n {\r\n return;\r\n }\r\n vec3.scaleAndAdd(\r\n owner.boosterBoundingSphereCenter,\r\n owner.boosterBoundingSphereCenter,\r\n delta,\r\n 0.5 * (1 - radius / distance)\r\n );\r\n owner.boosterBoundingSphereRadius = 0.5 * (radius + distance);\r\n }\r\n\r\n static #UpdateStaticTrailOffsets(owner)\r\n {\r\n owner.__state.flags.delete(\"staticTrailOffsets\");\r\n const step = owner.staticTrailLength / 4;\r\n const offsets = [\r\n owner.trailsStaticOffsets0,\r\n owner.trailsStaticOffsets1,\r\n owner.trailsStaticOffsets2,\r\n owner.trailsStaticOffsets3,\r\n owner.trailsStaticOffsets4\r\n ];\r\n for (let index = 0; index < offsets.length; index++)\r\n {\r\n vec3.set(offsets[index], 0, 0, -step * index);\r\n }\r\n }\r\n\r\n static #MergeSphere(target, source)\r\n {\r\n if (!source || source.length !== 4)\r\n {\r\n return target;\r\n }\r\n const targetRadius = target[3];\r\n const sourceRadius = source[3];\r\n const delta = vec3.fromValues(source[0] - target[0], source[1] - target[1], source[2] - target[2]);\r\n const distance = vec3.length(delta);\r\n if (targetRadius >= distance + sourceRadius)\r\n {\r\n return target;\r\n }\r\n if (sourceRadius >= distance + targetRadius)\r\n {\r\n vec4.copy(target, source);\r\n return target;\r\n }\r\n if (!distance)\r\n {\r\n target[3] = Math.max(targetRadius, sourceRadius);\r\n return target;\r\n }\r\n const radius = 0.5 * (distance + targetRadius + sourceRadius);\r\n const factor = (radius - targetRadius) / distance;\r\n target[0] += delta[0] * factor;\r\n target[1] += delta[1] * factor;\r\n target[2] += delta[2] * factor;\r\n target[3] = radius;\r\n return target;\r\n }\r\n\r\n static #zero = Object.freeze([0, 0, 0]);\r\n\r\n static #identityRotation = Object.freeze([0, 0, 0, 1]);\r\n\r\n static #defaultFunctionality = Object.freeze([0, 1, 1, 1]);\r\n\r\n static Shape = Object.freeze({\r\n STAR: 0,\r\n BOX: 1,\r\n SHAPE_COUNT: 2\r\n });\r\n\r\n}\r\n"],"names":["_EveBoosterSet2Item","EveBoosterSet2Item","CjsModel","e","_init_transform","_init_extra_transform","_init_functionality","_init_extra_functionality","_init_hasTrail","_init_extra_hasTrail","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_lightScale","_init_extra_lightScale","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","mat4","vec4","boolean","uint32","float32","constructor","args","transform","create","functionality","fromValues","hasTrail","atlasIndex0","atlasIndex1","lightScale","_EveBoosterSet","_identity","EveBoosterSet2","EveEntity","_init_flareLodEnabled","_init_extra_flareLodEnabled","_init_staticTrailLength","_init_extra_staticTrailLength","_init_trailsStaticOffsets","_init_extra_trailsStaticOffsets","_init_trailsStaticOffsets2","_init_extra_trailsStaticOffsets2","_init_trailsStaticOffsets3","_init_extra_trailsStaticOffsets3","_init_trailsStaticOffsets4","_init_extra_trailsStaticOffsets4","_init_trailsStaticOffsets5","_init_extra_trailsStaticOffsets5","_init_lightOffset","_init_extra_lightOffset","_init_lightFlickerAmplitude","_init_extra_lightFlickerAmplitude","_init_lightFlickerFrequency","_init_extra_lightFlickerFrequency","_init_lightRadius","_init_extra_lightRadius","_init_lightColor","_init_extra_lightColor","_init_lightWarpRadius","_init_extra_lightWarpRadius","_init_lightWarpColor","_init_extra_lightWarpColor","_init_display","_init_extra_display","_init_alwaysOnIntensity","_init_extra_alwaysOnIntensity","_init_warpGlowColor","_init_extra_warpGlowColor","_init_glowColor","_init_extra_glowColor","_init_haloColor","_init_extra_haloColor","_init_warpHaloColor","_init_extra_warpHaloColor","_init_effectFar","_init_extra_effectFar","_init_effect","_init_extra_effect","_init_instances","_init_extra_instances","_init_maxVel","_init_extra_maxVel","_init_glowScale","_init_extra_glowScale","_init_symHaloScale","_init_extra_symHaloScale","_init_haloScaleX","_init_extra_haloScaleX","_init_haloScaleY","_init_extra_haloScaleY","_init_trailsSmoothing","_init_extra_trailsSmoothing","_init_glows","_init_extra_glows","_init_maxSize","_init_extra_maxSize","_init_boosterBoundingSphereCenter","_init_extra_boosterBoundingSphereCenter","_init_boosterBoundingSphereRadius","_init_extra_boosterBoundingSphereRadius","_init_warpIntensity","_init_extra_warpIntensity","_init_physicsUpdate","_init_extra_physicsUpdate","_init_destinyUpdate","_init_extra_destinyUpdate","_init_alwaysOn","_init_extra_alwaysOn","_init_trails","_init_extra_trails","_init_items","_init_extra_items","_initProto","_initClass2","notify","readwrite","flag","vec3","color","objectRef","read","list","carbon","method","impl","adapted","implemented","notImplemented","_ClearRuntimeItems","owner","length","glows","Clear","trails","set","boosterBoundingSphereCenter","boosterBoundingSphereRadius","maxSize","_AddRuntimeItem","item","clone","scale","Math","max","hypot","lightPosition","transformMat4","lightOffset","booster","lightRadius","lightPhase","random","push","trailTransform","Add","subarray","flareLodEnabled","staticTrailLength","trailsStaticOffsets0","trailsStaticOffsets1","trailsStaticOffsets2","trailsStaticOffsets3","trailsStaticOffsets4","lightFlickerAmplitude","lightFlickerFrequency","lightColor","lightWarpRadius","lightWarpColor","display","alwaysOnIntensity","warpGlowColor","glowColor","haloColor","warpHaloColor","effectFar","effect","instances","maxVel","glowScale","symHaloScale","haloScaleX","haloScaleY","trailsSmoothing","warpIntensity","physicsUpdate","destinyUpdate","alwaysOn","items","Initialize","renderable","SetBoosterSet","OnModified","_options","flags","__state","has","delete","Rebuild","SetCount","count","requested","trunc","Number","target","isFinite","EveBoosterSet2Renderable","Update","deltaTime","time","parentMatrix","parentSpeed","parentAcceleration","parentRotation","boosterInstance","index","UpdateTrails","updated","localMatrix","TypeError","copy","SetData","SetLightData","offset","flickerAmplitude","flickerFrequency","radius","warpRadius","warpColor","SetEffect","SetGlow","glow","SetTrail","trail","GetBoosterIntensity","undefined","GetIntensity","intensity","GetBoundingSphere","result","GetBoosterData","map","GetRevision","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","_args","Error","#ClearRuntimeItems","_0","apply","arguments","#RebuildItems","#AddRuntimeItem","_1","#CreateFlares","position","direction","squaredLength","normalize","seed","#AddFlare","distance","blinkRate","blinkPhase","minScale","maxScale","spritePosition","scaleAndAdd","#UpdateBoundingSphere","delta","subtract","#UpdateStaticTrailOffsets","step","offsets","#MergeSphere","source","targetRadius","sourceRadius","factor","Object","freeze","Shape","STAR","BOX","SHAPE_COUNT"],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { ReflectionSetting, ReflectionMode } from '../generated/eve/enums.js';
2
+
3
+ // Source: E:\carbonengine\trinity\trinity\Eve\EveEntity.h
4
+ // Source: E:\carbonengine\trinity\trinity\Eve\EveEntity.cpp
5
+ // Shared component-name vocabulary for the EveComponentRegistry. Carbon binds
6
+ // each registry collection to a compile-time interface through
7
+ // REGISTER_COMPONENT_TYPE(name, interface); JavaScript has no template
8
+ // specialization, so the verbatim name strings are the load-bearing contract.
9
+
10
+ /**
11
+ * The nine Carbon component-name strings (VERBATIM). Each entry cites the
12
+ * REGISTER_COMPONENT_TYPE declaration that binds the name to its interface.
13
+ */
14
+ const EveComponentType = Object.freeze({
15
+ /** ITr2Renderable (ITr2Renderable.h:58). */
16
+ ReflectionRenderable: "ReflectionRenderable",
17
+ /** ITr2VolumetricRenderable (ITr2VolumetricRenderable.h:55). */
18
+ VolumetricRenderable: "VolumetricRenderable",
19
+ /** ITr2MeshMorph (ITr2MeshMorph.h:14). */
20
+ MeshMorph: "MeshMorph",
21
+ /** ITr2PostProcessOwner (PostProcess/ITr2PostProcessOwner.h:15). */
22
+ PostProcessOwner: "PostProcessOwner",
23
+ /** IEveInstanceMeshProvider (Eve/EveInstancedMeshManager.h:273). */
24
+ InstancedMeshProvider: "InstancedMeshProvider",
25
+ /** ITr2LightOwner (Lights/ITr2LightOwner.h:18). */
26
+ LightOwner: "LightOwner",
27
+ /** ITr2FroxelFogSettings (Tr2VolumetricsRenderer.h:57). */
28
+ FroxelFogSettings: "FroxelFogSettings",
29
+ /** IEveShadowCaster (Eve/IEveShadowCaster.h:164). */
30
+ ShadowCaster: "ShadowCaster",
31
+ /** IEveLightingOverride (EveChildLightingOverride.h:35). */
32
+ EveLightingOverride: "EveLightingOverride"
33
+ });
34
+
35
+ /**
36
+ * Required duck methods per component name: each Carbon interface's
37
+ * pure-virtual surface (methods Carbon gives default implementations - e.g.
38
+ * ITr2Renderable::IsVisible, ITr2LightOwner::AddLight/ClearLights,
39
+ * IEveShadowCaster::PushRtGeometry/MarkRtDirty/IsShadowCastingDirty and the
40
+ * sphere-overload IsCastingShadow - are not required). Consumed fail-closed by
41
+ * EveComponentRegistry.RegisterComponent.
42
+ */
43
+ const EveComponentRequiredMethods = Object.freeze({
44
+ /** ITr2Renderable.h:47-57 pure virtuals. */
45
+ ReflectionRenderable: Object.freeze(["GetBatches", "HasTransparentBatches", "GetSortValue", "GetPerObjectData"]),
46
+ /** ITr2VolumetricRenderable.h:44-51 pure virtuals. */
47
+ VolumetricRenderable: Object.freeze(["GetSortValue", "GetVolumetricBatches", "UpdateVolumetricLightmap", "SetSceneInformation", "GetVolumetricShadowBatches", "GetVolumetricShadowInfo", "PrepareCloudShadowMap", "SetCloudShadowMapHandle"]),
48
+ /** ITr2MeshMorph.h:11. */
49
+ MeshMorph: Object.freeze(["UpdateMeshMorphs"]),
50
+ /** PostProcess/ITr2PostProcessOwner.h:12. */
51
+ PostProcessOwner: Object.freeze(["GetPostProcessAttributes"]),
52
+ /** Eve/EveInstancedMeshManager.h:270. */
53
+ InstancedMeshProvider: Object.freeze(["AddMeshesToManager"]),
54
+ /** Lights/ITr2LightOwner.h:13. */
55
+ LightOwner: Object.freeze(["GetLights"]),
56
+ /** Tr2VolumetricsRenderer.h:55. */
57
+ FroxelFogSettings: Object.freeze(["GetFroxelFogSettings"]),
58
+ /** Eve/IEveShadowCaster.h:143-149 pure virtuals. */
59
+ ShadowCaster: Object.freeze(["IsCastingShadow", "GetShadowBatches", "GetShadowPerObjectData"]),
60
+ /** EveChildLightingOverride.h:31. */
61
+ EveLightingOverride: Object.freeze(["GetOverrides"])
62
+ });
63
+
64
+ // Carbon's global reflection knob g_eveReflectionMode (scene setting
65
+ // "eveReflectionSetting"). CARBON QUIRK: EveSpaceScene.cpp:112 initializes the
66
+ // global with the WRONG enum - EntityComponents::REFLECT_NEVER (== 3), which
67
+ // read as a ReflectionSetting is REFLECTION_SETTING_HIGH - so Carbon's shipped
68
+ // default is effectively HIGH. The port keeps the shipped behavior by
69
+ // defaulting to REFLECTION_SETTING_HIGH directly.
70
+ let eveReflectionSetting = ReflectionSetting.REFLECTION_SETTING_HIGH;
71
+
72
+ /**
73
+ * Reads the module-level reflection setting (Carbon g_eveReflectionMode).
74
+ * @returns {Number} a ReflectionSetting value
75
+ */
76
+ function GetReflectionSetting() {
77
+ return eveReflectionSetting;
78
+ }
79
+
80
+ /**
81
+ * Stamps the module-level reflection setting (Carbon TRI_REGISTER_SETTING
82
+ * "eveReflectionSetting", EveSpaceScene.cpp:113).
83
+ * @param {Number} setting - a ReflectionSetting value
84
+ */
85
+ function SetReflectionSetting(setting) {
86
+ eveReflectionSetting = setting;
87
+ }
88
+
89
+ /**
90
+ * Carbon EntityComponents::ShouldReflect (EveEntity.cpp:13-33): whether an
91
+ * entity with the given per-entity ReflectionMode registers as
92
+ * "ReflectionRenderable" under the current global ReflectionSetting.
93
+ * @param {Number} mode - a ReflectionMode value
94
+ * @returns {Boolean}
95
+ */
96
+ function ShouldReflect(mode) {
97
+ if (eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_OFF) {
98
+ return false;
99
+ }
100
+ switch (mode) {
101
+ case ReflectionMode.REFLECT_NEVER:
102
+ return false;
103
+ case ReflectionMode.REFLECT_LOW_MEDIUM_HIGH:
104
+ return true;
105
+ case ReflectionMode.REFLECT_MEDIUM_AND_HIGH:
106
+ // Carbon: "we have either medium, high or highest settings".
107
+ return eveReflectionSetting !== ReflectionSetting.REFLECTION_SETTING_LOW;
108
+ case ReflectionMode.REFLECT_HIGH:
109
+ return eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_HIGH || eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_ULTRA;
110
+ default:
111
+ return false;
112
+ }
113
+ }
114
+
115
+ export { EveComponentRequiredMethods, EveComponentType, GetReflectionSetting, ReflectionMode, ReflectionSetting, SetReflectionSetting, ShouldReflect };
116
+ //# sourceMappingURL=EveComponentTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EveComponentTypes.js","sources":["../../../src/eve/EveComponentTypes.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEntity.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\EveEntity.cpp\n// Shared component-name vocabulary for the EveComponentRegistry. Carbon binds\n// each registry collection to a compile-time interface through\n// REGISTER_COMPONENT_TYPE(name, interface); JavaScript has no template\n// specialization, so the verbatim name strings are the load-bearing contract.\nimport { ReflectionMode, ReflectionSetting } from \"../generated/eve/enums.js\";\n\nexport { ReflectionMode, ReflectionSetting };\n\n/**\n * The nine Carbon component-name strings (VERBATIM). Each entry cites the\n * REGISTER_COMPONENT_TYPE declaration that binds the name to its interface.\n */\nexport const EveComponentType = Object.freeze({\n /** ITr2Renderable (ITr2Renderable.h:58). */\n ReflectionRenderable: \"ReflectionRenderable\",\n /** ITr2VolumetricRenderable (ITr2VolumetricRenderable.h:55). */\n VolumetricRenderable: \"VolumetricRenderable\",\n /** ITr2MeshMorph (ITr2MeshMorph.h:14). */\n MeshMorph: \"MeshMorph\",\n /** ITr2PostProcessOwner (PostProcess/ITr2PostProcessOwner.h:15). */\n PostProcessOwner: \"PostProcessOwner\",\n /** IEveInstanceMeshProvider (Eve/EveInstancedMeshManager.h:273). */\n InstancedMeshProvider: \"InstancedMeshProvider\",\n /** ITr2LightOwner (Lights/ITr2LightOwner.h:18). */\n LightOwner: \"LightOwner\",\n /** ITr2FroxelFogSettings (Tr2VolumetricsRenderer.h:57). */\n FroxelFogSettings: \"FroxelFogSettings\",\n /** IEveShadowCaster (Eve/IEveShadowCaster.h:164). */\n ShadowCaster: \"ShadowCaster\",\n /** IEveLightingOverride (EveChildLightingOverride.h:35). */\n EveLightingOverride: \"EveLightingOverride\"\n});\n\n/**\n * Required duck methods per component name: each Carbon interface's\n * pure-virtual surface (methods Carbon gives default implementations - e.g.\n * ITr2Renderable::IsVisible, ITr2LightOwner::AddLight/ClearLights,\n * IEveShadowCaster::PushRtGeometry/MarkRtDirty/IsShadowCastingDirty and the\n * sphere-overload IsCastingShadow - are not required). Consumed fail-closed by\n * EveComponentRegistry.RegisterComponent.\n */\nexport const EveComponentRequiredMethods = Object.freeze({\n /** ITr2Renderable.h:47-57 pure virtuals. */\n ReflectionRenderable: Object.freeze([\"GetBatches\", \"HasTransparentBatches\", \"GetSortValue\", \"GetPerObjectData\"]),\n /** ITr2VolumetricRenderable.h:44-51 pure virtuals. */\n VolumetricRenderable: Object.freeze([\n \"GetSortValue\",\n \"GetVolumetricBatches\",\n \"UpdateVolumetricLightmap\",\n \"SetSceneInformation\",\n \"GetVolumetricShadowBatches\",\n \"GetVolumetricShadowInfo\",\n \"PrepareCloudShadowMap\",\n \"SetCloudShadowMapHandle\"\n ]),\n /** ITr2MeshMorph.h:11. */\n MeshMorph: Object.freeze([\"UpdateMeshMorphs\"]),\n /** PostProcess/ITr2PostProcessOwner.h:12. */\n PostProcessOwner: Object.freeze([\"GetPostProcessAttributes\"]),\n /** Eve/EveInstancedMeshManager.h:270. */\n InstancedMeshProvider: Object.freeze([\"AddMeshesToManager\"]),\n /** Lights/ITr2LightOwner.h:13. */\n LightOwner: Object.freeze([\"GetLights\"]),\n /** Tr2VolumetricsRenderer.h:55. */\n FroxelFogSettings: Object.freeze([\"GetFroxelFogSettings\"]),\n /** Eve/IEveShadowCaster.h:143-149 pure virtuals. */\n ShadowCaster: Object.freeze([\"IsCastingShadow\", \"GetShadowBatches\", \"GetShadowPerObjectData\"]),\n /** EveChildLightingOverride.h:31. */\n EveLightingOverride: Object.freeze([\"GetOverrides\"])\n});\n\n// Carbon's global reflection knob g_eveReflectionMode (scene setting\n// \"eveReflectionSetting\"). CARBON QUIRK: EveSpaceScene.cpp:112 initializes the\n// global with the WRONG enum - EntityComponents::REFLECT_NEVER (== 3), which\n// read as a ReflectionSetting is REFLECTION_SETTING_HIGH - so Carbon's shipped\n// default is effectively HIGH. The port keeps the shipped behavior by\n// defaulting to REFLECTION_SETTING_HIGH directly.\nlet eveReflectionSetting = ReflectionSetting.REFLECTION_SETTING_HIGH;\n\n/**\n * Reads the module-level reflection setting (Carbon g_eveReflectionMode).\n * @returns {Number} a ReflectionSetting value\n */\nexport function GetReflectionSetting()\n{\n return eveReflectionSetting;\n}\n\n/**\n * Stamps the module-level reflection setting (Carbon TRI_REGISTER_SETTING\n * \"eveReflectionSetting\", EveSpaceScene.cpp:113).\n * @param {Number} setting - a ReflectionSetting value\n */\nexport function SetReflectionSetting(setting)\n{\n eveReflectionSetting = setting;\n}\n\n/**\n * Carbon EntityComponents::ShouldReflect (EveEntity.cpp:13-33): whether an\n * entity with the given per-entity ReflectionMode registers as\n * \"ReflectionRenderable\" under the current global ReflectionSetting.\n * @param {Number} mode - a ReflectionMode value\n * @returns {Boolean}\n */\nexport function ShouldReflect(mode)\n{\n if (eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_OFF)\n {\n return false;\n }\n\n switch (mode)\n {\n case ReflectionMode.REFLECT_NEVER:\n return false;\n case ReflectionMode.REFLECT_LOW_MEDIUM_HIGH:\n return true;\n case ReflectionMode.REFLECT_MEDIUM_AND_HIGH:\n // Carbon: \"we have either medium, high or highest settings\".\n return eveReflectionSetting !== ReflectionSetting.REFLECTION_SETTING_LOW;\n case ReflectionMode.REFLECT_HIGH:\n return eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_HIGH ||\n eveReflectionSetting === ReflectionSetting.REFLECTION_SETTING_ULTRA;\n default:\n return false;\n }\n}\n"],"names":["EveComponentType","Object","freeze","ReflectionRenderable","VolumetricRenderable","MeshMorph","PostProcessOwner","InstancedMeshProvider","LightOwner","FroxelFogSettings","ShadowCaster","EveLightingOverride","EveComponentRequiredMethods","eveReflectionSetting","ReflectionSetting","REFLECTION_SETTING_HIGH","GetReflectionSetting","SetReflectionSetting","setting","ShouldReflect","mode","REFLECTION_SETTING_OFF","ReflectionMode","REFLECT_NEVER","REFLECT_LOW_MEDIUM_HIGH","REFLECT_MEDIUM_AND_HIGH","REFLECTION_SETTING_LOW","REFLECT_HIGH","REFLECTION_SETTING_ULTRA"],"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 { EveHazeSetLight as _EveHazeSetLight } from './EveHazeSetLight.js';
5
+ import { EveComponentType } from './EveComponentTypes.js';
5
6
 
6
7
  let _initProto, _initClass, _init_effect, _init_extra_effect, _init_display, _init_extra_display, _init_name, _init_extra_name, _init_hazes, _init_extra_hazes, _init_lights, _init_extra_lights;
7
8
  let _EveHazeSet;
@@ -13,7 +14,7 @@ class EveHazeSet extends _EveEntity {
13
14
  } = _applyDecs2311(this, [type.define({
14
15
  className: "EveHazeSet",
15
16
  family: "eve/attachment/haze"
16
- })], [[[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.objectRef("Tr2Effect")], 16, "effect"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveHazeSetItem")], 16, "hazes"], [[io, io.persist, void 0, type.list("EveHazeSetLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddHazeItem"], [[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.objectRef("Tr2Effect")], 16, "effect"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EveHazeSetItem")], 16, "hazes"], [[io, io.persist, void 0, type.list("EveHazeSetLight")], 16, "lights"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddHazeItem"], [[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
  effect = (_initProto(this), _init_effect(this, null));
19
20
  display = (_init_extra_effect(this), _init_display(this, true));
@@ -46,6 +47,22 @@ class EveHazeSet extends _EveEntity {
46
47
  AddLightFromSOF(light) {
47
48
  this.lights.push(_EveHazeSetLight.FromSOF(light));
48
49
  }
50
+
51
+ /** Carbon EveHazeSet::RegisterComponents (cpp:394-401): LightOwner when
52
+ * lights are authored. */
53
+ RegisterComponents() {
54
+ const registry = this.GetComponentRegistry();
55
+ if (registry && this.lights.length) {
56
+ registry.RegisterComponent(EveComponentType.LightOwner, this);
57
+ }
58
+ }
59
+
60
+ /** Carbon EveHazeSet::GetLights (cpp:403-424): per-light submission.
61
+ * Awaits the LightOwner consumption pass (Tr2LightManager submission is
62
+ * unported); presence satisfies the "LightOwner" duck contract. */
63
+ GetLights(..._args) {
64
+ throw new Error("EveHazeSet.GetLights is not implemented in CarbonEngineJS.");
65
+ }
49
66
  static {
50
67
  _initClass();
51
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveHazeSet.js","sources":["../../../src/eve/EveHazeSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\nimport { EveHazeSetLight } from \"./EveHazeSetLight.js\";\n\n\n@type.define({ className: \"EveHazeSet\", family: \"eve/attachment/haze\" })\nexport class EveHazeSet extends EveEntity\n{\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n @io.persist\n @type.boolean\n display = true;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.list(\"EveHazeSetItem\")\n hazes = [];\n\n @io.persist\n @type.list(\"EveHazeSetLight\")\n lights = [];\n\n #rebuildRevision = 0;\n\n @carbon.method\n @impl.implemented\n Setup(effect)\n {\n this.effect = effect ?? null;\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 Rebuild()\n {\n // Carbon rebuilds packed haze vertices and static bounds here. The\n // backend-neutral runtime keeps the authored graph and invalidates the\n // renderer-facing revision without allocating device resources.\n this.#rebuildRevision++;\n this.__state.rebuild.add(\"packedGeometry\");\n }\n\n @carbon.method\n @impl.implemented\n AddHazeItem(item)\n {\n this.hazes.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(EveHazeSetLight.FromSOF(light));\n }\n}\n"],"names":["_EveHazeSet","EveHazeSet","EveEntity","e","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_hazes","_init_extra_hazes","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","objectRef","boolean","string","list","carbon","method","impl","implemented","adapted","effect","display","name","hazes","lights","Setup","Initialize","Rebuild","__state","add","AddHazeItem","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveHazeSetLight","FromSOF"],"mappings":";;;;;;AAIuD,IAAAA;AAGvD,MAAAC,UAAA,SACgCC,UAAS,CACzC;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,YAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAf,WAAA,EAAAgB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,YAAY;AAAEC,MAAAA,MAAM,EAAE;AAAsB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAGrEC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,OAAO,UACVN,IAAI,CAACO,SAAS,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAG3BH,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,qBAGZJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,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,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,gBAAgB,CAAC,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAG3BN,EAAE,EAAFA,EAAE,CAACE,OAAO,EAAA,MAAA,EACVN,IAAI,CAACU,IAAI,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAK5BC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAOZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAUZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAMhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CASZJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,uCAtEiB/B,UAAS,CAAA;AAAA;AAKvCgC,EAAAA,MAAM,IAAApB,UAAA,CAAA,IAAA,CAAA,EAAAV,YAAA,OAAG,IAAI,CAAA;AAIb+B,EAAAA,OAAO,IAAA9B,kBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAId8B,EAAAA,IAAI,IAAA7B,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAKT6B,EAAAA,KAAK,IAAA5B,gBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,EAAE,CAAA;AAIV4B,EAAAA,MAAM,IAAA3B,iBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAEX,EAAA,gBAAgB,IAAAC,kBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;EAIpB0B,KAAKA,CAACL,MAAM,EACZ;AACE,IAAA,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAI,IAAI;AAC9B,EAAA;AAIAM,EAAAA,UAAUA,GACV;IACE,IAAI,CAACC,OAAO,EAAE;AACd,IAAA,OAAO,IAAI;AACb,EAAA;AAIAA,EAAAA,OAAOA,GACP;AACE;AACA;AACA;IACA,IAAI,CAAC,gBAAgB,EAAE;IACvB,IAAI,CAACC,OAAO,CAACnB,OAAO,CAACoB,GAAG,CAAC,gBAAgB,CAAC;AAC5C,EAAA;EAIAC,WAAWA,CAACC,IAAI,EAChB;AACE,IAAA,IAAI,CAACR,KAAK,CAACS,IAAI,CAACD,IAAI,CAAC;AACvB,EAAA;AAIAE,EAAAA,eAAeA,CAACX,IAAI,EAAEY,KAAK,EAC3B;AACE,IAAA,IAAI,IAAI,CAACd,MAAM,IAAI,OAAO,IAAI,CAACA,MAAM,CAACe,SAAS,KAAK,UAAU,EAC9D;MACE,IAAI,CAACf,MAAM,CAACe,SAAS,CAACb,IAAI,EAAEY,KAAK,CAAC;AACpC,IAAA;AACF,EAAA;EAIAE,eAAeA,CAACC,KAAK,EACrB;IACE,IAAI,CAACb,MAAM,CAACQ,IAAI,CAACM,gBAAe,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC;AAClD,EAAA;AAAC,EAAA;IAAAnC,UAAA,EAAA;AAAA;AACH;;;;"}
1
+ {"version":3,"file":"EveHazeSet.js","sources":["../../../src/eve/EveHazeSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EveHazeSet.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EveHazeSetLight } from \"./EveHazeSetLight.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EveHazeSet\", family: \"eve/attachment/haze\" })\r\nexport class EveHazeSet extends EveEntity\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.persist\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.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EveHazeSetItem\")\r\n hazes = [];\r\n\r\n @io.persist\r\n @type.list(\"EveHazeSetLight\")\r\n lights = [];\r\n\r\n #rebuildRevision = 0;\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Setup(effect)\r\n {\r\n this.effect = effect ?? null;\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 Rebuild()\r\n {\r\n // Carbon rebuilds packed haze vertices and static bounds here. The\r\n // backend-neutral runtime keeps the authored graph and invalidates the\r\n // renderer-facing revision without allocating device resources.\r\n this.#rebuildRevision++;\r\n this.__state.rebuild.add(\"packedGeometry\");\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddHazeItem(item)\r\n {\r\n this.hazes.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(EveHazeSetLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EveHazeSet::RegisterComponents (cpp:394-401): 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 EveHazeSet::GetLights (cpp:403-424): 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(\"EveHazeSet.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n}\r\n"],"names":["_EveHazeSet","EveHazeSet","EveEntity","e","_init_effect","_init_extra_effect","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_hazes","_init_extra_hazes","_init_lights","_init_extra_lights","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","persist","objectRef","boolean","string","list","carbon","method","impl","implemented","adapted","notImplemented","effect","display","name","hazes","lights","Setup","Initialize","Rebuild","__state","add","AddHazeItem","item","push","SetShaderOption","value","SetOption","AddLightFromSOF","light","EveHazeSetLight","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 { EvePlaneLight as _EvePlaneLight } from './EvePlaneLight.js';
5
+ import { EveComponentType } from './EveComponentTypes.js';
5
6
 
6
7
  let _initProto, _initClass, _init_pickBufferID, _init_extra_pickBufferID, _init_hideOnLowQuality, _init_extra_hideOnLowQuality, _init_effect, _init_extra_effect, _init_skinned, _init_extra_skinned, _init_display, _init_extra_display, _init_name, _init_extra_name, _init_planes, _init_extra_planes, _init_lights, _init_extra_lights, _init_imageMapParameter, _init_extra_imageMapParameter, _init_layerMap1Parameter, _init_extra_layerMap1Parameter, _init_layerMap2Parameter, _init_extra_layerMap2Parameter, _init_maskMapParameter, _init_extra_maskMapParameter;
7
8
  let _EvePlaneSet;
@@ -13,7 +14,7 @@ class EvePlaneSet extends _EveEntity {
13
14
  } = _applyDecs2311(this, [type.define({
14
15
  className: "EvePlaneSet",
15
16
  family: "eve/attachment/planes"
16
- })], [[[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, type, type.uint8], 16, "pickBufferID"], [[io, io.persist, type, type.boolean], 16, "hideOnLowQuality"], [[void 0, io.rebuild("packedGeometry"), 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.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EvePlaneSetItem")], 16, "planes"], [[io, io.persist, void 0, type.list("EvePlaneLight")], 16, "lights"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "imageMapParameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "layerMap1Parameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "layerMap2Parameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "maskMapParameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetPickBufferID"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetIsSkinned"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddPlaneItem"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPlanes"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImageMapParameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetLayerMap1Parameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetLayerMap2Parameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaskMapParameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddLightFromSOF"]], 0, void 0, _EveEntity));
17
+ })], [[[void 0, io.rebuild("packedGeometry"), io, io.notify, io, io.persist, type, type.uint8], 16, "pickBufferID"], [[io, io.persist, type, type.boolean], 16, "hideOnLowQuality"], [[void 0, io.rebuild("packedGeometry"), 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.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("packedGeometry"), io, io.persist, void 0, type.list("EvePlaneSetItem")], 16, "planes"], [[io, io.persist, void 0, type.list("EvePlaneLight")], 16, "lights"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "imageMapParameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "layerMap1Parameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "layerMap2Parameter"], [[io, io.persist, void 0, type.objectRef("TriTextureParameter")], 16, "maskMapParameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "Rebuild"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetEffect"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetPickBufferID"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetIsSkinned"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddPlaneItem"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetPlanes"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetImageMapParameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetLayerMap1Parameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetLayerMap2Parameter"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaskMapParameter"], [[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
  pickBufferID = (_initProto(this), _init_pickBufferID(this, 0));
19
20
  hideOnLowQuality = (_init_extra_pickBufferID(this), _init_hideOnLowQuality(this, false));
@@ -77,6 +78,23 @@ class EvePlaneSet extends _EveEntity {
77
78
  AddLightFromSOF(light) {
78
79
  this.lights.push(_EvePlaneLight.FromSOF(light));
79
80
  }
81
+
82
+ /** Carbon EvePlaneSet::RegisterComponents (cpp:535-542): LightOwner when
83
+ * lights are authored. */
84
+ RegisterComponents() {
85
+ const registry = this.GetComponentRegistry();
86
+ if (registry && this.lights.length) {
87
+ registry.RegisterComponent(EveComponentType.LightOwner, this);
88
+ }
89
+ }
90
+
91
+ /** Carbon EvePlaneSet::GetLights (cpp:544-570): average-color light
92
+ * submission. Awaits the LightOwner consumption pass (Tr2LightManager
93
+ * submission is unported); presence satisfies the "LightOwner" duck
94
+ * contract. */
95
+ GetLights(..._args) {
96
+ throw new Error("EvePlaneSet.GetLights is not implemented in CarbonEngineJS.");
97
+ }
80
98
  static {
81
99
  _initClass();
82
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EvePlaneSet.js","sources":["../../../src/eve/EvePlaneSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.cpp\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\nimport { EvePlaneLight } from \"./EvePlaneLight.js\";\n\n\n@type.define({ className: \"EvePlaneSet\", family: \"eve/attachment/planes\" })\nexport class EvePlaneSet extends EveEntity\n{\n @io.rebuild(\"packedGeometry\")\n @io.notify\n @io.persist\n @type.uint8\n pickBufferID = 0;\n\n @io.persist\n @type.boolean\n hideOnLowQuality = false;\n\n @io.rebuild(\"packedGeometry\")\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.boolean\n display = true;\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.rebuild(\"packedGeometry\")\n @io.persist\n @type.list(\"EvePlaneSetItem\")\n planes = [];\n\n @io.persist\n @type.list(\"EvePlaneLight\")\n lights = [];\n\n // SOF-authored shared texture parameters; persisted so the values\n // interchange reproduces Carbon's hidden plane-set bindings.\n @io.persist\n @type.objectRef(\"TriTextureParameter\")\n imageMapParameter = null;\n\n @io.persist\n @type.objectRef(\"TriTextureParameter\")\n layerMap1Parameter = null;\n\n @io.persist\n @type.objectRef(\"TriTextureParameter\")\n layerMap2Parameter = null;\n\n @io.persist\n @type.objectRef(\"TriTextureParameter\")\n maskMapParameter = null;\n #rebuildRevision = 0;\n\n @carbon.method\n @impl.adapted\n Rebuild()\n {\n // Packed vertices, bounds caches and quad registration are reconciled by\n // the renderer adapter from this authored graph.\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 SetEffect(effect)\n {\n this.effect = effect ?? null;\n }\n\n @carbon.method\n @impl.adapted\n SetPickBufferID(pickBufferID)\n {\n this.pickBufferID = Number(pickBufferID) & 0xff;\n if (this.planes.length) this.Rebuild();\n }\n\n @carbon.method\n @impl.implemented\n SetIsSkinned(skinned)\n {\n this.skinned = !!skinned;\n }\n\n @carbon.method\n @impl.implemented\n AddPlaneItem(item)\n {\n this.planes.push(item);\n }\n\n @carbon.method\n @impl.implemented\n GetPlanes()\n {\n return this.planes;\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 SetImageMapParameter(parameter)\n {\n this.imageMapParameter = parameter ?? null;\n }\n\n @carbon.method\n @impl.adapted\n SetLayerMap1Parameter(parameter)\n {\n this.layerMap1Parameter = parameter ?? null;\n }\n\n @carbon.method\n @impl.adapted\n SetLayerMap2Parameter(parameter)\n {\n this.layerMap2Parameter = parameter ?? null;\n }\n\n @carbon.method\n @impl.adapted\n SetMaskMapParameter(parameter)\n {\n this.maskMapParameter = parameter ?? null;\n }\n\n @carbon.method\n @impl.adapted\n AddLightFromSOF(light)\n {\n this.lights.push(EvePlaneLight.FromSOF(light));\n }\n}\n"],"names":["_EvePlaneSet","EvePlaneSet","EveEntity","e","_init_pickBufferID","_init_extra_pickBufferID","_init_hideOnLowQuality","_init_extra_hideOnLowQuality","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_planes","_init_extra_planes","_init_lights","_init_extra_lights","_init_imageMapParameter","_init_extra_imageMapParameter","_init_layerMap1Parameter","_init_extra_layerMap1Parameter","_init_layerMap2Parameter","_init_extra_layerMap2Parameter","_init_maskMapParameter","_init_extra_maskMapParameter","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","uint8","boolean","objectRef","string","list","carbon","method","impl","adapted","implemented","pickBufferID","hideOnLowQuality","effect","skinned","display","name","planes","lights","imageMapParameter","layerMap1Parameter","layerMap2Parameter","maskMapParameter","Rebuild","__state","add","Initialize","SetEffect","SetPickBufferID","Number","length","SetIsSkinned","AddPlaneItem","item","push","GetPlanes","SetShaderOption","value","SetOption","SetImageMapParameter","parameter","SetLayerMap1Parameter","SetLayerMap2Parameter","SetMaskMapParameter","AddLightFromSOF","light","EvePlaneLight","FromSOF"],"mappings":";;;;;;AAImD,IAAAA;AAGnD,MAAAC,WAAA,SACiCC,UAAS,CAC1C;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,kBAAA,EAAAC,wBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAA7B,YAAA,EAAA8B,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,aAAa;AAAEC,MAAAA,MAAM,EAAE;AAAwB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAGxEC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,MAAM,EACTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACQ,KAAK,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAGVJ,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,sCAGZL,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAG3BN,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACW,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,MAAA,EAGXP,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACY,IAAI,CAAC,iBAAiB,CAAC,oBAG5BR,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACY,IAAI,CAAC,eAAe,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAK1BR,EAAE,EAAFA,EAAE,CAACG,OAAO,UACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,gCAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,8BAIrCG,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,uBAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,uBAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,mCAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,uCAvJkB9C,UAAS,CAAA;AAAA;AAMxCgD,EAAAA,YAAY,IAAAtB,UAAA,CAAA,IAAA,CAAA,EAAAxB,kBAAA,OAAG,CAAC,CAAA;AAIhB+C,EAAAA,gBAAgB,IAAA9C,wBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,KAAK,CAAA;AAKxB8C,EAAAA,MAAM,IAAA7C,4BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;AAKb6C,EAAAA,OAAO,IAAA5C,kBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,KAAK,CAAA;AAIf4C,EAAAA,OAAO,IAAA3C,mBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAId2C,EAAAA,IAAI,IAAA1C,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAKT0C,EAAAA,MAAM,IAAAzC,gBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAIXyC,EAAAA,MAAM,IAAAxC,kBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;;AAEX;AACA;AAGAwC,EAAAA,iBAAiB,IAAAvC,kBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,IAAI,CAAA;AAIxBuC,EAAAA,kBAAkB,IAAAtC,6BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;AAIzBsC,EAAAA,kBAAkB,IAAArC,8BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;AAIzBqC,EAAAA,gBAAgB,IAAApC,8BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;AACvB,EAAA,gBAAgB,IAAAC,4BAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AAIpBmC,EAAAA,OAAOA,GACP;AACE;AACA;IACA,IAAI,CAAC,gBAAgB,EAAE;IACvB,IAAI,CAACC,OAAO,CAAC1B,OAAO,CAAC2B,GAAG,CAAC,gBAAgB,CAAC;AAC5C,EAAA;AAIAC,EAAAA,UAAUA,GACV;IACE,IAAI,CAACH,OAAO,EAAE;AACd,IAAA,OAAO,IAAI;AACb,EAAA;EAIAI,SAASA,CAACd,MAAM,EAChB;AACE,IAAA,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAI,IAAI;AAC9B,EAAA;EAIAe,eAAeA,CAACjB,YAAY,EAC5B;IACE,IAAI,CAACA,YAAY,GAAGkB,MAAM,CAAClB,YAAY,CAAC,GAAG,IAAI;IAC/C,IAAI,IAAI,CAACM,MAAM,CAACa,MAAM,EAAE,IAAI,CAACP,OAAO,EAAE;AACxC,EAAA;EAIAQ,YAAYA,CAACjB,OAAO,EACpB;AACE,IAAA,IAAI,CAACA,OAAO,GAAG,CAAC,CAACA,OAAO;AAC1B,EAAA;EAIAkB,YAAYA,CAACC,IAAI,EACjB;AACE,IAAA,IAAI,CAAChB,MAAM,CAACiB,IAAI,CAACD,IAAI,CAAC;AACxB,EAAA;AAIAE,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAAClB,MAAM;AACpB,EAAA;AAIAmB,EAAAA,eAAeA,CAACpB,IAAI,EAAEqB,KAAK,EAC3B;AACE,IAAA,IAAI,IAAI,CAACxB,MAAM,IAAI,OAAO,IAAI,CAACA,MAAM,CAACyB,SAAS,KAAK,UAAU,EAC9D;MACE,IAAI,CAACzB,MAAM,CAACyB,SAAS,CAACtB,IAAI,EAAEqB,KAAK,CAAC;AACpC,IAAA;AACF,EAAA;EAIAE,oBAAoBA,CAACC,SAAS,EAC9B;AACE,IAAA,IAAI,CAACrB,iBAAiB,GAAGqB,SAAS,IAAI,IAAI;AAC5C,EAAA;EAIAC,qBAAqBA,CAACD,SAAS,EAC/B;AACE,IAAA,IAAI,CAACpB,kBAAkB,GAAGoB,SAAS,IAAI,IAAI;AAC7C,EAAA;EAIAE,qBAAqBA,CAACF,SAAS,EAC/B;AACE,IAAA,IAAI,CAACnB,kBAAkB,GAAGmB,SAAS,IAAI,IAAI;AAC7C,EAAA;EAIAG,mBAAmBA,CAACH,SAAS,EAC7B;AACE,IAAA,IAAI,CAAClB,gBAAgB,GAAGkB,SAAS,IAAI,IAAI;AAC3C,EAAA;EAIAI,eAAeA,CAACC,KAAK,EACrB;IACE,IAAI,CAAC3B,MAAM,CAACgB,IAAI,CAACY,cAAa,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC;AAChD,EAAA;AAAC,EAAA;IAAAtD,UAAA,EAAA;AAAA;AACH;;;;"}
1
+ {"version":3,"file":"EvePlaneSet.js","sources":["../../../src/eve/EvePlaneSet.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Eve\\SpaceObject\\Attachments\\Sets\\EvePlaneSet.cpp\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../generated/eve/EveEntity.js\";\r\nimport { EvePlaneLight } from \"./EvePlaneLight.js\";\r\nimport { EveComponentType } from \"./EveComponentTypes.js\";\r\n\r\n\r\n@type.define({ className: \"EvePlaneSet\", family: \"eve/attachment/planes\" })\r\nexport class EvePlaneSet extends EveEntity\r\n{\r\n @io.rebuild(\"packedGeometry\")\r\n @io.notify\r\n @io.persist\r\n @type.uint8\r\n pickBufferID = 0;\r\n\r\n @io.persist\r\n @type.boolean\r\n hideOnLowQuality = false;\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.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.boolean\r\n skinned = false;\r\n\r\n @io.persist\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.rebuild(\"packedGeometry\")\r\n @io.persist\r\n @type.list(\"EvePlaneSetItem\")\r\n planes = [];\r\n\r\n @io.persist\r\n @type.list(\"EvePlaneLight\")\r\n lights = [];\r\n\r\n // SOF-authored shared texture parameters; persisted so the values\r\n // interchange reproduces Carbon's hidden plane-set bindings.\r\n @io.persist\r\n @type.objectRef(\"TriTextureParameter\")\r\n imageMapParameter = null;\r\n\r\n @io.persist\r\n @type.objectRef(\"TriTextureParameter\")\r\n layerMap1Parameter = null;\r\n\r\n @io.persist\r\n @type.objectRef(\"TriTextureParameter\")\r\n layerMap2Parameter = null;\r\n\r\n @io.persist\r\n @type.objectRef(\"TriTextureParameter\")\r\n maskMapParameter = null;\r\n #rebuildRevision = 0;\r\n\r\n @carbon.method\r\n @impl.adapted\r\n Rebuild()\r\n {\r\n // Packed vertices, bounds caches and quad registration are reconciled by\r\n // the renderer adapter from this authored graph.\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 SetEffect(effect)\r\n {\r\n this.effect = effect ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetPickBufferID(pickBufferID)\r\n {\r\n this.pickBufferID = Number(pickBufferID) & 0xff;\r\n if (this.planes.length) this.Rebuild();\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetIsSkinned(skinned)\r\n {\r\n this.skinned = !!skinned;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n AddPlaneItem(item)\r\n {\r\n this.planes.push(item);\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetPlanes()\r\n {\r\n return this.planes;\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 SetImageMapParameter(parameter)\r\n {\r\n this.imageMapParameter = parameter ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetLayerMap1Parameter(parameter)\r\n {\r\n this.layerMap1Parameter = parameter ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetLayerMap2Parameter(parameter)\r\n {\r\n this.layerMap2Parameter = parameter ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n SetMaskMapParameter(parameter)\r\n {\r\n this.maskMapParameter = parameter ?? null;\r\n }\r\n\r\n @carbon.method\r\n @impl.adapted\r\n AddLightFromSOF(light)\r\n {\r\n this.lights.push(EvePlaneLight.FromSOF(light));\r\n }\r\n\r\n /** Carbon EvePlaneSet::RegisterComponents (cpp:535-542): 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 EvePlaneSet::GetLights (cpp:544-570): average-color light\r\n * submission. Awaits the LightOwner consumption pass (Tr2LightManager\r\n * submission is unported); presence satisfies the \"LightOwner\" duck\r\n * contract. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetLights(..._args)\r\n {\r\n throw new Error(\"EvePlaneSet.GetLights is not implemented in CarbonEngineJS.\");\r\n }\r\n}\r\n"],"names":["_EvePlaneSet","EvePlaneSet","EveEntity","e","_init_pickBufferID","_init_extra_pickBufferID","_init_hideOnLowQuality","_init_extra_hideOnLowQuality","_init_effect","_init_extra_effect","_init_skinned","_init_extra_skinned","_init_display","_init_extra_display","_init_name","_init_extra_name","_init_planes","_init_extra_planes","_init_lights","_init_extra_lights","_init_imageMapParameter","_init_extra_imageMapParameter","_init_layerMap1Parameter","_init_extra_layerMap1Parameter","_init_layerMap2Parameter","_init_extra_layerMap2Parameter","_init_maskMapParameter","_init_extra_maskMapParameter","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","rebuild","notify","persist","uint8","boolean","objectRef","string","list","carbon","method","impl","adapted","implemented","notImplemented","pickBufferID","hideOnLowQuality","effect","skinned","display","name","planes","lights","imageMapParameter","layerMap1Parameter","layerMap2Parameter","maskMapParameter","Rebuild","__state","add","Initialize","SetEffect","SetPickBufferID","Number","length","SetIsSkinned","AddPlaneItem","item","push","GetPlanes","SetShaderOption","value","SetOption","SetImageMapParameter","parameter","SetLayerMap1Parameter","SetLayerMap2Parameter","SetMaskMapParameter","AddLightFromSOF","light","EvePlaneLight","FromSOF","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","_args","Error"],"mappings":";;;;;;;AAK0D,IAAAA;AAG1D,MAAAC,WAAA,SACiCC,UAAS,CAC1C;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,kBAAA,EAAAC,wBAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,uBAAA,EAAAC,6BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,wBAAA,EAAAC,8BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAA7B,YAAA,EAAA8B,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,aAAa;AAAEC,MAAAA,MAAM,EAAE;AAAwB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAAA,MAAA,EAGxEC,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACE,MAAM,EACTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACQ,KAAK,0BAGVJ,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,sCAGZL,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,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,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGZL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACW,MAAM,0BAGXP,EAAE,CAACC,OAAO,CAAC,gBAAgB,CAAC,EAC5BD,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACY,IAAI,CAAC,iBAAiB,CAAC,oBAG5BR,EAAE,EAAFA,EAAE,CAACG,OAAO,UACVP,IAAI,CAACY,IAAI,CAAC,eAAe,CAAC,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAK1BR,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,+BAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,UACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAGrCN,EAAE,EAAFA,EAAE,CAACG,OAAO,EAAA,MAAA,EACVP,IAAI,CAACU,SAAS,CAAC,qBAAqB,CAAC,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIrCG,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,6BAOZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,0BAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,0BAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,uBAMhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,iCAMZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,6BAQZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,gCAchBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,cAAc,iCA/KWhD,UAAS,CAAA;AAAA;AAMxCiD,EAAAA,YAAY,IAAAvB,UAAA,CAAA,IAAA,CAAA,EAAAxB,kBAAA,OAAG,CAAC,CAAA;AAIhBgD,EAAAA,gBAAgB,IAAA/C,wBAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,KAAK,CAAA;AAKxB+C,EAAAA,MAAM,IAAA9C,4BAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,IAAI,CAAA;AAKb8C,EAAAA,OAAO,IAAA7C,kBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,KAAK,CAAA;AAIf6C,EAAAA,OAAO,IAAA5C,mBAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAId4C,EAAAA,IAAI,IAAA3C,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAKT2C,EAAAA,MAAM,IAAA1C,gBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;AAIX0C,EAAAA,MAAM,IAAAzC,kBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,EAAE,CAAA;;AAEX;AACA;AAGAyC,EAAAA,iBAAiB,IAAAxC,kBAAA,CAAA,IAAA,CAAA,EAAAC,uBAAA,OAAG,IAAI,CAAA;AAIxBwC,EAAAA,kBAAkB,IAAAvC,6BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;AAIzBuC,EAAAA,kBAAkB,IAAAtC,8BAAA,CAAA,IAAA,CAAA,EAAAC,wBAAA,OAAG,IAAI,CAAA;AAIzBsC,EAAAA,gBAAgB,IAAArC,8BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;AACvB,EAAA,gBAAgB,IAAAC,4BAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AAIpBoC,EAAAA,OAAOA,GACP;AACE;AACA;IACA,IAAI,CAAC,gBAAgB,EAAE;IACvB,IAAI,CAACC,OAAO,CAAC3B,OAAO,CAAC4B,GAAG,CAAC,gBAAgB,CAAC;AAC5C,EAAA;AAIAC,EAAAA,UAAUA,GACV;IACE,IAAI,CAACH,OAAO,EAAE;AACd,IAAA,OAAO,IAAI;AACb,EAAA;EAIAI,SAASA,CAACd,MAAM,EAChB;AACE,IAAA,IAAI,CAACA,MAAM,GAAGA,MAAM,IAAI,IAAI;AAC9B,EAAA;EAIAe,eAAeA,CAACjB,YAAY,EAC5B;IACE,IAAI,CAACA,YAAY,GAAGkB,MAAM,CAAClB,YAAY,CAAC,GAAG,IAAI;IAC/C,IAAI,IAAI,CAACM,MAAM,CAACa,MAAM,EAAE,IAAI,CAACP,OAAO,EAAE;AACxC,EAAA;EAIAQ,YAAYA,CAACjB,OAAO,EACpB;AACE,IAAA,IAAI,CAACA,OAAO,GAAG,CAAC,CAACA,OAAO;AAC1B,EAAA;EAIAkB,YAAYA,CAACC,IAAI,EACjB;AACE,IAAA,IAAI,CAAChB,MAAM,CAACiB,IAAI,CAACD,IAAI,CAAC;AACxB,EAAA;AAIAE,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAAClB,MAAM;AACpB,EAAA;AAIAmB,EAAAA,eAAeA,CAACpB,IAAI,EAAEqB,KAAK,EAC3B;AACE,IAAA,IAAI,IAAI,CAACxB,MAAM,IAAI,OAAO,IAAI,CAACA,MAAM,CAACyB,SAAS,KAAK,UAAU,EAC9D;MACE,IAAI,CAACzB,MAAM,CAACyB,SAAS,CAACtB,IAAI,EAAEqB,KAAK,CAAC;AACpC,IAAA;AACF,EAAA;EAIAE,oBAAoBA,CAACC,SAAS,EAC9B;AACE,IAAA,IAAI,CAACrB,iBAAiB,GAAGqB,SAAS,IAAI,IAAI;AAC5C,EAAA;EAIAC,qBAAqBA,CAACD,SAAS,EAC/B;AACE,IAAA,IAAI,CAACpB,kBAAkB,GAAGoB,SAAS,IAAI,IAAI;AAC7C,EAAA;EAIAE,qBAAqBA,CAACF,SAAS,EAC/B;AACE,IAAA,IAAI,CAACnB,kBAAkB,GAAGmB,SAAS,IAAI,IAAI;AAC7C,EAAA;EAIAG,mBAAmBA,CAACH,SAAS,EAC7B;AACE,IAAA,IAAI,CAAClB,gBAAgB,GAAGkB,SAAS,IAAI,IAAI;AAC3C,EAAA;EAIAI,eAAeA,CAACC,KAAK,EACrB;IACE,IAAI,CAAC3B,MAAM,CAACgB,IAAI,CAACY,cAAa,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC;AAChD,EAAA;;AAEA;AACF;AAGEG,EAAAA,kBAAkBA,GAClB;AACE,IAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,IAAA,IAAID,QAAQ,IAAI,IAAI,CAAC/B,MAAM,CAACY,MAAM,EAClC;MACEmB,QAAQ,CAACE,iBAAiB,CAACC,gBAAgB,CAACC,UAAU,EAAE,IAAI,CAAC;AAC/D,IAAA;AACF,EAAA;;AAEA;AACF;AACA;AACA;EAGEC,SAASA,CAAC,GAAGC,KAAK,EAClB;AACE,IAAA,MAAM,IAAIC,KAAK,CAAC,6DAA6D,CAAC;AAChF,EAAA;AAAC,EAAA;IAAAlE,UAAA,EAAA;AAAA;AACH;;;;"}