@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":"EveShip2.js","sources":["../../../../../src/generated/eve/spaceObject/EveShip2.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/EveShip2.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/EveShip2.json.\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveMobile } from \"../../../eve/spaceObject/EveMobile.js\";\nimport { TriFloat } from \"../../../trinityCore/TriFloat.js\";\n\n/** EveShip2 (eve/spaceObject) - generated from schema shapeHash 6adb2554.... */\n@type.define({ className: \"EveShip2\", family: \"eve/spaceObject\" })\nexport class EveShip2 extends EveMobile\n{\n\n /** m_boosters (EveBoosterSet2Ptr) [PERSISTONLY] */\n @io.persistOnly\n @type.model(\"EveBoosterSet2\")\n boosters = null;\n\n /** m_displayKillCounterValue (uint32_t) [READWRITE] */\n @io.readwrite\n @type.uint32\n displayKillCounterValue = 0;\n\n /** m_maxSpeed (float) [READWRITE] - the maximum speed of the ship. */\n @io.readwrite\n @type.float32\n maxSpeed = 0;\n\n /** m_speed (TriFloatPtr) [READ] */\n @io.read\n @type.objectRef(\"TriFloat\")\n speed = null;\n\n /** audioSpeedParameter (MAP_PROPERTY) - duck-typed audio value holder. */\n audioSpeedParameter = null;\n\n /** m_acceleration - second derivative of the position curve, fed to boosters. */\n #acceleration = vec3.create();\n\n /** m_spaceObjectShipData - vs/ps ship constants; x carries booster glow. */\n #spaceObjectShipData = vec4.create();\n\n /**\n * Carbon EveShip2::UpdateSyncronous - base sync, then speed from the world\n * velocity, audio speed parameter, and booster acceleration from the\n * position curve's second derivative (EveShip2.cpp:16-45).\n */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext)\n {\n if (!this.update)\n {\n return;\n }\n super.UpdateSyncronous(updateContext);\n const time = updateContext?.GetTime?.() ?? 0;\n if (this.translationCurve)\n {\n if (!this.speed)\n {\n this.speed = new TriFloat();\n }\n this.speed.value = vec3.length(this.worldVelocity);\n }\n this.UpdateShipSpeedForAudio();\n if (this.boosters)\n {\n if (this.translationCurve?.GetValueDoubleDotAt)\n {\n this.translationCurve.GetValueDoubleDotAt(time, this.#acceleration);\n }\n else\n {\n vec3.set(this.#acceleration, 0, 0, 0);\n }\n }\n }\n\n /** Carbon EveShip2::UpdateAsyncronous - base async, then boosters. */\n @carbon.method\n @impl.implemented\n UpdateAsyncronous(updateContext)\n {\n if (!this.update)\n {\n return;\n }\n super.UpdateAsyncronous(updateContext);\n this.UpdateBoosters(updateContext);\n }\n\n /** Carbon EveShip2::UpdateBoosters (EveShip2.cpp:55-64). */\n @carbon.method\n @impl.implemented\n UpdateBoosters(updateContext)\n {\n if (!this.boosters)\n {\n return;\n }\n const time = updateContext?.GetTime?.() ?? 0;\n const deltaT = updateContext?.GetDeltaT?.() ?? 0;\n this.boosters.Update(\n deltaT,\n time,\n this.worldTransform,\n this.speed?.value ?? 0,\n this.#acceleration,\n this.worldRotation\n );\n this.boosters.UpdateTrails(deltaT, time);\n }\n\n /** Carbon EveShip2::UpdateVisibility - base, then booster visibility. */\n @carbon.method\n @impl.implemented\n UpdateVisibility(updateContext, parentTransform)\n {\n super.UpdateVisibility(updateContext, parentTransform);\n if (!this.display)\n {\n return;\n }\n if (this.DisplayBoosters())\n {\n this.boosters.UpdateVisibility?.(updateContext);\n }\n }\n\n /** Carbon EveShip2::GetRenderables - base, then booster renderables. */\n @carbon.method\n @impl.implemented\n GetRenderables(out)\n {\n if (!this.display)\n {\n return out;\n }\n super.GetRenderables(out);\n if (this.DisplayBoosters())\n {\n this.boosters.GetRenderables?.(out);\n }\n return out;\n }\n\n @carbon.method\n @impl.implemented\n GetBoosters()\n {\n return this.boosters;\n }\n\n /**\n * Carbon EveShip2::SetBoosters - swaps the set and re-registers it with\n * the component registry when one is attached (duck-typed).\n */\n @carbon.method\n @impl.adapted\n SetBoosters(boosters)\n {\n const registry = this.GetComponentRegistry?.();\n if (registry)\n {\n this.boosters?.UnRegister?.(registry);\n }\n this.boosters = boosters ?? null;\n if (registry)\n {\n this.boosters?.Register?.(registry);\n }\n }\n\n /** Carbon EveShip2::DisplayBoosters - boosters render with the children. */\n @carbon.method\n @impl.implemented\n DisplayBoosters()\n {\n return !!this.boosters && this.DisplayChildren();\n }\n\n @carbon.method\n @impl.implemented\n GetKillCounterValue()\n {\n return this.displayKillCounterValue;\n }\n\n @carbon.method\n @impl.implemented\n GetMaxSpeed()\n {\n return this.maxSpeed;\n }\n\n /**\n * Carbon EveShip2::UpdateShipSpeedForAudio - normalizes speed/maxSpeed\n * into the bound audio parameter (EveShip2.cpp:360-380).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Blue FindEntry member binding becomes a duck-typed value holder; runtime-audio owns the emitter side.\")\n UpdateShipSpeedForAudio()\n {\n if (this.maxSpeed === 0 || !this.boosters)\n {\n return;\n }\n const parameter = this.audioSpeedParameter;\n if (parameter && typeof parameter === \"object\" && \"value\" in parameter)\n {\n parameter.value = (this.speed?.value ?? 0) / this.maxSpeed;\n }\n }\n\n /**\n * Carbon EveShip2::RebuildCachedData - after geometry load, re-attach\n * turrets to the freshly loaded locators (EveShip2.cpp:169-174).\n */\n @carbon.method\n @impl.implemented\n RebuildCachedData(asyncRes)\n {\n super.RebuildCachedData(asyncRes);\n this.RebuildTurretPositions?.();\n }\n\n /** Carbon method RebuildBoosterSet (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n RebuildBoosterSet()\n {\n if (!this.boosters) return false;\n this.boosters.Clear?.();\n for (const locator of this.locators)\n {\n const name = locator?.GetName?.() ?? locator?.name ?? \"\";\n if (!name.startsWith(\"locator_booster\")) continue;\n const transform = locator.GetTransform?.() ?? locator.transform;\n if (transform) this.boosters.Add?.(transform, [0, 1, 1, 1], true, 0, 0);\n }\n this.boosters.UpdateValues?.({ property: \"items\" });\n return true;\n }\n\n @carbon.method\n @impl.implemented\n Initialize()\n {\n return super.Initialize?.() ?? true;\n }\n\n /**\n * Carbon EveShip2::GetPerObjectData - stamps the booster glow intensity\n * into shipData.x before delegating to the base record\n * (EveShip2.cpp:275-289). The ship-data vec4 is exposed for the\n * per-object values builder.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Persistent VS/PS buffers are engine-owned; shipData is exposed for createEveSpaceObjectMainPerObjectValues.\")\n GetPerObjectData(accumulator = null)\n {\n this.#spaceObjectShipData[0] = this.boosters?.GetBoosterIntensity?.() ?? 0;\n return super.GetPerObjectData(accumulator);\n }\n\n /** The vs/ps ship constants (x = booster glow intensity). */\n GetSpaceObjectShipData()\n {\n return this.#spaceObjectShipData;\n }\n\n}\n"],"names":["_EveShip","EveShip2","EveMobile","e","_init_boosters","_init_extra_boosters","_init_displayKillCounterValue","_init_extra_displayKillCounterValue","_init_maxSpeed","_init_extra_maxSpeed","_init_speed","_init_extra_speed","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","model","readwrite","uint32","float32","read","objectRef","carbon","method","impl","implemented","adapted","reason","boosters","displayKillCounterValue","maxSpeed","speed","audioSpeedParameter","vec3","create","vec4","UpdateSyncronous","updateContext","update","time","GetTime","translationCurve","TriFloat","value","length","worldVelocity","UpdateShipSpeedForAudio","GetValueDoubleDotAt","set","UpdateAsyncronous","UpdateBoosters","deltaT","GetDeltaT","Update","worldTransform","worldRotation","UpdateTrails","UpdateVisibility","parentTransform","display","DisplayBoosters","GetRenderables","out","GetBoosters","SetBoosters","registry","GetComponentRegistry","UnRegister","Register","DisplayChildren","GetKillCounterValue","GetMaxSpeed","parameter","RebuildCachedData","asyncRes","RebuildTurretPositions","RebuildBoosterSet","Clear","locator","locators","name","GetName","startsWith","transform","GetTransform","Add","UpdateValues","property","Initialize","GetPerObjectData","accumulator","GetBoosterIntensity","GetSpaceObjectShipData"],"mappings":"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"}
1
+ {"version":3,"file":"EveShip2.js","sources":["../../../../../src/generated/eve/spaceObject/EveShip2.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/EveShip2.h\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/EveShip2.json.\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveMobile } from \"../../../eve/spaceObject/EveMobile.js\";\r\nimport { TriFloat } from \"../../../trinityCore/TriFloat.js\";\r\n\r\n/** EveShip2 (eve/spaceObject) - generated from schema shapeHash 6adb2554.... */\r\n@type.define({ className: \"EveShip2\", family: \"eve/spaceObject\" })\r\nexport class EveShip2 extends EveMobile\r\n{\r\n\r\n /** m_boosters (EveBoosterSet2Ptr) [PERSISTONLY] */\r\n @io.persistOnly\r\n @type.model(\"EveBoosterSet2\")\r\n boosters = null;\r\n\r\n /** m_displayKillCounterValue (uint32_t) [READWRITE] */\r\n @io.readwrite\r\n @type.uint32\r\n displayKillCounterValue = 0;\r\n\r\n /** m_maxSpeed (float) [READWRITE] - the maximum speed of the ship. */\r\n @io.readwrite\r\n @type.float32\r\n maxSpeed = 0;\r\n\r\n /** m_speed (TriFloatPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"TriFloat\")\r\n speed = null;\r\n\r\n /** audioSpeedParameter (MAP_PROPERTY) - duck-typed audio value holder. */\r\n audioSpeedParameter = null;\r\n\r\n /** m_acceleration - second derivative of the position curve, fed to boosters. */\r\n #acceleration = vec3.create();\r\n\r\n /** m_spaceObjectShipData - vs/ps ship constants; x carries booster glow. */\r\n #spaceObjectShipData = vec4.create();\r\n\r\n /**\r\n * Carbon EveShip2::UpdateSyncronous - base sync, then speed from the world\r\n * velocity, audio speed parameter, and booster acceleration from the\r\n * position curve's second derivative (EveShip2.cpp:16-45).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext)\r\n {\r\n if (!this.update)\r\n {\r\n return;\r\n }\r\n super.UpdateSyncronous(updateContext);\r\n const time = updateContext?.GetTime?.() ?? 0;\r\n if (this.translationCurve)\r\n {\r\n if (!this.speed)\r\n {\r\n this.speed = new TriFloat();\r\n }\r\n this.speed.value = vec3.length(this.worldVelocity);\r\n }\r\n this.UpdateShipSpeedForAudio();\r\n if (this.boosters)\r\n {\r\n if (this.translationCurve?.GetValueDoubleDotAt)\r\n {\r\n this.translationCurve.GetValueDoubleDotAt(time, this.#acceleration);\r\n }\r\n else\r\n {\r\n vec3.set(this.#acceleration, 0, 0, 0);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveShip2::UpdateAsyncronous - base async, then boosters. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext)\r\n {\r\n if (!this.update)\r\n {\r\n return;\r\n }\r\n super.UpdateAsyncronous(updateContext);\r\n this.UpdateBoosters(updateContext);\r\n }\r\n\r\n /** Carbon EveShip2::UpdateBoosters (EveShip2.cpp:55-64). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateBoosters(updateContext)\r\n {\r\n if (!this.boosters)\r\n {\r\n return;\r\n }\r\n const time = updateContext?.GetTime?.() ?? 0;\r\n const deltaT = updateContext?.GetDeltaT?.() ?? 0;\r\n this.boosters.Update(\r\n deltaT,\r\n time,\r\n this.worldTransform,\r\n this.speed?.value ?? 0,\r\n this.#acceleration,\r\n this.worldRotation\r\n );\r\n this.boosters.UpdateTrails(deltaT, time);\r\n }\r\n\r\n /** Carbon EveShip2::UpdateVisibility - base, then booster visibility. */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform)\r\n {\r\n super.UpdateVisibility(updateContext, parentTransform);\r\n if (!this.display)\r\n {\r\n return;\r\n }\r\n if (this.DisplayBoosters())\r\n {\r\n this.boosters.UpdateVisibility?.(updateContext);\r\n }\r\n }\r\n\r\n /** Carbon EveShip2::GetRenderables - base, then booster renderables. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out)\r\n {\r\n if (!this.display)\r\n {\r\n return out;\r\n }\r\n super.GetRenderables(out);\r\n if (this.DisplayBoosters())\r\n {\r\n this.boosters.GetRenderables?.(out);\r\n }\r\n return out;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetBoosters()\r\n {\r\n return this.boosters;\r\n }\r\n\r\n /**\r\n * Carbon EveShip2::SetBoosters - swaps the set and re-registers it with\r\n * the component registry when one is attached (duck-typed).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetBoosters(boosters)\r\n {\r\n const registry = this.GetComponentRegistry?.();\r\n if (registry)\r\n {\r\n this.boosters?.UnRegister?.(registry);\r\n }\r\n this.boosters = boosters ?? null;\r\n if (registry)\r\n {\r\n this.boosters?.Register?.(registry);\r\n }\r\n }\r\n\r\n /** Carbon EveShip2::RegisterComponents (cpp:145-153): base registration,\r\n * then forwards the booster set (no display gate of its own). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.boosters)\r\n {\r\n this.boosters.Register?.(registry);\r\n }\r\n }\r\n\r\n /** Carbon EveShip2::UnRegisterComponents (cpp:155-163): base, then forwards\r\n * the booster set. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.boosters)\r\n {\r\n this.boosters.UnRegister?.(registry);\r\n }\r\n }\r\n\r\n /** Carbon EveShip2::DisplayBoosters - boosters render with the children. */\r\n @carbon.method\r\n @impl.implemented\r\n DisplayBoosters()\r\n {\r\n return !!this.boosters && this.DisplayChildren();\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetKillCounterValue()\r\n {\r\n return this.displayKillCounterValue;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetMaxSpeed()\r\n {\r\n return this.maxSpeed;\r\n }\r\n\r\n /**\r\n * Carbon EveShip2::UpdateShipSpeedForAudio - normalizes speed/maxSpeed\r\n * into the bound audio parameter (EveShip2.cpp:360-380).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Blue FindEntry member binding becomes a duck-typed value holder; runtime-audio owns the emitter side.\")\r\n UpdateShipSpeedForAudio()\r\n {\r\n if (this.maxSpeed === 0 || !this.boosters)\r\n {\r\n return;\r\n }\r\n const parameter = this.audioSpeedParameter;\r\n if (parameter && typeof parameter === \"object\" && \"value\" in parameter)\r\n {\r\n parameter.value = (this.speed?.value ?? 0) / this.maxSpeed;\r\n }\r\n }\r\n\r\n /**\r\n * Carbon EveShip2::RebuildCachedData - after geometry load, re-attach\r\n * turrets to the freshly loaded locators (EveShip2.cpp:169-174).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n RebuildCachedData(asyncRes)\r\n {\r\n super.RebuildCachedData(asyncRes);\r\n this.RebuildTurretPositions?.();\r\n }\r\n\r\n /** Carbon method RebuildBoosterSet (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n RebuildBoosterSet()\r\n {\r\n if (!this.boosters) return false;\r\n this.boosters.Clear?.();\r\n for (const locator of this.locators)\r\n {\r\n const name = locator?.GetName?.() ?? locator?.name ?? \"\";\r\n if (!name.startsWith(\"locator_booster\")) continue;\r\n const transform = locator.GetTransform?.() ?? locator.transform;\r\n if (transform) this.boosters.Add?.(transform, [0, 1, 1, 1], true, 0, 0);\r\n }\r\n this.boosters.UpdateValues?.({ property: \"items\" });\r\n return true;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n Initialize()\r\n {\r\n return super.Initialize?.() ?? true;\r\n }\r\n\r\n /**\r\n * Carbon EveShip2::GetPerObjectData - stamps the booster glow intensity\r\n * into shipData.x before delegating to the base record\r\n * (EveShip2.cpp:275-289). The ship-data vec4 is exposed for the\r\n * per-object values builder.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Persistent VS/PS buffers are engine-owned; shipData is exposed for createEveSpaceObjectMainPerObjectValues.\")\r\n GetPerObjectData(accumulator = null)\r\n {\r\n this.#spaceObjectShipData[0] = this.boosters?.GetBoosterIntensity?.() ?? 0;\r\n return super.GetPerObjectData(accumulator);\r\n }\r\n\r\n /** The vs/ps ship constants (x = booster glow intensity). */\r\n GetSpaceObjectShipData()\r\n {\r\n return this.#spaceObjectShipData;\r\n }\r\n\r\n}\r\n"],"names":["_EveShip","EveShip2","EveMobile","e","_init_boosters","_init_extra_boosters","_init_displayKillCounterValue","_init_extra_displayKillCounterValue","_init_maxSpeed","_init_extra_maxSpeed","_init_speed","_init_extra_speed","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","model","readwrite","uint32","float32","read","objectRef","carbon","method","impl","implemented","adapted","reason","boosters","displayKillCounterValue","maxSpeed","speed","audioSpeedParameter","vec3","create","vec4","UpdateSyncronous","updateContext","update","time","GetTime","translationCurve","TriFloat","value","length","worldVelocity","UpdateShipSpeedForAudio","GetValueDoubleDotAt","set","UpdateAsyncronous","UpdateBoosters","deltaT","GetDeltaT","Update","worldTransform","worldRotation","UpdateTrails","UpdateVisibility","parentTransform","display","DisplayBoosters","GetRenderables","out","GetBoosters","SetBoosters","registry","GetComponentRegistry","UnRegister","Register","RegisterComponents","UnRegisterComponents","DisplayChildren","GetKillCounterValue","GetMaxSpeed","parameter","RebuildCachedData","asyncRes","RebuildTurretPositions","RebuildBoosterSet","Clear","locator","locators","name","GetName","startsWith","transform","GetTransform","Add","UpdateValues","property","Initialize","GetPerObjectData","accumulator","GetBoosterIntensity","GetSpaceObjectShipData"],"mappings":"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"}
@@ -17,7 +17,7 @@ class EveSwarm extends _EveShip {
17
17
  } = _applyDecs2311(this, [type.define({
18
18
  className: "EveSwarm",
19
19
  family: "eve/spaceObject/swarm"
20
- })], [[type.list("SwarmVehicle"), 0, "vehicles"], [type.list("EveSwarmRenderable"), 0, "renderables"], [[type, type.int32], 16, "targetIndex"], [[type, type.int32], 16, "firingIndex"], [[type, type.vec3], 16, "squadBoundsMin"], [[type, type.vec3], 16, "squadBoundsMax"], [[io, io.persist, type, type.float32], 16, "weightFormation"], [[io, io.persist, type, type.float32], 16, "weightCohesion"], [[io, io.persist, type, type.float32], 16, "weightSeparation"], [[io, io.persist, type, type.float32], 16, "weightWander"], [[io, io.persist, type, type.float32], 16, "weightAnchor"], [[io, io.persist, type, type.float32], 16, "anchorRadius0"], [[io, io.persist, type, type.float32], 16, "anchorRadius1"], [[io, io.persist, type, type.float32], 16, "weightDeceleration"], [[io, io.persist, type, type.float32], 16, "maxDeceleration"], [[io, io.persist, type, type.float32], 16, "separationDistance"], [[io, io.persist, type, type.float32], 16, "formationDistance"], [[io, io.persist, type, type.float32], 16, "wanderFluctuation"], [[io, io.persist, type, type.float32], 16, "wanderDistance"], [[io, io.persist, type, type.float32], 16, "wanderRadius"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "debugShowForces"], [[io, io.persist, type, type.int32], 16, "count"], [[io, io.persist, type, type.boolean], 16, "swarmingEnabled"], [[io, io.persist, type, type.float32], 16, "mass"], [[io, io.persist, type, type.float32], 16, "speedMultiplier"], [[io, io.persist, type, type.float32], 16, "speedMinimum"], [[io, io.persist, type, type.float32], 16, "maxDistance0"], [[io, io.persist, type, type.float32], 16, "maxDistance1"], [[io, io.persist, type, type.float32], 16, "maxTime"], [[io, io.persist, type, type.float32], 16, "agility"], [[io, io.persist, type, type.float32], 16, "speed0"], [[io, io.persist, type, type.float32], 16, "speed1"], [[io, io.readwrite, type, type.float32], 16, "timeMultiplier"], [[io, io.persist, type, type.float32], 16, "weightAlign"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddSwarmer"], [[carbon, carbon.method, impl, impl.adapted], 18, "RemoveSwarmer"], [[carbon, carbon.method, impl, impl.adapted], 18, "PickFiringOrigin"], [[carbon, carbon.method, impl, impl.adapted], 18, "EnableSwarming"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Clamps negative browser inputs and uses CPU vehicle count as the initialized source of truth.")], 18, "SetCount"]], 0, void 0, _EveShip));
20
+ })], [[type.list("SwarmVehicle"), 0, "vehicles"], [type.list("EveSwarmRenderable"), 0, "renderables"], [[type, type.int32], 16, "targetIndex"], [[type, type.int32], 16, "firingIndex"], [[type, type.vec3], 16, "squadBoundsMin"], [[type, type.vec3], 16, "squadBoundsMax"], [[io, io.persist, type, type.float32], 16, "weightFormation"], [[io, io.persist, type, type.float32], 16, "weightCohesion"], [[io, io.persist, type, type.float32], 16, "weightSeparation"], [[io, io.persist, type, type.float32], 16, "weightWander"], [[io, io.persist, type, type.float32], 16, "weightAnchor"], [[io, io.persist, type, type.float32], 16, "anchorRadius0"], [[io, io.persist, type, type.float32], 16, "anchorRadius1"], [[io, io.persist, type, type.float32], 16, "weightDeceleration"], [[io, io.persist, type, type.float32], 16, "maxDeceleration"], [[io, io.persist, type, type.float32], 16, "separationDistance"], [[io, io.persist, type, type.float32], 16, "formationDistance"], [[io, io.persist, type, type.float32], 16, "wanderFluctuation"], [[io, io.persist, type, type.float32], 16, "wanderDistance"], [[io, io.persist, type, type.float32], 16, "wanderRadius"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "debugShowForces"], [[io, io.persist, type, type.int32], 16, "count"], [[io, io.persist, type, type.boolean], 16, "swarmingEnabled"], [[io, io.persist, type, type.float32], 16, "mass"], [[io, io.persist, type, type.float32], 16, "speedMultiplier"], [[io, io.persist, type, type.float32], 16, "speedMinimum"], [[io, io.persist, type, type.float32], 16, "maxDistance0"], [[io, io.persist, type, type.float32], 16, "maxDistance1"], [[io, io.persist, type, type.float32], 16, "maxTime"], [[io, io.persist, type, type.float32], 16, "agility"], [[io, io.persist, type, type.float32], 16, "speed0"], [[io, io.persist, type, type.float32], 16, "speed1"], [[io, io.readwrite, type, type.float32], 16, "timeMultiplier"], [[io, io.persist, type, type.float32], 16, "weightAlign"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddSwarmer"], [[carbon, carbon.method, impl, impl.adapted], 18, "RemoveSwarmer"], [[carbon, carbon.method, impl, impl.adapted], 18, "PickFiringOrigin"], [[carbon, carbon.method, impl, impl.adapted], 18, "EnableSwarming"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Clamps negative browser inputs and uses CPU vehicle count as the initialized source of truth.")], 18, "SetCount"]], 0, void 0, _EveShip));
21
21
  }
22
22
  constructor(...args) {
23
23
  super(...args);
@@ -115,6 +115,33 @@ class EveSwarm extends _EveShip {
115
115
  /** m_behavior.m_weightAlign (float) [READWRITE, PERSIST] */
116
116
  weightAlign = (_init_extra_timeMultiplier(this), _init_weightAlign(this, 50));
117
117
 
118
+ /** Carbon EveSwarm::RegisterComponents (EveSwarm.cpp:1000-1017): base
119
+ * registration "to register all the turrets and things", then
120
+ * UnRegisterAllComponents(this) because the swarm itself is container-only,
121
+ * then forwards the per-swarmer renderables. */
122
+ RegisterComponents() {
123
+ super.RegisterComponents();
124
+ const registry = this.GetComponentRegistry();
125
+ if (registry) {
126
+ registry.UnRegisterAllComponents(this);
127
+ for (const renderable of this.renderables) {
128
+ renderable?.Register?.(registry);
129
+ }
130
+ }
131
+ }
132
+
133
+ /** Carbon EveSwarm::UnRegisterComponents (EveSwarm.cpp:1019-1030): base,
134
+ * then forwards the renderables. */
135
+ UnRegisterComponents() {
136
+ super.UnRegisterComponents();
137
+ const registry = this.GetComponentRegistry();
138
+ if (registry) {
139
+ for (const renderable of this.renderables) {
140
+ renderable?.UnRegister?.(registry);
141
+ }
142
+ }
143
+ }
144
+
118
145
  /** Carbon method AddSwarmer (MAP_METHOD_AND_WRAP). */
119
146
  AddSwarmer() {
120
147
  const renderable = new _EveSwarmRenderable();
@@ -1 +1 @@
1
- {"version":3,"file":"EveSwarm.js","sources":["../../../../../../src/generated/eve/spaceObject/swarm/EveSwarm.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/EveSwarm.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/swarm/EveSwarm.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveShip2 } from \"../EveShip2.js\";\nimport { quat } from \"@carbonenginejs/core-math/quat\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { EveSwarmRenderable } from \"./EveSwarmRenderable.js\";\n\n/** EveSwarm (eve/spaceObject/swarm) - generated from schema shapeHash e65716bf.... */\n@type.define({ className: \"EveSwarm\", family: \"eve/spaceObject/swarm\" })\nexport class EveSwarm extends EveShip2\n{\n\n /** CPU SwarmVehicle state; live draw resources remain renderer-owned. */\n @type.list(\"SwarmVehicle\")\n vehicles = [];\n\n @type.list(\"EveSwarmRenderable\")\n renderables = [];\n\n @type.int32\n targetIndex = 0;\n\n @type.int32\n firingIndex = 0;\n\n @type.vec3\n squadBoundsMin = vec3.create();\n\n @type.vec3\n squadBoundsMax = vec3.create();\n\n /** m_behavior.m_weightFormation (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightFormation = 1;\n\n /** m_behavior.m_weightCohesion (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightCohesion = 0.1;\n\n /** m_behavior.m_weightSeparation (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightSeparation = 0.1;\n\n /** m_behavior.m_weightWander (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightWander = 0.33;\n\n /** m_behavior.m_weightAnchor (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightAnchor = 0.5;\n\n /** m_behavior.m_anchorRadius0 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n anchorRadius0 = 75;\n\n /** m_behavior.m_anchorRadius1 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n anchorRadius1 = 250;\n\n /** m_behavior.m_weightDecelerate (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightDeceleration = 0.1;\n\n /** m_behavior.m_maxDeceleration (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxDeceleration = 200;\n\n /** m_behavior.m_separationDistance (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n separationDistance = 250;\n\n /** m_behavior.m_formationDistance (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n formationDistance = 50;\n\n /** m_behavior.m_wanderFluctuation (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n wanderFluctuation = 0.05;\n\n /** m_behavior.m_wanderDistance (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n wanderDistance = 100;\n\n /** m_behavior.m_wanderRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n wanderRadius = 80;\n\n /** m_debugShowForces (bool) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.boolean\n debugShowForces = false;\n\n /** m_count (int32_t) [READ, PERSIST] */\n @io.persist\n @type.int32\n count = 1;\n\n /** m_swarmingEnabled (bool) [READ, PERSIST] */\n @io.persist\n @type.boolean\n swarmingEnabled = false;\n\n /** m_behavior.m_mass (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n mass = 1;\n\n /** m_behavior.m_speedMultiplier (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n speedMultiplier = 1.1;\n\n /** m_behavior.m_speedMinimum (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n speedMinimum = 10;\n\n /** m_behavior.m_maxDistance0 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxDistance0 = 500;\n\n /** m_behavior.m_maxDistance1 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxDistance1 = 125;\n\n /** m_behavior.m_maxTime (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n maxTime = 0.2;\n\n /** m_behavior.m_agility (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n agility = 2;\n\n /** m_behavior.m_speed0 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n speed0 = 700;\n\n /** m_behavior.m_speed1 (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n speed1 = 1000;\n\n /** m_behavior.m_timeMultiplier (float) [READWRITE] */\n @io.readwrite\n @type.float32\n timeMultiplier = 1;\n\n /** m_behavior.m_weightAlign (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n weightAlign = 50;\n\n /** Carbon method AddSwarmer (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n AddSwarmer()\n {\n const renderable = new EveSwarmRenderable();\n renderable.InitializeRenderable(this, this.mesh);\n renderable.InitDecals(this.decals);\n this.renderables.push(renderable);\n this.vehicles.push({\n rotation: quat.create(),\n acceleration: vec3.create(),\n velocity: vec3.create(),\n position: vec3.clone(this.worldPosition),\n wanderTarget: vec3.create(),\n roll: 0\n });\n this.count = this.vehicles.length;\n this.boosters?.SetCount?.(this.count);\n }\n\n /** Carbon method RemoveSwarmer (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n RemoveSwarmer()\n {\n if (this.vehicles.length === 0)\n {\n return vec3.create();\n }\n const index = Math.min(Math.max(this.targetIndex, 0), this.vehicles.length - 1);\n const removedPosition = vec3.clone(this.vehicles[index].position);\n const removedRenderable = this.renderables[index];\n const lastVehicle = this.vehicles.pop();\n const lastRenderable = this.renderables.pop();\n if (index < this.vehicles.length)\n {\n this.vehicles[index] = lastVehicle;\n this.renderables[index] = lastRenderable;\n }\n removedRenderable?.InitializeRenderable?.(null, null);\n this.count = this.vehicles.length;\n this.boosters?.SetCount?.(this.count);\n this.targetIndex = this.#pickIndex(this.count);\n return removedPosition;\n }\n\n /** Carbon method PickFiringOrigin (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n PickFiringOrigin()\n {\n this.firingIndex = this.#pickIndex(this.count);\n return this.firingIndex;\n }\n\n /** Carbon method EnableSwarming (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n EnableSwarming(enable)\n {\n if (this.swarmingEnabled === enable)\n {\n return;\n }\n this.swarmingEnabled = enable;\n if (!enable)\n {\n this.SetCount(0);\n this.SetCount(1);\n vec3.set(this.squadBoundsMin, 0, 0, 0);\n vec3.set(this.squadBoundsMax, 0, 0, 0);\n }\n }\n\n /** Carbon method SetCount (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Clamps negative browser inputs and uses CPU vehicle count as the initialized source of truth.\")\n SetCount(count)\n {\n const desired = Math.max(0, Math.trunc(count));\n this.count = this.vehicles.length;\n while (this.count !== desired)\n {\n if (this.count > desired)\n {\n this.RemoveSwarmer();\n }\n else\n {\n this.AddSwarmer();\n }\n this.targetIndex = this.#pickIndex(this.count);\n }\n }\n\n #pickIndex(count)\n {\n return count > 0 ? Math.floor(Math.random() * count) : 0;\n }\n\n}\n"],"names":["_EveSwarm","EveSwarm","EveShip2","e","_init_vehicles","_init_extra_vehicles","_init_renderables","_init_extra_renderables","_init_targetIndex","_init_extra_targetIndex","_init_firingIndex","_init_extra_firingIndex","_init_squadBoundsMin","_init_extra_squadBoundsMin","_init_squadBoundsMax","_init_extra_squadBoundsMax","_init_weightFormation","_init_extra_weightFormation","_init_weightCohesion","_init_extra_weightCohesion","_init_weightSeparation","_init_extra_weightSeparation","_init_weightWander","_init_extra_weightWander","_init_weightAnchor","_init_extra_weightAnchor","_init_anchorRadius","_init_extra_anchorRadius","_init_anchorRadius2","_init_extra_anchorRadius2","_init_weightDeceleration","_init_extra_weightDeceleration","_init_maxDeceleration","_init_extra_maxDeceleration","_init_separationDistance","_init_extra_separationDistance","_init_formationDistance","_init_extra_formationDistance","_init_wanderFluctuation","_init_extra_wanderFluctuation","_init_wanderDistance","_init_extra_wanderDistance","_init_wanderRadius","_init_extra_wanderRadius","_init_debugShowForces","_init_extra_debugShowForces","_init_count","_init_extra_count","_init_swarmingEnabled","_init_extra_swarmingEnabled","_init_mass","_init_extra_mass","_init_speedMultiplier","_init_extra_speedMultiplier","_init_speedMinimum","_init_extra_speedMinimum","_init_maxDistance","_init_extra_maxDistance","_init_maxDistance2","_init_extra_maxDistance2","_init_maxTime","_init_extra_maxTime","_init_agility","_init_extra_agility","_init_speed","_init_extra_speed","_init_speed2","_init_extra_speed2","_init_timeMultiplier","_init_extra_timeMultiplier","_init_weightAlign","_init_extra_weightAlign","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","int32","vec3","io","persist","float32","notify","boolean","readwrite","carbon","method","impl","adapted","reason","constructor","args","vehicles","renderables","targetIndex","firingIndex","squadBoundsMin","create","squadBoundsMax","weightFormation","weightCohesion","weightSeparation","weightWander","weightAnchor","anchorRadius0","anchorRadius1","weightDeceleration","maxDeceleration","separationDistance","formationDistance","wanderFluctuation","wanderDistance","wanderRadius","debugShowForces","count","swarmingEnabled","mass","speedMultiplier","speedMinimum","maxDistance0","maxDistance1","maxTime","agility","speed0","speed1","timeMultiplier","weightAlign","AddSwarmer","renderable","EveSwarmRenderable","InitializeRenderable","mesh","InitDecals","decals","push","rotation","quat","acceleration","velocity","position","clone","worldPosition","wanderTarget","roll","length","boosters","SetCount","RemoveSwarmer","index","Math","min","max","removedPosition","removedRenderable","lastVehicle","pop","lastRenderable","PickFiringOrigin","EnableSwarming","enable","set","desired","trunc","#pickIndex","floor","random"],"mappings":"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"}
1
+ {"version":3,"file":"EveSwarm.js","sources":["../../../../../../src/generated/eve/spaceObject/swarm/EveSwarm.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/EveSwarm.h\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/swarm/EveSwarm.json.\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveShip2 } from \"../EveShip2.js\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { EveSwarmRenderable } from \"./EveSwarmRenderable.js\";\r\n\r\n/** EveSwarm (eve/spaceObject/swarm) - generated from schema shapeHash e65716bf.... */\r\n@type.define({ className: \"EveSwarm\", family: \"eve/spaceObject/swarm\" })\r\nexport class EveSwarm extends EveShip2\r\n{\r\n\r\n /** CPU SwarmVehicle state; live draw resources remain renderer-owned. */\r\n @type.list(\"SwarmVehicle\")\r\n vehicles = [];\r\n\r\n @type.list(\"EveSwarmRenderable\")\r\n renderables = [];\r\n\r\n @type.int32\r\n targetIndex = 0;\r\n\r\n @type.int32\r\n firingIndex = 0;\r\n\r\n @type.vec3\r\n squadBoundsMin = vec3.create();\r\n\r\n @type.vec3\r\n squadBoundsMax = vec3.create();\r\n\r\n /** m_behavior.m_weightFormation (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightFormation = 1;\r\n\r\n /** m_behavior.m_weightCohesion (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightCohesion = 0.1;\r\n\r\n /** m_behavior.m_weightSeparation (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightSeparation = 0.1;\r\n\r\n /** m_behavior.m_weightWander (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightWander = 0.33;\r\n\r\n /** m_behavior.m_weightAnchor (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightAnchor = 0.5;\r\n\r\n /** m_behavior.m_anchorRadius0 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n anchorRadius0 = 75;\r\n\r\n /** m_behavior.m_anchorRadius1 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n anchorRadius1 = 250;\r\n\r\n /** m_behavior.m_weightDecelerate (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightDeceleration = 0.1;\r\n\r\n /** m_behavior.m_maxDeceleration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxDeceleration = 200;\r\n\r\n /** m_behavior.m_separationDistance (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n separationDistance = 250;\r\n\r\n /** m_behavior.m_formationDistance (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n formationDistance = 50;\r\n\r\n /** m_behavior.m_wanderFluctuation (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n wanderFluctuation = 0.05;\r\n\r\n /** m_behavior.m_wanderDistance (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n wanderDistance = 100;\r\n\r\n /** m_behavior.m_wanderRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n wanderRadius = 80;\r\n\r\n /** m_debugShowForces (bool) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.boolean\r\n debugShowForces = false;\r\n\r\n /** m_count (int32_t) [READ, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n count = 1;\r\n\r\n /** m_swarmingEnabled (bool) [READ, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n swarmingEnabled = false;\r\n\r\n /** m_behavior.m_mass (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n mass = 1;\r\n\r\n /** m_behavior.m_speedMultiplier (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n speedMultiplier = 1.1;\r\n\r\n /** m_behavior.m_speedMinimum (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n speedMinimum = 10;\r\n\r\n /** m_behavior.m_maxDistance0 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxDistance0 = 500;\r\n\r\n /** m_behavior.m_maxDistance1 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxDistance1 = 125;\r\n\r\n /** m_behavior.m_maxTime (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxTime = 0.2;\r\n\r\n /** m_behavior.m_agility (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n agility = 2;\r\n\r\n /** m_behavior.m_speed0 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n speed0 = 700;\r\n\r\n /** m_behavior.m_speed1 (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n speed1 = 1000;\r\n\r\n /** m_behavior.m_timeMultiplier (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n timeMultiplier = 1;\r\n\r\n /** m_behavior.m_weightAlign (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n weightAlign = 50;\r\n\r\n /** Carbon EveSwarm::RegisterComponents (EveSwarm.cpp:1000-1017): base\r\n * registration \"to register all the turrets and things\", then\r\n * UnRegisterAllComponents(this) because the swarm itself is container-only,\r\n * then forwards the per-swarmer renderables. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.UnRegisterAllComponents(this);\r\n for (const renderable of this.renderables)\r\n {\r\n renderable?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveSwarm::UnRegisterComponents (EveSwarm.cpp:1019-1030): base,\r\n * then forwards the renderables. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n super.UnRegisterComponents();\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const renderable of this.renderables)\r\n {\r\n renderable?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method AddSwarmer (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n AddSwarmer()\r\n {\r\n const renderable = new EveSwarmRenderable();\r\n renderable.InitializeRenderable(this, this.mesh);\r\n renderable.InitDecals(this.decals);\r\n this.renderables.push(renderable);\r\n this.vehicles.push({\r\n rotation: quat.create(),\r\n acceleration: vec3.create(),\r\n velocity: vec3.create(),\r\n position: vec3.clone(this.worldPosition),\r\n wanderTarget: vec3.create(),\r\n roll: 0\r\n });\r\n this.count = this.vehicles.length;\r\n this.boosters?.SetCount?.(this.count);\r\n }\r\n\r\n /** Carbon method RemoveSwarmer (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n RemoveSwarmer()\r\n {\r\n if (this.vehicles.length === 0)\r\n {\r\n return vec3.create();\r\n }\r\n const index = Math.min(Math.max(this.targetIndex, 0), this.vehicles.length - 1);\r\n const removedPosition = vec3.clone(this.vehicles[index].position);\r\n const removedRenderable = this.renderables[index];\r\n const lastVehicle = this.vehicles.pop();\r\n const lastRenderable = this.renderables.pop();\r\n if (index < this.vehicles.length)\r\n {\r\n this.vehicles[index] = lastVehicle;\r\n this.renderables[index] = lastRenderable;\r\n }\r\n removedRenderable?.InitializeRenderable?.(null, null);\r\n this.count = this.vehicles.length;\r\n this.boosters?.SetCount?.(this.count);\r\n this.targetIndex = this.#pickIndex(this.count);\r\n return removedPosition;\r\n }\r\n\r\n /** Carbon method PickFiringOrigin (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n PickFiringOrigin()\r\n {\r\n this.firingIndex = this.#pickIndex(this.count);\r\n return this.firingIndex;\r\n }\r\n\r\n /** Carbon method EnableSwarming (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n EnableSwarming(enable)\r\n {\r\n if (this.swarmingEnabled === enable)\r\n {\r\n return;\r\n }\r\n this.swarmingEnabled = enable;\r\n if (!enable)\r\n {\r\n this.SetCount(0);\r\n this.SetCount(1);\r\n vec3.set(this.squadBoundsMin, 0, 0, 0);\r\n vec3.set(this.squadBoundsMax, 0, 0, 0);\r\n }\r\n }\r\n\r\n /** Carbon method SetCount (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Clamps negative browser inputs and uses CPU vehicle count as the initialized source of truth.\")\r\n SetCount(count)\r\n {\r\n const desired = Math.max(0, Math.trunc(count));\r\n this.count = this.vehicles.length;\r\n while (this.count !== desired)\r\n {\r\n if (this.count > desired)\r\n {\r\n this.RemoveSwarmer();\r\n }\r\n else\r\n {\r\n this.AddSwarmer();\r\n }\r\n this.targetIndex = this.#pickIndex(this.count);\r\n }\r\n }\r\n\r\n #pickIndex(count)\r\n {\r\n return count > 0 ? Math.floor(Math.random() * count) : 0;\r\n }\r\n\r\n}\r\n"],"names":["_EveSwarm","EveSwarm","EveShip2","e","_init_vehicles","_init_extra_vehicles","_init_renderables","_init_extra_renderables","_init_targetIndex","_init_extra_targetIndex","_init_firingIndex","_init_extra_firingIndex","_init_squadBoundsMin","_init_extra_squadBoundsMin","_init_squadBoundsMax","_init_extra_squadBoundsMax","_init_weightFormation","_init_extra_weightFormation","_init_weightCohesion","_init_extra_weightCohesion","_init_weightSeparation","_init_extra_weightSeparation","_init_weightWander","_init_extra_weightWander","_init_weightAnchor","_init_extra_weightAnchor","_init_anchorRadius","_init_extra_anchorRadius","_init_anchorRadius2","_init_extra_anchorRadius2","_init_weightDeceleration","_init_extra_weightDeceleration","_init_maxDeceleration","_init_extra_maxDeceleration","_init_separationDistance","_init_extra_separationDistance","_init_formationDistance","_init_extra_formationDistance","_init_wanderFluctuation","_init_extra_wanderFluctuation","_init_wanderDistance","_init_extra_wanderDistance","_init_wanderRadius","_init_extra_wanderRadius","_init_debugShowForces","_init_extra_debugShowForces","_init_count","_init_extra_count","_init_swarmingEnabled","_init_extra_swarmingEnabled","_init_mass","_init_extra_mass","_init_speedMultiplier","_init_extra_speedMultiplier","_init_speedMinimum","_init_extra_speedMinimum","_init_maxDistance","_init_extra_maxDistance","_init_maxDistance2","_init_extra_maxDistance2","_init_maxTime","_init_extra_maxTime","_init_agility","_init_extra_agility","_init_speed","_init_extra_speed","_init_speed2","_init_extra_speed2","_init_timeMultiplier","_init_extra_timeMultiplier","_init_weightAlign","_init_extra_weightAlign","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","int32","vec3","io","persist","float32","notify","boolean","readwrite","carbon","method","impl","implemented","adapted","reason","constructor","args","vehicles","renderables","targetIndex","firingIndex","squadBoundsMin","create","squadBoundsMax","weightFormation","weightCohesion","weightSeparation","weightWander","weightAnchor","anchorRadius0","anchorRadius1","weightDeceleration","maxDeceleration","separationDistance","formationDistance","wanderFluctuation","wanderDistance","wanderRadius","debugShowForces","count","swarmingEnabled","mass","speedMultiplier","speedMinimum","maxDistance0","maxDistance1","maxTime","agility","speed0","speed1","timeMultiplier","weightAlign","RegisterComponents","registry","GetComponentRegistry","UnRegisterAllComponents","renderable","Register","UnRegisterComponents","UnRegister","AddSwarmer","EveSwarmRenderable","InitializeRenderable","mesh","InitDecals","decals","push","rotation","quat","acceleration","velocity","position","clone","worldPosition","wanderTarget","roll","length","boosters","SetCount","RemoveSwarmer","index","Math","min","max","removedPosition","removedRenderable","lastVehicle","pop","lastRenderable","PickFiringOrigin","EnableSwarming","enable","set","desired","trunc","#pickIndex","floor","random"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { type, impl } from '@carbonenginejs/core-types/schema';
3
3
  import { EveEntity as _EveEntity } from '../../EveEntity.js';
4
+ import { EveComponentType } from '../../../../eve/EveComponentTypes.js';
4
5
  import { mat4 } from '@carbonenginejs/core-math/mat4';
5
6
  import { vec3 } from '@carbonenginejs/core-math/vec3';
6
7
  import { vec4 } from '@carbonenginejs/core-math/vec4';
@@ -19,7 +20,7 @@ class EveSwarmRenderable extends _EveEntity {
19
20
  } = _applyDecs2311(this, [type.define({
20
21
  className: "EveSwarmRenderable",
21
22
  family: "eve/spaceObject/swarm"
22
- })], [[type.objectRef("Tr2MeshBase"), 0, "mesh"], [type.objectRef("EveSwarm"), 0, "owner"], [[type, type.mat4], 16, "worldTransform"], [type.list("EveSpaceObjectDecal"), 0, "decals"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataVs"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataPs"], [type.rawStruct("EveSpaceObjectPSData"), 0, "psData"], [type.rawStruct("EveSpaceObjectVSData"), 0, "vsData"], [[impl, impl.adapted], 18, "InitializeRenderable"], [[impl, impl.adapted], 18, "SetWorldTransform"], [[impl, impl.implemented], 18, "GetWorldTransform"], [[impl, impl.implemented], 18, "SetBoosterIntensity"], [[impl, impl.adapted], 18, "SetShaderData"], [[impl, impl.adapted], 18, "InitDecals"], [[impl, impl.implemented], 18, "GetID"], [[impl, impl.adapted], 18, "SetShaderOption"]], 0, void 0, _EveEntity));
23
+ })], [[type.objectRef("Tr2MeshBase"), 0, "mesh"], [type.objectRef("EveSwarm"), 0, "owner"], [[type, type.mat4], 16, "worldTransform"], [type.list("EveSpaceObjectDecal"), 0, "decals"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataVs"], [type.rawStruct("Tr2PersistentPerObjectData"), 0, "perObjectDataPs"], [type.rawStruct("EveSpaceObjectPSData"), 0, "psData"], [type.rawStruct("EveSpaceObjectVSData"), 0, "vsData"], [[impl, impl.adapted], 18, "InitializeRenderable"], [[impl, impl.adapted], 18, "SetWorldTransform"], [[impl, impl.implemented], 18, "GetWorldTransform"], [[impl, impl.implemented], 18, "SetBoosterIntensity"], [[impl, impl.adapted], 18, "SetShaderData"], [[impl, impl.adapted], 18, "InitDecals"], [[impl, impl.implemented], 18, "GetID"], [[impl, impl.adapted], 18, "SetShaderOption"], [[impl, impl.adapted, void 0, impl.reason("Carbon's RegisterComponent<IEveShadowCaster> template is expressed as the registry's explicit component-name signature.")], 18, "RegisterComponents"], [[impl, impl.notImplemented], 18, "IsCastingShadow"], [[impl, impl.notImplemented], 18, "GetShadowBatches"], [[impl, impl.notImplemented], 18, "GetShadowPerObjectData"]], 0, void 0, _EveEntity));
23
24
  }
24
25
  constructor(...args) {
25
26
  super(...args);
@@ -93,6 +94,32 @@ class EveSwarmRenderable extends _EveEntity {
93
94
  SetShaderOption(name, value) {
94
95
  this.mesh?.SetShaderOption?.(name, value);
95
96
  }
97
+
98
+ /** Carbon EveSwarmRenderable::RegisterComponents (EveSwarm.cpp:306-313):
99
+ * unconditional ShadowCaster leaf self-registration. */
100
+ RegisterComponents() {
101
+ const registry = this.GetComponentRegistry();
102
+ if (registry) {
103
+ registry.RegisterComponent(EveComponentType.ShadowCaster, this);
104
+ }
105
+ }
106
+
107
+ /** Carbon EveSwarmRenderable::IsCastingShadow (EveSwarm.cpp:242-267) culls
108
+ * per-swarmer spheres; awaits the TriFrustum port (visibility pass).
109
+ * Presence satisfies the "ShadowCaster" duck contract. */
110
+ IsCastingShadow(..._args) {
111
+ throw new Error("EveSwarmRenderable.IsCastingShadow is not implemented in CarbonEngineJS.");
112
+ }
113
+
114
+ /** Carbon EveSwarmRenderable::GetShadowBatches (EveSwarm.cpp:269-298). */
115
+ GetShadowBatches(..._args) {
116
+ throw new Error("EveSwarmRenderable.GetShadowBatches is not implemented in CarbonEngineJS.");
117
+ }
118
+
119
+ /** Carbon EveSwarmRenderable::GetShadowPerObjectData (EveSwarm.cpp:300-304). */
120
+ GetShadowPerObjectData(..._args) {
121
+ throw new Error("EveSwarmRenderable.GetShadowPerObjectData is not implemented in CarbonEngineJS.");
122
+ }
96
123
  static {
97
124
  _initClass();
98
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EveSwarmRenderable.js","sources":["../../../../../../src/generated/eve/spaceObject/swarm/EveSwarmRenderable.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/EveSwarm.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/swarm/EveSwarmRenderable.json.\nimport { impl, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../../EveEntity.js\";\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\nimport { EveSpaceObjectPSData } from \"../../../../eve/EveSpaceObjectPSData.js\";\nimport { EveSpaceObjectVSData } from \"../../../../eve/EveSpaceObjectVSData.js\";\n\n/** EveSwarmRenderable (eve/spaceObject/swarm) - generated from schema shapeHash a22c3310.... */\n@type.define({ className: \"EveSwarmRenderable\", family: \"eve/spaceObject/swarm\" })\nexport class EveSwarmRenderable extends EveEntity\n{\n\n /** m_mesh (Tr2MeshBasePtr) */\n @type.objectRef(\"Tr2MeshBase\")\n mesh = null;\n\n /** m_owner (BlueWeakRef<EveSwarm>) */\n @type.objectRef(\"EveSwarm\")\n owner = null;\n\n /** m_worldTransform (Matrix) */\n @type.mat4\n worldTransform = mat4.create();\n\n /** m_decals (PEveSpaceObjectDecalVector) */\n @type.list(\"EveSpaceObjectDecal\")\n decals = [];\n\n /** m_perObjectDataVs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\n perObjectDataVs = null;\n\n /** m_perObjectDataPs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\n perObjectDataPs = null;\n\n /** m_psData (EveSpaceObjectPSData) */\n @type.rawStruct(\"EveSpaceObjectPSData\")\n psData = new EveSpaceObjectPSData();\n\n /** m_vsData (EveSpaceObjectVSData) */\n @type.rawStruct(\"EveSpaceObjectVSData\")\n vsData = new EveSpaceObjectVSData();\n\n @impl.adapted\n InitializeRenderable(owner, mesh)\n {\n this.owner = owner ?? null;\n this.mesh = mesh ?? null;\n }\n\n @impl.adapted\n SetWorldTransform(transform)\n {\n mat4.copy(this.worldTransform, transform);\n mat4.copy(this.vsData.worldTransformLast, this.vsData.worldTransform);\n mat4.transpose(this.vsData.worldTransform, this.worldTransform);\n if (!mat4.invert(this.vsData.invWorldTransform, this.vsData.worldTransform))\n {\n mat4.identity(this.vsData.invWorldTransform);\n }\n mat4.copy(this.psData.worldTransform, this.vsData.worldTransform);\n mat4.copy(this.psData.worldTransformLast, this.vsData.worldTransformLast);\n mat4.copy(this.psData.invWorldTransform, this.vsData.invWorldTransform);\n }\n\n @impl.implemented\n GetWorldTransform()\n {\n return this.worldTransform;\n }\n\n @impl.implemented\n SetBoosterIntensity(intensity)\n {\n this.psData.shipData[0] = intensity;\n }\n\n @impl.adapted\n SetShaderData(vsData, psData)\n {\n for (const name of [\"clipData\", \"ellpsoidCenter\", \"ellpsoidRadii\", \"shipData\"])\n {\n vec4.copy(this.vsData[name], vsData[name]);\n }\n vec3.copy(this.psData.clipSphereCenter, psData.clipSphereCenter);\n for (const name of [\"clipRadiusSq\", \"clipRadius2Sq\", \"impactDataOffset\", \"clipSphereFactor2\", \"clipSphereFactor\"])\n {\n this.psData[name] = psData[name];\n }\n for (let index = 0; index < this.psData.shLightingCoefficients.length; index++)\n {\n vec4.copy(this.psData.shLightingCoefficients[index], psData.shLightingCoefficients[index]);\n }\n this.psData.shipData[1] = psData.shipData[1];\n this.psData.shipData[2] = psData.shipData[2];\n this.psData.shipData[3] = psData.shipData[3];\n }\n\n @impl.adapted\n InitDecals(decals)\n {\n this.decals = decals.map(decal => decal?.Clone?.() ?? decal);\n }\n\n @impl.implemented\n GetID()\n {\n return this.owner;\n }\n\n @impl.adapted\n SetShaderOption(name, value)\n {\n this.mesh?.SetShaderOption?.(name, value);\n }\n\n}\n"],"names":["_EveSwarmRenderable","EveSwarmRenderable","EveEntity","e","_init_mesh","_init_extra_mesh","_init_owner","_init_extra_owner","_init_worldTransform","_init_extra_worldTransform","_init_decals","_init_extra_decals","_init_perObjectDataVs","_init_extra_perObjectDataVs","_init_perObjectDataPs","_init_extra_perObjectDataPs","_init_psData","_init_extra_psData","_init_vsData","_init_extra_vsData","_initProto","c","_initClass","_applyDecs","type","define","className","family","objectRef","mat4","list","rawStruct","impl","adapted","implemented","constructor","args","mesh","owner","worldTransform","create","decals","perObjectDataVs","perObjectDataPs","psData","EveSpaceObjectPSData","vsData","EveSpaceObjectVSData","InitializeRenderable","SetWorldTransform","transform","copy","worldTransformLast","transpose","invert","invWorldTransform","identity","GetWorldTransform","SetBoosterIntensity","intensity","shipData","SetShaderData","name","vec4","vec3","clipSphereCenter","index","shLightingCoefficients","length","InitDecals","map","decal","Clone","GetID","SetShaderOption","value"],"mappings":"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"}
1
+ {"version":3,"file":"EveSwarmRenderable.js","sources":["../../../../../../src/generated/eve/spaceObject/swarm/EveSwarmRenderable.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/EveSwarm.h\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/spaceObject/swarm/EveSwarmRenderable.json.\r\nimport { impl, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { EveComponentType } from \"../../../../eve/EveComponentTypes.js\";\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 { EveSpaceObjectPSData } from \"../../../../eve/EveSpaceObjectPSData.js\";\r\nimport { EveSpaceObjectVSData } from \"../../../../eve/EveSpaceObjectVSData.js\";\r\n\r\n/** EveSwarmRenderable (eve/spaceObject/swarm) - generated from schema shapeHash a22c3310.... */\r\n@type.define({ className: \"EveSwarmRenderable\", family: \"eve/spaceObject/swarm\" })\r\nexport class EveSwarmRenderable extends EveEntity\r\n{\r\n\r\n /** m_mesh (Tr2MeshBasePtr) */\r\n @type.objectRef(\"Tr2MeshBase\")\r\n mesh = null;\r\n\r\n /** m_owner (BlueWeakRef<EveSwarm>) */\r\n @type.objectRef(\"EveSwarm\")\r\n owner = null;\r\n\r\n /** m_worldTransform (Matrix) */\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n /** m_decals (PEveSpaceObjectDecalVector) */\r\n @type.list(\"EveSpaceObjectDecal\")\r\n decals = [];\r\n\r\n /** m_perObjectDataVs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\r\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\r\n perObjectDataVs = null;\r\n\r\n /** m_perObjectDataPs (Tr2PersistentPerObjectData<EveSwarmRenderable>) */\r\n @type.rawStruct(\"Tr2PersistentPerObjectData\")\r\n perObjectDataPs = null;\r\n\r\n /** m_psData (EveSpaceObjectPSData) */\r\n @type.rawStruct(\"EveSpaceObjectPSData\")\r\n psData = new EveSpaceObjectPSData();\r\n\r\n /** m_vsData (EveSpaceObjectVSData) */\r\n @type.rawStruct(\"EveSpaceObjectVSData\")\r\n vsData = new EveSpaceObjectVSData();\r\n\r\n @impl.adapted\r\n InitializeRenderable(owner, mesh)\r\n {\r\n this.owner = owner ?? null;\r\n this.mesh = mesh ?? null;\r\n }\r\n\r\n @impl.adapted\r\n SetWorldTransform(transform)\r\n {\r\n mat4.copy(this.worldTransform, transform);\r\n mat4.copy(this.vsData.worldTransformLast, this.vsData.worldTransform);\r\n mat4.transpose(this.vsData.worldTransform, this.worldTransform);\r\n if (!mat4.invert(this.vsData.invWorldTransform, this.vsData.worldTransform))\r\n {\r\n mat4.identity(this.vsData.invWorldTransform);\r\n }\r\n mat4.copy(this.psData.worldTransform, this.vsData.worldTransform);\r\n mat4.copy(this.psData.worldTransformLast, this.vsData.worldTransformLast);\r\n mat4.copy(this.psData.invWorldTransform, this.vsData.invWorldTransform);\r\n }\r\n\r\n @impl.implemented\r\n GetWorldTransform()\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n @impl.implemented\r\n SetBoosterIntensity(intensity)\r\n {\r\n this.psData.shipData[0] = intensity;\r\n }\r\n\r\n @impl.adapted\r\n SetShaderData(vsData, psData)\r\n {\r\n for (const name of [\"clipData\", \"ellpsoidCenter\", \"ellpsoidRadii\", \"shipData\"])\r\n {\r\n vec4.copy(this.vsData[name], vsData[name]);\r\n }\r\n vec3.copy(this.psData.clipSphereCenter, psData.clipSphereCenter);\r\n for (const name of [\"clipRadiusSq\", \"clipRadius2Sq\", \"impactDataOffset\", \"clipSphereFactor2\", \"clipSphereFactor\"])\r\n {\r\n this.psData[name] = psData[name];\r\n }\r\n for (let index = 0; index < this.psData.shLightingCoefficients.length; index++)\r\n {\r\n vec4.copy(this.psData.shLightingCoefficients[index], psData.shLightingCoefficients[index]);\r\n }\r\n this.psData.shipData[1] = psData.shipData[1];\r\n this.psData.shipData[2] = psData.shipData[2];\r\n this.psData.shipData[3] = psData.shipData[3];\r\n }\r\n\r\n @impl.adapted\r\n InitDecals(decals)\r\n {\r\n this.decals = decals.map(decal => decal?.Clone?.() ?? decal);\r\n }\r\n\r\n @impl.implemented\r\n GetID()\r\n {\r\n return this.owner;\r\n }\r\n\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n this.mesh?.SetShaderOption?.(name, value);\r\n }\r\n\r\n /** Carbon EveSwarmRenderable::RegisterComponents (EveSwarm.cpp:306-313):\r\n * unconditional ShadowCaster leaf self-registration. */\r\n @impl.adapted\r\n @impl.reason(\"Carbon's RegisterComponent<IEveShadowCaster> template is expressed as the registry's explicit component-name signature.\")\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n registry.RegisterComponent(EveComponentType.ShadowCaster, this);\r\n }\r\n }\r\n\r\n /** Carbon EveSwarmRenderable::IsCastingShadow (EveSwarm.cpp:242-267) culls\r\n * per-swarmer spheres; awaits the TriFrustum port (visibility pass).\r\n * Presence satisfies the \"ShadowCaster\" duck contract. */\r\n @impl.notImplemented\r\n IsCastingShadow(..._args)\r\n {\r\n throw new Error(\"EveSwarmRenderable.IsCastingShadow is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveSwarmRenderable::GetShadowBatches (EveSwarm.cpp:269-298). */\r\n @impl.notImplemented\r\n GetShadowBatches(..._args)\r\n {\r\n throw new Error(\"EveSwarmRenderable.GetShadowBatches is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Carbon EveSwarmRenderable::GetShadowPerObjectData (EveSwarm.cpp:300-304). */\r\n @impl.notImplemented\r\n GetShadowPerObjectData(..._args)\r\n {\r\n throw new Error(\"EveSwarmRenderable.GetShadowPerObjectData is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n}\r\n"],"names":["_EveSwarmRenderable","EveSwarmRenderable","EveEntity","e","_init_mesh","_init_extra_mesh","_init_owner","_init_extra_owner","_init_worldTransform","_init_extra_worldTransform","_init_decals","_init_extra_decals","_init_perObjectDataVs","_init_extra_perObjectDataVs","_init_perObjectDataPs","_init_extra_perObjectDataPs","_init_psData","_init_extra_psData","_init_vsData","_init_extra_vsData","_initProto","c","_initClass","_applyDecs","type","define","className","family","objectRef","mat4","list","rawStruct","impl","adapted","implemented","reason","notImplemented","constructor","args","mesh","owner","worldTransform","create","decals","perObjectDataVs","perObjectDataPs","psData","EveSpaceObjectPSData","vsData","EveSpaceObjectVSData","InitializeRenderable","SetWorldTransform","transform","copy","worldTransformLast","transpose","invert","invWorldTransform","identity","GetWorldTransform","SetBoosterIntensity","intensity","shipData","SetShaderData","name","vec4","vec3","clipSphereCenter","index","shLightingCoefficients","length","InitDecals","map","decal","Clone","GetID","SetShaderOption","value","RegisterComponents","registry","GetComponentRegistry","RegisterComponent","EveComponentType","ShadowCaster","IsCastingShadow","_args","Error","GetShadowBatches","GetShadowPerObjectData"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -79,6 +79,7 @@ export { DecalVSPerObjectData } from './eve/DecalVSPerObjectData.js';
79
79
  export { EveBasicPerObjectData } from './eve/EveBasicPerObjectData.js';
80
80
  export { EveChildSpherePinPerObjectData } from './eve/EveChildSpherePinPerObjectData.js';
81
81
  export { EveChildUpdateParams } from './eve/EveChildUpdateParams.js';
82
+ export { EveComponentRequiredMethods, EveComponentType, GetReflectionSetting, SetReflectionSetting, ShouldReflect } from './eve/EveComponentTypes.js';
82
83
  export { EveCustomMask } from './eve/EveCustomMask.js';
83
84
  export { EveBannerLight } from './eve/EveBannerLight.js';
84
85
  export { EveBannerItem } from './eve/EveBannerItem.js';
@@ -352,6 +353,8 @@ export { Tr2VariableStore } from './trinityCore/Tr2VariableStore.js';
352
353
  export { Tr2VisibilityEvent, Tr2VisibilityResults } from './trinityCore/Tr2VisibilityResults.js';
353
354
  export { TriDevice } from './trinityCore/TriDevice.js';
354
355
  export { TriFloat } from './trinityCore/TriFloat.js';
356
+ export { FLOAT_MAX, PlaneDotCoord, PlaneDotNormal, TriFrustum } from './trinityCore/TriFrustum.js';
357
+ export { TriFrustumOrtho } from './trinityCore/TriFrustumOrtho.js';
355
358
  export { SendEventToAudEmitter, TriObserverLocal } from './trinityCore/TriObserverLocal.js';
356
359
  export { TriProjection } from './trinityCore/TriProjection.js';
357
360
  export { TriRect } from './trinityCore/TriRect.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}