@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.
- package/dist/curves/CjsGrannyCurves.js +12 -13
- package/dist/curves/CjsGrannyCurves.js.map +1 -1
- package/dist/eve/EveBannerSet.js +20 -1
- package/dist/eve/EveBannerSet.js.map +1 -1
- package/dist/eve/EveBoosterSet2.js +19 -1
- package/dist/eve/EveBoosterSet2.js.map +1 -1
- package/dist/eve/EveComponentTypes.js +116 -0
- package/dist/eve/EveComponentTypes.js.map +1 -0
- package/dist/eve/EveHazeSet.js +18 -1
- package/dist/eve/EveHazeSet.js.map +1 -1
- package/dist/eve/EvePlaneSet.js +19 -1
- package/dist/eve/EvePlaneSet.js.map +1 -1
- package/dist/eve/EveSpotlightSet.js +18 -1
- package/dist/eve/EveSpotlightSet.js.map +1 -1
- package/dist/eve/EveSpriteLineSet.js +18 -1
- package/dist/eve/EveSpriteLineSet.js.map +1 -1
- package/dist/eve/EveSpriteSet.js +18 -1
- package/dist/eve/EveSpriteSet.js.map +1 -1
- package/dist/eve/EveUpdateContext.js +195 -31
- package/dist/eve/EveUpdateContext.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js +23 -1
- package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js +43 -1
- package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/eve/child/EveChildContainer.js +95 -60
- package/dist/eve/child/EveChildContainer.js.map +1 -1
- package/dist/eve/child/EveChildFogVolume.js +14 -1
- package/dist/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/eve/child/EveChildInstancedMeshes.js +43 -1
- package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
- package/dist/eve/child/EveChildLightingOverride.js +14 -1
- package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/eve/child/EveChildMesh.js +121 -80
- package/dist/eve/child/EveChildMesh.js.map +1 -1
- package/dist/eve/child/EveChildTransform.js +27 -17
- package/dist/eve/child/EveChildTransform.js.map +1 -1
- package/dist/eve/index.js +2 -0
- package/dist/eve/index.js.map +1 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +14 -1
- package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch.js +11 -1
- package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch2.js +14 -1
- package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/eve/renderable/stretch/EveStretch3.js +24 -1
- package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/eve/scene/EveSpaceScene.js +443 -16
- package/dist/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/eve/spaceObject/EveEffectRoot2.js +28 -1
- package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/eve/spaceObject/EveMobile.js +25 -1
- package/dist/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/eve/spaceObject/EveSpaceObject2.js +59 -1
- package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/generated/eve/child/EveChildCloud2.js +88 -5
- package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/generated/eve/child/EveChildExplosion.js +17 -1
- package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js +29 -1
- package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/generated/eve/child/EveChildParticleSystem.js +32 -24
- package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/generated/eve/child/EveChildPlug.js +23 -1
- package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
- package/dist/generated/eve/child/EveChildPostProcessVolume.js +27 -14
- package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/generated/eve/child/EveChildRef.js +17 -1
- package/dist/generated/eve/child/EveChildRef.js.map +1 -1
- package/dist/generated/eve/child/EveChildSocket.js +17 -1
- package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js +43 -40
- package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js +53 -49
- package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/generated/eve/scene/EveComponentRegistry.js +11 -0
- package/dist/generated/eve/scene/EveComponentRegistry.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowFrustum.js +74 -22
- package/dist/generated/eve/scene/TriShadowFrustum.js.map +1 -1
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +128 -26
- package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +1 -1
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +37 -24
- package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +29 -28
- package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/generated/eve/spaceObject/EveShip2.js +39 -19
- package/dist/generated/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +28 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +28 -1
- package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/trinityCore/TriFrustum.js +374 -0
- package/dist/trinityCore/TriFrustum.js.map +1 -0
- package/dist/trinityCore/TriFrustumOrtho.js +158 -0
- package/dist/trinityCore/TriFrustumOrtho.js.map +1 -0
- package/dist/trinityCore/index.js +2 -0
- package/dist/trinityCore/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -17,7 +17,7 @@ new class extends _identity {
|
|
|
17
17
|
} = _applyDecs2311(this, [type.define({
|
|
18
18
|
className: "EveChildSmartLightSet",
|
|
19
19
|
family: "eve/smartLights"
|
|
20
|
-
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, void 0, type.model("IEveDistributionMethod")], 16, "distribution"], [[io, io.persist, void 0, type.list("IEveSmartLightGroup")], 16, "lightGroups"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.noop], 18, "Setup"], [[carbon, carbon.method, impl, impl.noop], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("
|
|
20
|
+
})], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, void 0, type.model("IEveDistributionMethod")], 16, "distribution"], [[io, io.persist, void 0, type.list("IEveSmartLightGroup")], 16, "lightGroups"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.noop], 18, "Setup"], [[carbon, carbon.method, impl, impl.noop], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon re-registers on m_display/m_distribution Var edits; JS forwards every OnModified to the EveEntity ReRegister lifecycle on the flattened EveChildTransform base.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("CarbonEngineJS uses an out-last signature and returns the matrix when no output is supplied.")], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "RenderDebugInfo"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2DebugRendererOptions is a std::set of option names; the duck-typed bag accepts add or insert.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddQuadsToQuadRenderer"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterWithQuadRenderer"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"]], 0, void 0, _EveChildTransform));
|
|
21
21
|
}
|
|
22
22
|
/** m_name (std::string) [READWRITE, PERSIST] */
|
|
23
23
|
name = (_initProto(this), _init_name(this, ""));
|
|
@@ -51,9 +51,9 @@ new class extends _identity {
|
|
|
51
51
|
return false;
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
/**
|
|
55
|
-
* Rebuilds the world transform, then updates the distribution and every
|
|
56
|
-
* light group (EveChildSmartLightSet.cpp:73-86).
|
|
54
|
+
/**
|
|
55
|
+
* Rebuilds the world transform, then updates the distribution and every
|
|
56
|
+
* light group (EveChildSmartLightSet.cpp:73-86).
|
|
57
57
|
*/
|
|
58
58
|
UpdateSyncronous(updateContext, params) {
|
|
59
59
|
this.UpdateTransform(params?.localToWorldTransform ?? _EveChildSmartLightSe.#identity);
|
|
@@ -80,20 +80,21 @@ new class extends _identity {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
/**
|
|
84
|
-
* display/distribution edits re-register the entity components
|
|
85
|
-
* (EveChildSmartLightSet.cpp:112-119).
|
|
83
|
+
/**
|
|
84
|
+
* display/distribution edits re-register the entity components
|
|
85
|
+
* (EveChildSmartLightSet.cpp:112-119).
|
|
86
86
|
*/
|
|
87
87
|
OnModified(_options = {}) {
|
|
88
88
|
this.ReRegister?.();
|
|
89
89
|
return true;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
/**
|
|
93
|
-
* Inserted light groups inherit the current color set
|
|
94
|
-
* (EveChildSmartLightSet.cpp:26-71). Carbon's registry (un)wiring of the
|
|
95
|
-
* inserted/removed EveEntity groups is
|
|
96
|
-
*
|
|
92
|
+
/**
|
|
93
|
+
* Inserted light groups inherit the current color set
|
|
94
|
+
* (EveChildSmartLightSet.cpp:26-71). Carbon's registry (un)wiring of the
|
|
95
|
+
* inserted/removed EveEntity groups is a dynamic list-notify trigger and
|
|
96
|
+
* stays a follow-up (registration is one-shot via
|
|
97
|
+
* EveSpaceScene.ReregisterEntities in this pass).
|
|
97
98
|
*/
|
|
98
99
|
OnListModified(_event, _key, _key2, value, list) {
|
|
99
100
|
if (list === this.lightGroups && this.#inheritProperties) {
|
|
@@ -108,14 +109,26 @@ new class extends _identity {
|
|
|
108
109
|
}
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
/** Carbon
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
/** Carbon EveChildSmartLightSet::RegisterComponents (cpp:121-134):
|
|
113
|
+
* forward-only to the light groups. Gate m_distribution && m_display. */
|
|
114
|
+
RegisterComponents() {
|
|
115
|
+
const registry = this.GetComponentRegistry();
|
|
116
|
+
if (registry && this.distribution && this.display) {
|
|
117
|
+
for (const group of this.lightGroups) {
|
|
118
|
+
group?.Register?.(registry);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
114
121
|
}
|
|
115
122
|
|
|
116
|
-
/** Carbon
|
|
117
|
-
|
|
118
|
-
|
|
123
|
+
/** Carbon EveChildSmartLightSet::UnRegisterComponents (cpp:136-149):
|
|
124
|
+
* forwards to the light groups; no distribution/display re-check. */
|
|
125
|
+
UnRegisterComponents() {
|
|
126
|
+
const registry = this.GetComponentRegistry();
|
|
127
|
+
if (registry) {
|
|
128
|
+
for (const group of this.lightGroups) {
|
|
129
|
+
group?.UnRegister?.(registry);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
119
132
|
}
|
|
120
133
|
|
|
121
134
|
/** Renderable fan-out, gated on the distribution and display (EveChildSmartLightSet.cpp:151-160). */
|
|
@@ -158,9 +171,9 @@ new class extends _identity {
|
|
|
158
171
|
}
|
|
159
172
|
}
|
|
160
173
|
|
|
161
|
-
/**
|
|
162
|
-
* Quad fan-out with the distribution's placement data
|
|
163
|
-
* (EveChildSmartLightSet.cpp:191-200).
|
|
174
|
+
/**
|
|
175
|
+
* Quad fan-out with the distribution's placement data
|
|
176
|
+
* (EveChildSmartLightSet.cpp:191-200).
|
|
164
177
|
*/
|
|
165
178
|
AddQuadsToQuadRenderer(frustum, quadRenderer) {
|
|
166
179
|
if (this.display && this.distribution) {
|
|
@@ -179,9 +192,9 @@ new class extends _identity {
|
|
|
179
192
|
}
|
|
180
193
|
}
|
|
181
194
|
|
|
182
|
-
/**
|
|
183
|
-
* Lazily creates the property holder, stores the color set, and fans it out
|
|
184
|
-
* to every light group (EveChildSmartLightSet.cpp:215-227).
|
|
195
|
+
/**
|
|
196
|
+
* Lazily creates the property holder, stores the color set, and fans it out
|
|
197
|
+
* to every light group (EveChildSmartLightSet.cpp:215-227).
|
|
185
198
|
*/
|
|
186
199
|
SetInheritProperties(colorSet) {
|
|
187
200
|
if (!this.#inheritProperties) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildSmartLightSet.js","sources":["../../../../../src/generated/eve/smartLights/EveChildSmartLightSet.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/SmartLightSets/EveChildSmartLightSet.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/smartLights/EveChildSmartLightSet.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveChildTransform } from \"../../../eve/child/EveChildTransform.js\";\nimport { EveChildInheritProperties } from \"../../../eve/child/EveChildInheritProperties.js\";\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\n\n/** EveChildSmartLightSet (eve/smartLights) - generated from schema shapeHash 05d4824f.... */\n@type.define({ className: \"EveChildSmartLightSet\", family: \"eve/smartLights\" })\nexport class EveChildSmartLightSet extends EveChildTransform\n{\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_distribution (IEveDistributionMethodPtr) [READWRITE, PERSIST] */\n @io.persist\n @type.model(\"IEveDistributionMethod\")\n distribution = null;\n\n /** m_lightGroups (PIEveSmartLightGroupVector) [READ, PERSIST] */\n @io.persist\n @type.list(\"IEveSmartLightGroup\")\n lightGroups = [];\n\n /** m_inheritProperties (EveChildInheritPropertiesPtr) - lazily created, never persisted (EveChildSmartLightSet.h:72). */\n #inheritProperties = null;\n\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n @carbon.method\n @impl.implemented\n SetName(name)\n {\n this.name = String(name ?? \"\");\n }\n\n /** Carbon declares Setup inline empty (EveChildSmartLightSet.h:48). */\n @carbon.method\n @impl.noop\n Setup(_scale = null, _rotation = null, _translation = null, _lowestLodVisible = null)\n {\n }\n\n /** Carbon declares ChangeLOD inline empty (EveChildSmartLightSet.h:49). */\n @carbon.method\n @impl.noop\n ChangeLOD(_lod)\n {\n }\n\n /** Smart light sets carry no bound (EveChildSmartLightSet.h:39-42). */\n @carbon.method\n @impl.implemented\n GetBoundingSphere(_sphere = null, _query = 0)\n {\n return false;\n }\n\n /**\n * Rebuilds the world transform, then updates the distribution and every\n * light group (EveChildSmartLightSet.cpp:73-86).\n */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext, params)\n {\n this.UpdateTransform(params?.localToWorldTransform ?? EveChildSmartLightSet.#identity);\n\n this.distribution?.UpdateSyncronous?.(updateContext, params);\n\n for (const group of this.lightGroups)\n {\n group?.UpdateSyncronous?.(updateContext, params, this.distribution);\n }\n }\n\n /** Asynchronous fan-out to the distribution and light groups (EveChildSmartLightSet.cpp:88-99). */\n @carbon.method\n @impl.implemented\n UpdateAsyncronous(updateContext, params)\n {\n this.distribution?.UpdateAsyncronous?.(updateContext, params);\n\n for (const group of this.lightGroups)\n {\n group?.UpdateAsyncronous?.(updateContext, params, this.distribution);\n }\n }\n\n /** Visibility fan-out, gated on the distribution and display (EveChildSmartLightSet.cpp:101-110). */\n @carbon.method\n @impl.implemented\n UpdateVisibility(updateContext, parentTransform, parentLod)\n {\n if (this.distribution && this.display)\n {\n for (const group of this.lightGroups)\n {\n group?.UpdateVisibility?.(updateContext, parentTransform, parentLod);\n }\n }\n }\n\n /**\n * display/distribution edits re-register the entity components\n * (EveChildSmartLightSet.cpp:112-119).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The class flattens onto EveChildTransform without Carbon's EveEntity base; the re-register hook is limited to an optional duck-typed call.\")\n OnModified(_options = {})\n {\n this.ReRegister?.();\n return true;\n }\n\n /**\n * Inserted light groups inherit the current color set\n * (EveChildSmartLightSet.cpp:26-71). Carbon's registry (un)wiring of the\n * inserted/removed EveEntity groups is omitted: this class has no EveEntity\n * surface in JS (see RegisterComponents).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.\")\n OnListModified(_event, _key, _key2, value, list)\n {\n if (list === this.lightGroups && this.#inheritProperties)\n {\n const properties = this.#inheritProperties.GetProperties();\n if (value)\n {\n value.SetInheritProperties?.(properties);\n }\n else\n {\n for (const group of this.lightGroups)\n {\n group?.SetInheritProperties?.(properties);\n }\n }\n }\n }\n\n /** Carbon method RegisterComponents (EveChildSmartLightSet.cpp:121-134). */\n @carbon.method\n @impl.notImplemented\n RegisterComponents(..._args)\n {\n throw new Error(\"EveChildSmartLightSet.RegisterComponents is not implemented in CarbonEngineJS.\");\n }\n\n /** Carbon method UnRegisterComponents (EveChildSmartLightSet.cpp:136-149). */\n @carbon.method\n @impl.notImplemented\n UnRegisterComponents(..._args)\n {\n throw new Error(\"EveChildSmartLightSet.UnRegisterComponents is not implemented in CarbonEngineJS.\");\n }\n\n /** Renderable fan-out, gated on the distribution and display (EveChildSmartLightSet.cpp:151-160). */\n @carbon.method\n @impl.implemented\n GetRenderables(renderables = [])\n {\n if (this.distribution && this.display)\n {\n for (const group of this.lightGroups)\n {\n group?.GetRenderables?.(renderables);\n }\n }\n return renderables;\n }\n\n /** Returns the local-to-world matrix (EveChildSmartLightSet.cpp:162-165). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"CarbonEngineJS uses an out-last signature and returns the matrix when no output is supplied.\")\n GetLocalToWorldTransform(out = null)\n {\n if (out)\n {\n return mat4.copy(out, this.worldTransform);\n }\n return this.worldTransform;\n }\n\n /** Fans a controller variable to the distribution and light groups (EveChildSmartLightSet.cpp:167-178). */\n @carbon.method\n @impl.implemented\n SetControllerVariable(name, value)\n {\n this.distribution?.SetControllerVariable?.(name, value);\n\n for (const group of this.lightGroups)\n {\n group?.SetControllerVariable?.(name, value);\n }\n }\n\n /** Carbon method RenderDebugInfo (EveChildSmartLightSet.cpp:180-189). */\n @carbon.method\n @impl.notImplemented\n RenderDebugInfo(..._args)\n {\n throw new Error(\"EveChildSmartLightSet.RenderDebugInfo is not implemented in CarbonEngineJS.\");\n }\n\n /** Advertises the smartLightSets debug option (EveChildSmartLightSet.cpp:210-213); options is a Set-like bag. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Tr2DebugRendererOptions is a std::set of option names; the duck-typed bag accepts add or insert.\")\n GetDebugOptions(options)\n {\n if (options?.add)\n {\n options.add(\"smartLightSets\");\n }\n else\n {\n options?.insert?.(\"smartLightSets\");\n }\n }\n\n /**\n * Quad fan-out with the distribution's placement data\n * (EveChildSmartLightSet.cpp:191-200).\n */\n @carbon.method\n @impl.implemented\n AddQuadsToQuadRenderer(frustum, quadRenderer)\n {\n if (this.display && this.distribution)\n {\n const placements = this.distribution.GetPlacementData?.() ?? [];\n const size = Number(this.distribution.GetNumberOfPlacements?.() ?? placements.length);\n for (const group of this.lightGroups)\n {\n group?.AddQuadsToQuadRenderer?.(placements, size, frustum, quadRenderer);\n }\n }\n }\n\n /** Effect-registration fan-out (EveChildSmartLightSet.cpp:202-208). */\n @carbon.method\n @impl.implemented\n RegisterWithQuadRenderer(quadRenderer)\n {\n for (const group of this.lightGroups)\n {\n group?.RegisterWithQuadRenderer?.(quadRenderer);\n }\n }\n\n /**\n * Lazily creates the property holder, stores the color set, and fans it out\n * to every light group (EveChildSmartLightSet.cpp:215-227).\n */\n @carbon.method\n @impl.implemented\n SetInheritProperties(colorSet)\n {\n if (!this.#inheritProperties)\n {\n this.#inheritProperties = new EveChildInheritProperties();\n }\n this.#inheritProperties.SetProperties(colorSet);\n\n for (const group of this.lightGroups)\n {\n group?.SetInheritProperties?.(colorSet);\n }\n }\n\n static #identity = mat4.create();\n\n}\n"],"names":["_EveChildSmartLightSe","_identity","EveChildSmartLightSet","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_distribution","_init_extra_distribution","_init_lightGroups","_init_extra_lightGroups","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","model","list","carbon","method","impl","implemented","noop","adapted","reason","notImplemented","name","display","distribution","lightGroups","GetName","SetName","String","Setup","_scale","_rotation","_translation","_lowestLodVisible","ChangeLOD","_lod","GetBoundingSphere","_sphere","_query","UpdateSyncronous","updateContext","params","UpdateTransform","localToWorldTransform","group","UpdateAsyncronous","UpdateVisibility","parentTransform","parentLod","OnModified","_options","ReRegister","OnListModified","_event","_key","_key2","value","properties","GetProperties","SetInheritProperties","RegisterComponents","_args","Error","UnRegisterComponents","GetRenderables","renderables","GetLocalToWorldTransform","out","mat4","copy","worldTransform","SetControllerVariable","RenderDebugInfo","GetDebugOptions","options","add","insert","AddQuadsToQuadRenderer","frustum","quadRenderer","placements","GetPlacementData","size","Number","GetNumberOfPlacements","length","RegisterWithQuadRenderer","colorSet","EveChildInheritProperties","SetProperties","create","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveChildSmartLightSet.js","sources":["../../../../../src/generated/eve/smartLights/EveChildSmartLightSet.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/SmartLightSets/EveChildSmartLightSet.h\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/smartLights/EveChildSmartLightSet.json.\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveChildTransform } from \"../../../eve/child/EveChildTransform.js\";\r\nimport { EveChildInheritProperties } from \"../../../eve/child/EveChildInheritProperties.js\";\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\n\r\n/** EveChildSmartLightSet (eve/smartLights) - generated from schema shapeHash 05d4824f.... */\r\n@type.define({ className: \"EveChildSmartLightSet\", family: \"eve/smartLights\" })\r\nexport class EveChildSmartLightSet extends EveChildTransform\r\n{\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\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_distribution (IEveDistributionMethodPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveDistributionMethod\")\r\n distribution = null;\r\n\r\n /** m_lightGroups (PIEveSmartLightGroupVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSmartLightGroup\")\r\n lightGroups = [];\r\n\r\n /** m_inheritProperties (EveChildInheritPropertiesPtr) - lazily created, never persisted (EveChildSmartLightSet.h:72). */\r\n #inheritProperties = null;\r\n\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n @carbon.method\r\n @impl.implemented\r\n SetName(name)\r\n {\r\n this.name = String(name ?? \"\");\r\n }\r\n\r\n /** Carbon declares Setup inline empty (EveChildSmartLightSet.h:48). */\r\n @carbon.method\r\n @impl.noop\r\n Setup(_scale = null, _rotation = null, _translation = null, _lowestLodVisible = null)\r\n {\r\n }\r\n\r\n /** Carbon declares ChangeLOD inline empty (EveChildSmartLightSet.h:49). */\r\n @carbon.method\r\n @impl.noop\r\n ChangeLOD(_lod)\r\n {\r\n }\r\n\r\n /** Smart light sets carry no bound (EveChildSmartLightSet.h:39-42). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBoundingSphere(_sphere = null, _query = 0)\r\n {\r\n return false;\r\n }\r\n\r\n /**\r\n * Rebuilds the world transform, then updates the distribution and every\r\n * light group (EveChildSmartLightSet.cpp:73-86).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext, params)\r\n {\r\n this.UpdateTransform(params?.localToWorldTransform ?? EveChildSmartLightSet.#identity);\r\n\r\n this.distribution?.UpdateSyncronous?.(updateContext, params);\r\n\r\n for (const group of this.lightGroups)\r\n {\r\n group?.UpdateSyncronous?.(updateContext, params, this.distribution);\r\n }\r\n }\r\n\r\n /** Asynchronous fan-out to the distribution and light groups (EveChildSmartLightSet.cpp:88-99). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n this.distribution?.UpdateAsyncronous?.(updateContext, params);\r\n\r\n for (const group of this.lightGroups)\r\n {\r\n group?.UpdateAsyncronous?.(updateContext, params, this.distribution);\r\n }\r\n }\r\n\r\n /** Visibility fan-out, gated on the distribution and display (EveChildSmartLightSet.cpp:101-110). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform, parentLod)\r\n {\r\n if (this.distribution && this.display)\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.UpdateVisibility?.(updateContext, parentTransform, parentLod);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * display/distribution edits re-register the entity components\r\n * (EveChildSmartLightSet.cpp:112-119).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon re-registers on m_display/m_distribution Var edits; JS forwards every OnModified to the EveEntity ReRegister lifecycle on the flattened EveChildTransform base.\")\r\n OnModified(_options = {})\r\n {\r\n this.ReRegister?.();\r\n return true;\r\n }\r\n\r\n /**\r\n * Inserted light groups inherit the current color set\r\n * (EveChildSmartLightSet.cpp:26-71). Carbon's registry (un)wiring of the\r\n * inserted/removed EveEntity groups is a dynamic list-notify trigger and\r\n * stays a follow-up (registration is one-shot via\r\n * EveSpaceScene.ReregisterEntities in this pass).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.\")\r\n OnListModified(_event, _key, _key2, value, list)\r\n {\r\n if (list === this.lightGroups && this.#inheritProperties)\r\n {\r\n const properties = this.#inheritProperties.GetProperties();\r\n if (value)\r\n {\r\n value.SetInheritProperties?.(properties);\r\n }\r\n else\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.SetInheritProperties?.(properties);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildSmartLightSet::RegisterComponents (cpp:121-134):\r\n * forward-only to the light groups. Gate m_distribution && m_display. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry && this.distribution && this.display)\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.Register?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildSmartLightSet::UnRegisterComponents (cpp:136-149):\r\n * forwards to the light groups; no distribution/display re-check. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.UnRegister?.(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Renderable fan-out, gated on the distribution and display (EveChildSmartLightSet.cpp:151-160). */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n if (this.distribution && this.display)\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.GetRenderables?.(renderables);\r\n }\r\n }\r\n return renderables;\r\n }\r\n\r\n /** Returns the local-to-world matrix (EveChildSmartLightSet.cpp:162-165). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CarbonEngineJS uses an out-last signature and returns the matrix when no output is supplied.\")\r\n GetLocalToWorldTransform(out = null)\r\n {\r\n if (out)\r\n {\r\n return mat4.copy(out, this.worldTransform);\r\n }\r\n return this.worldTransform;\r\n }\r\n\r\n /** Fans a controller variable to the distribution and light groups (EveChildSmartLightSet.cpp:167-178). */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n this.distribution?.SetControllerVariable?.(name, value);\r\n\r\n for (const group of this.lightGroups)\r\n {\r\n group?.SetControllerVariable?.(name, value);\r\n }\r\n }\r\n\r\n /** Carbon method RenderDebugInfo (EveChildSmartLightSet.cpp:180-189). */\r\n @carbon.method\r\n @impl.notImplemented\r\n RenderDebugInfo(..._args)\r\n {\r\n throw new Error(\"EveChildSmartLightSet.RenderDebugInfo is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n /** Advertises the smartLightSets debug option (EveChildSmartLightSet.cpp:210-213); options is a Set-like bag. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is a std::set of option names; the duck-typed bag accepts add or insert.\")\r\n GetDebugOptions(options)\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"smartLightSets\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"smartLightSets\");\r\n }\r\n }\r\n\r\n /**\r\n * Quad fan-out with the distribution's placement data\r\n * (EveChildSmartLightSet.cpp:191-200).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n AddQuadsToQuadRenderer(frustum, quadRenderer)\r\n {\r\n if (this.display && this.distribution)\r\n {\r\n const placements = this.distribution.GetPlacementData?.() ?? [];\r\n const size = Number(this.distribution.GetNumberOfPlacements?.() ?? placements.length);\r\n for (const group of this.lightGroups)\r\n {\r\n group?.AddQuadsToQuadRenderer?.(placements, size, frustum, quadRenderer);\r\n }\r\n }\r\n }\r\n\r\n /** Effect-registration fan-out (EveChildSmartLightSet.cpp:202-208). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterWithQuadRenderer(quadRenderer)\r\n {\r\n for (const group of this.lightGroups)\r\n {\r\n group?.RegisterWithQuadRenderer?.(quadRenderer);\r\n }\r\n }\r\n\r\n /**\r\n * Lazily creates the property holder, stores the color set, and fans it out\r\n * to every light group (EveChildSmartLightSet.cpp:215-227).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetInheritProperties(colorSet)\r\n {\r\n if (!this.#inheritProperties)\r\n {\r\n this.#inheritProperties = new EveChildInheritProperties();\r\n }\r\n this.#inheritProperties.SetProperties(colorSet);\r\n\r\n for (const group of this.lightGroups)\r\n {\r\n group?.SetInheritProperties?.(colorSet);\r\n }\r\n }\r\n\r\n static #identity = mat4.create();\r\n\r\n}\r\n"],"names":["_EveChildSmartLightSe","_identity","EveChildSmartLightSet","EveChildTransform","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_distribution","_init_extra_distribution","_init_lightGroups","_init_extra_lightGroups","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","model","list","carbon","method","impl","implemented","noop","adapted","reason","notImplemented","name","display","distribution","lightGroups","GetName","SetName","String","Setup","_scale","_rotation","_translation","_lowestLodVisible","ChangeLOD","_lod","GetBoundingSphere","_sphere","_query","UpdateSyncronous","updateContext","params","UpdateTransform","localToWorldTransform","group","UpdateAsyncronous","UpdateVisibility","parentTransform","parentLod","OnModified","_options","ReRegister","OnListModified","_event","_key","_key2","value","properties","GetProperties","SetInheritProperties","RegisterComponents","registry","GetComponentRegistry","Register","UnRegisterComponents","UnRegister","GetRenderables","renderables","GetLocalToWorldTransform","out","mat4","copy","worldTransform","SetControllerVariable","RenderDebugInfo","_args","Error","GetDebugOptions","options","add","insert","AddQuadsToQuadRenderer","frustum","quadRenderer","placements","GetPlacementData","size","Number","GetNumberOfPlacements","length","RegisterWithQuadRenderer","colorSet","EveChildInheritProperties","SetProperties","create","constructor"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { quat } from '@carbonenginejs/core-math/quat';
|
|
|
7
7
|
import { vec3 } from '@carbonenginejs/core-math/vec3';
|
|
8
8
|
import { vec4 } from '@carbonenginejs/core-math/vec4';
|
|
9
9
|
import { Tr2Light as _Tr2Light } from '../../../eve/lights/Tr2Light.js';
|
|
10
|
+
import { EveComponentType } from '../../../eve/EveComponentTypes.js';
|
|
10
11
|
import { createCjsLightDataView, setCjsLightDataOwnerValues } from '../../../eve/lights/CjsLightData.js';
|
|
11
12
|
|
|
12
13
|
let _initProto, _initClass, _init_flags, _init_extra_flags, _init_innerRadius, _init_extra_innerRadius, _init_brightness, _init_extra_brightness, _init_radius, _init_extra_radius, _init_lightProfile, _init_extra_lightProfile, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_lightProfilePath, _init_extra_lightProfilePath, _init_staticOffsetTranslation, _init_extra_staticOffsetTranslation, _init_staticOffsetRotation, _init_extra_staticOffsetRotation, _init_factionColor, _init_extra_factionColor, _init_useFactionColor, _init_extra_useFactionColor, _init_attributeModifiers, _init_extra_attributeModifiers, _init_customColor, _init_extra_customColor;
|
|
@@ -22,7 +23,7 @@ new class extends _identity {
|
|
|
22
23
|
} = _applyDecs2311(this, [type.define({
|
|
23
24
|
className: "EveSmartLightPointLight",
|
|
24
25
|
family: "eve/smartLights"
|
|
25
|
-
})], [[[io, io.persist, type, type.uint16], 16, "flags"], [[io, io.persist, type, type.float32], 16, "innerRadius"], [[io, io.persist, type, type.float32], 16, "brightness"], [[io, io.persist, type, type.float32], 16, "radius"], [[io, io.read, void 0, type.objectRef("Tr2LightProfileRes")], 16, "lightProfile"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.string], 16, "lightProfilePath"], [[io, io.persist, type, type.vec3], 16, "staticOffsetTranslation"], [[io, io.persist, type, type.quat], 16, "staticOffsetRotation"], [[io, io.notify, io, io.persist, type, type.int32], 16, "factionColor"], [[io, io.persist, type, type.boolean], 16, "useFactionColor"], [[io, io.persist, void 0, type.list("IEveSmartLightGroupAttributeModifier")], 16, "attributeModifiers"], [[io, io.persist, type, type.color], 16, "customColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface through the shared resolveGroupColor helper.")], 18, "GetGroupColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Light-profile resolution (BeResMan lp resource) is supplied by the resource/runtime adapter; Trinity keeps only the typed path/reference.")], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The settle hook receives no changed-property list, and profile resolution belongs to the resource adapter; a detected path edit only invalidates the cached reference.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's RegisterComponent<ITr2LightOwner> template is expressed as the registry's explicit component-name signature.")], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Physical per-light packing (half floats, profile-index flag bits) moves to the renderer backend; Trinity submits the typed CPU record per placement.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "RenderDebugInfo"]], 0, void 0, _EveEntity));
|
|
26
|
+
})], [[[io, io.persist, type, type.uint16], 16, "flags"], [[io, io.persist, type, type.float32], 16, "innerRadius"], [[io, io.persist, type, type.float32], 16, "brightness"], [[io, io.persist, type, type.float32], 16, "radius"], [[io, io.read, void 0, type.objectRef("Tr2LightProfileRes")], 16, "lightProfile"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.boolean], 16, "display"], [[io, io.notify, io, io.persist, type, type.string], 16, "lightProfilePath"], [[io, io.persist, type, type.vec3], 16, "staticOffsetTranslation"], [[io, io.persist, type, type.quat], 16, "staticOffsetRotation"], [[io, io.notify, io, io.persist, type, type.int32], 16, "factionColor"], [[io, io.persist, type, type.boolean], 16, "useFactionColor"], [[io, io.persist, void 0, type.list("IEveSmartLightGroupAttributeModifier")], 16, "attributeModifiers"], [[io, io.persist, type, type.color], 16, "customColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface through the shared resolveGroupColor helper.")], 18, "GetGroupColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetColor"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.")], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.")], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Light-profile resolution (BeResMan lp resource) is supplied by the resource/runtime adapter; Trinity keeps only the typed path/reference.")], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The settle hook receives no changed-property list, and profile resolution belongs to the resource adapter; a detected path edit only invalidates the cached reference.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's RegisterComponent<ITr2LightOwner> template is expressed as the registry's explicit component-name signature (verbatim \"LightOwner\", Lights/ITr2LightOwner.h:18).")], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Physical per-light packing (half floats, profile-index flag bits) moves to the renderer backend; Trinity submits the typed CPU record per placement.")], 18, "GetLights"], [[carbon, carbon.method, impl, impl.notImplemented], 18, "RenderDebugInfo"]], 0, void 0, _EveEntity));
|
|
26
27
|
}
|
|
27
28
|
/** m_lightGroupData.flags (uint16_t) [READWRITE, PERSIST] */
|
|
28
29
|
flags = (_initProto(this), _init_flags(this, 1));
|
|
@@ -110,9 +111,9 @@ new class extends _identity {
|
|
|
110
111
|
vec4.copy(this.customColor, color);
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
/**
|
|
114
|
-
* Stores the inherited faction color set and fans it out to the attribute
|
|
115
|
-
* modifiers (Carbon base EveSmartLightBaseGroup.cpp:30-41).
|
|
114
|
+
/**
|
|
115
|
+
* Stores the inherited faction color set and fans it out to the attribute
|
|
116
|
+
* modifiers (Carbon base EveSmartLightBaseGroup.cpp:30-41).
|
|
116
117
|
*/
|
|
117
118
|
SetInheritProperties(colorSet) {
|
|
118
119
|
if (colorSet) {
|
|
@@ -130,9 +131,9 @@ new class extends _identity {
|
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
|
|
133
|
-
/**
|
|
134
|
-
* Newly inserted attribute modifiers inherit the parent color set (Carbon
|
|
135
|
-
* base EveSmartLightBaseGroup.cpp:16-28).
|
|
134
|
+
/**
|
|
135
|
+
* Newly inserted attribute modifiers inherit the parent color set (Carbon
|
|
136
|
+
* base EveSmartLightBaseGroup.cpp:16-28).
|
|
136
137
|
*/
|
|
137
138
|
OnListModified(_event, _key, _key2, value, list) {
|
|
138
139
|
if (list === this.attributeModifiers && this.#parentColorSet) {
|
|
@@ -146,20 +147,20 @@ new class extends _identity {
|
|
|
146
147
|
}
|
|
147
148
|
}
|
|
148
149
|
|
|
149
|
-
/**
|
|
150
|
-
* Carbon resolves the light profile through BeResMan
|
|
151
|
-
* (EveSmartLightPointLight.cpp:18-27); profile resolution belongs to the
|
|
152
|
-
* resource adapter in CarbonEngineJS.
|
|
150
|
+
/**
|
|
151
|
+
* Carbon resolves the light profile through BeResMan
|
|
152
|
+
* (EveSmartLightPointLight.cpp:18-27); profile resolution belongs to the
|
|
153
|
+
* resource adapter in CarbonEngineJS.
|
|
153
154
|
*/
|
|
154
155
|
Initialize() {
|
|
155
156
|
this.#lastAppliedProfilePath = this.lightProfilePath;
|
|
156
157
|
return true;
|
|
157
158
|
}
|
|
158
159
|
|
|
159
|
-
/**
|
|
160
|
-
* A lightProfilePath edit re-resolves the profile
|
|
161
|
-
* (EveSmartLightPointLight.cpp:29-41); the stale reference is dropped so the
|
|
162
|
-
* resource adapter re-resolves it.
|
|
160
|
+
/**
|
|
161
|
+
* A lightProfilePath edit re-resolves the profile
|
|
162
|
+
* (EveSmartLightPointLight.cpp:29-41); the stale reference is dropped so the
|
|
163
|
+
* resource adapter re-resolves it.
|
|
163
164
|
*/
|
|
164
165
|
OnModified(_options = {}) {
|
|
165
166
|
if (this.lightProfilePath !== this.#lastAppliedProfilePath) {
|
|
@@ -169,9 +170,9 @@ new class extends _identity {
|
|
|
169
170
|
return true;
|
|
170
171
|
}
|
|
171
172
|
|
|
172
|
-
/**
|
|
173
|
-
* Captures the frame state and updates the attribute modifiers with full
|
|
174
|
-
* strength (EveSmartLightPointLight.cpp:43-54).
|
|
173
|
+
/**
|
|
174
|
+
* Captures the frame state and updates the attribute modifiers with full
|
|
175
|
+
* strength (EveSmartLightPointLight.cpp:43-54).
|
|
175
176
|
*/
|
|
176
177
|
UpdateSyncronous(updateContext, params, distribution) {
|
|
177
178
|
this.#activationStrength = params?.activationStrength ?? 1;
|
|
@@ -184,18 +185,18 @@ new class extends _identity {
|
|
|
184
185
|
|
|
185
186
|
/** Registers this entity as a light owner (EveSmartLightPointLight.cpp:56-63). */
|
|
186
187
|
RegisterComponents() {
|
|
187
|
-
this.GetComponentRegistry()?.RegisterComponent?.(
|
|
188
|
+
this.GetComponentRegistry()?.RegisterComponent?.(EveComponentType.LightOwner, this);
|
|
188
189
|
}
|
|
189
190
|
|
|
190
|
-
/**
|
|
191
|
-
* Registers one light per distribution placement with the duck-typed light
|
|
192
|
-
* manager (EveSmartLightPointLight.cpp:65-131). The submitted record keeps
|
|
193
|
-
* typed CPU state only (float32 color/direction, unpacked flags, the
|
|
194
|
-
* CjsLightData and unresolved profile reference); Carbon's Float_16/
|
|
195
|
-
* Vector3_16 packing and the profile-index flag packing
|
|
196
|
-
* (GetTextureIndex() + 1 << 4) are renderer/resource-adapter concerns.
|
|
197
|
-
* The record is scratch - the manager must copy, as Carbon's
|
|
198
|
-
* Tr2LightManager::AddLight copies PerLightData by value.
|
|
191
|
+
/**
|
|
192
|
+
* Registers one light per distribution placement with the duck-typed light
|
|
193
|
+
* manager (EveSmartLightPointLight.cpp:65-131). The submitted record keeps
|
|
194
|
+
* typed CPU state only (float32 color/direction, unpacked flags, the
|
|
195
|
+
* CjsLightData and unresolved profile reference); Carbon's Float_16/
|
|
196
|
+
* Vector3_16 packing and the profile-index flag packing
|
|
197
|
+
* (GetTextureIndex() + 1 << 4) are renderer/resource-adapter concerns.
|
|
198
|
+
* The record is scratch - the manager must copy, as Carbon's
|
|
199
|
+
* Tr2LightManager::AddLight copies PerLightData by value.
|
|
199
200
|
*/
|
|
200
201
|
GetLights(lightManager) {
|
|
201
202
|
if (!this.display || !this.#distribution) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveSmartLightPointLight.js","sources":["../../../../../src/generated/eve/smartLights/EveSmartLightPointLight.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/trinity/Eve/SpaceObject/Children/SmartLightSets/EveSmartLightPointLight.h\n// Generated by format-carbon carbon-class --emit. Verify against eve/smartLights/EveSmartLightPointLight.json.\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { EveEntity } from \"../EveEntity.js\";\nimport { resolveGroupColor } from \"./EveSmartLightBaseGroup.js\";\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { quat } from \"@carbonenginejs/core-math/quat\";\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\nimport { Tr2Light } from \"../../../eve/lights/Tr2Light.js\";\nimport {\n createCjsLightDataView,\n setCjsLightDataOwnerValues\n} from \"../../../eve/lights/CjsLightData.js\";\n\n/** EveSmartLightPointLight (eve/smartLights) - generated from schema shapeHash d980f7c3.... */\n@type.define({ className: \"EveSmartLightPointLight\", family: \"eve/smartLights\" })\nexport class EveSmartLightPointLight extends EveEntity\n{\n /** m_lightGroupData.flags (uint16_t) [READWRITE, PERSIST] */\n @io.persist\n @type.uint16\n flags = 1;\n\n /** m_lightGroupData.innerRadius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n innerRadius = 0;\n\n /** m_lightGroupData.brightness (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n brightness = 1;\n\n /** m_lightGroupData.radius (float) [READWRITE, PERSIST] */\n @io.persist\n @type.float32\n radius = 0;\n\n /** m_lightProfile (Tr2LightProfileResPtr) [READ] */\n @io.read\n @type.objectRef(\"Tr2LightProfileRes\")\n lightProfile = null;\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_display (bool) [READWRITE, PERSIST] */\n @io.persist\n @type.boolean\n display = true;\n\n /** m_lightProfilePath (std::wstring) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.string\n lightProfilePath = \"\";\n\n /** m_staticOffsetTranslation (Vector3) [READWRITE, PERSIST] */\n @io.persist\n @type.vec3\n staticOffsetTranslation = vec3.create();\n\n /** m_staticOffsetRotation (Quaternion) [READWRITE, PERSIST] */\n @io.persist\n @type.quat\n staticOffsetRotation = quat.create();\n\n // Flattened EveSmartLightBaseGroup secondary base (Carbon multiple\n // inheritance; EveSmartLightBaseGroup_Blue.cpp:15-20 - the wire format of\n // this class carries these fields).\n\n /** m_selectedColor (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] (EveSmartLightBaseGroup.h:31) */\n @io.notify\n @io.persist\n @type.int32\n factionColor = -1;\n\n /** m_useFactionColor (bool) [READWRITE, PERSIST] (EveSmartLightBaseGroup.h:32) */\n @io.persist\n @type.boolean\n useFactionColor = false;\n\n /** m_attributeModifiers (PIEveSmartLightGroupAttributeModifierVector) [READ, PERSIST] (EveSmartLightBaseGroup.h:29) */\n @io.persist\n @type.list(\"IEveSmartLightGroupAttributeModifier\")\n attributeModifiers = [];\n\n /** m_color (Color) [READWRITE, PERSIST] (EveSmartLightBaseGroup.h:30) */\n @io.persist\n @type.color\n customColor = vec4.createLinear();\n\n /** m_lightType (Tr2Light::LIGHT_TYPE) - POINT_LIGHT here, SPOT_LIGHT on the subclass (EveSmartLightPointLight.cpp:15). */\n lightType = Tr2Light.POINT_LIGHT;\n\n /** m_parentColorSet (const Color*) - inherited faction color set, never persisted. */\n #parentColorSet = null;\n\n /** m_activationStrength (float) - captured from the update params (EveSmartLightPointLight.h:49). */\n #activationStrength = 1;\n\n /** m_worldTransform (Matrix) - captured from the update params (EveSmartLightPointLight.h:45). */\n #worldTransform = mat4.create();\n\n /** m_distribution (IEveDistributionMethodPtr) - captured from the update pass (EveSmartLightPointLight.h:52). */\n #distribution = null;\n\n /** Last lightProfilePath the settle hook applied (JS-only change detection). */\n #lastAppliedProfilePath = \"\";\n\n // Compat view over the flattened m_lightGroupData fields (2026-07-23\n // flatten decision); light-manager records and the pre-flatten hydration\n // shape keep reading a LightData-shaped object.\n #lightDataView = null;\n\n get lightData()\n {\n this.#lightDataView ??= createCjsLightDataView(this, this.constructor.LightDataFields);\n return this.#lightDataView;\n }\n\n SetValues(values = {}, options = {})\n {\n return setCjsLightDataOwnerValues(\n this,\n values,\n options,\n (ownerValues, ownerOptions) => super.SetValues(ownerValues, ownerOptions),\n this.constructor.LightDataFields\n );\n }\n\n /** Faction-aware group color (Carbon base EveSmartLightBaseGroup.cpp:43-53). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface through the shared resolveGroupColor helper.\")\n GetGroupColor()\n {\n return resolveGroupColor(this.customColor, this.useFactionColor, this.factionColor, this.#parentColorSet);\n }\n\n /** Overwrites the custom color (Carbon base EveSmartLightBaseGroup.cpp:55-58). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\n SetColor(color)\n {\n vec4.copy(this.customColor, color);\n }\n\n /**\n * Stores the inherited faction color set and fans it out to the attribute\n * modifiers (Carbon base EveSmartLightBaseGroup.cpp:30-41).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\n SetInheritProperties(colorSet)\n {\n if (colorSet)\n {\n this.#parentColorSet = colorSet;\n }\n\n for (const attributeModifier of this.attributeModifiers)\n {\n attributeModifier?.SetInheritProperties?.(colorSet);\n }\n }\n\n /** Fans a controller variable out to the attribute modifiers (Carbon base EveSmartLightBaseGroup.cpp:60-66). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\n SetControllerVariable(name, value)\n {\n for (const attributeModifier of this.attributeModifiers)\n {\n attributeModifier?.SetControllerVariable?.(name, value);\n }\n }\n\n /**\n * Newly inserted attribute modifiers inherit the parent color set (Carbon\n * base EveSmartLightBaseGroup.cpp:16-28).\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.\")\n OnListModified(_event, _key, _key2, value, list)\n {\n if (list === this.attributeModifiers && this.#parentColorSet)\n {\n if (value)\n {\n value.SetInheritProperties?.(this.#parentColorSet);\n }\n else\n {\n for (const attributeModifier of this.attributeModifiers)\n {\n attributeModifier?.SetInheritProperties?.(this.#parentColorSet);\n }\n }\n }\n }\n\n /**\n * Carbon resolves the light profile through BeResMan\n * (EveSmartLightPointLight.cpp:18-27); profile resolution belongs to the\n * resource adapter in CarbonEngineJS.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Light-profile resolution (BeResMan lp resource) is supplied by the resource/runtime adapter; Trinity keeps only the typed path/reference.\")\n Initialize()\n {\n this.#lastAppliedProfilePath = this.lightProfilePath;\n return true;\n }\n\n /**\n * A lightProfilePath edit re-resolves the profile\n * (EveSmartLightPointLight.cpp:29-41); the stale reference is dropped so the\n * resource adapter re-resolves it.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"The settle hook receives no changed-property list, and profile resolution belongs to the resource adapter; a detected path edit only invalidates the cached reference.\")\n OnModified(_options = {})\n {\n if (this.lightProfilePath !== this.#lastAppliedProfilePath)\n {\n this.#lastAppliedProfilePath = this.lightProfilePath;\n this.lightProfile = null;\n }\n return true;\n }\n\n /**\n * Captures the frame state and updates the attribute modifiers with full\n * strength (EveSmartLightPointLight.cpp:43-54).\n */\n @carbon.method\n @impl.implemented\n UpdateSyncronous(updateContext, params, distribution)\n {\n this.#activationStrength = params?.activationStrength ?? 1;\n mat4.copy(this.#worldTransform, params?.localToWorldTransform ?? EveSmartLightPointLight.#identity);\n\n for (const attributeModifier of this.attributeModifiers)\n {\n attributeModifier?.UpdateSyncronous?.(updateContext, params, 1);\n }\n\n this.#distribution = distribution ?? null;\n }\n\n /** Registers this entity as a light owner (EveSmartLightPointLight.cpp:56-63). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon's RegisterComponent<ITr2LightOwner> template is expressed as the registry's explicit component-name signature.\")\n RegisterComponents()\n {\n this.GetComponentRegistry()?.RegisterComponent?.(\"ITr2LightOwner\", this);\n }\n\n /**\n * Registers one light per distribution placement with the duck-typed light\n * manager (EveSmartLightPointLight.cpp:65-131). The submitted record keeps\n * typed CPU state only (float32 color/direction, unpacked flags, the\n * CjsLightData and unresolved profile reference); Carbon's Float_16/\n * Vector3_16 packing and the profile-index flag packing\n * (GetTextureIndex() + 1 << 4) are renderer/resource-adapter concerns.\n * The record is scratch - the manager must copy, as Carbon's\n * Tr2LightManager::AddLight copies PerLightData by value.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Physical per-light packing (half floats, profile-index flag bits) moves to the renderer backend; Trinity submits the typed CPU record per placement.\")\n GetLights(lightManager)\n {\n if (!this.display || !this.#distribution)\n {\n return;\n }\n\n const placements = this.#distribution.GetPlacementData?.() ?? [];\n const size = Number(this.#distribution.GetNumberOfPlacements?.() ?? placements.length);\n const statics = EveSmartLightPointLight;\n const m = this.#worldTransform;\n\n // Carbon: (|X| + |Y| + |Z|) / 3 of the world basis rows - single-matrix\n // reads, no composition (cpp:75-78).\n const scaling = (\n Math.hypot(m[0], m[1], m[2]) +\n Math.hypot(m[4], m[5], m[6]) +\n Math.hypot(m[8], m[9], m[10])\n ) / 3;\n const groupColor = this.GetGroupColor();\n const record = statics.#lightRecord;\n const rotation = statics.#rotation;\n const position = statics.#position;\n const direction = statics.#direction;\n\n for (let index = 0; index < size; index++)\n {\n const placement = placements[index];\n\n let perLightScaling = Math.max(placement.initialScale[0], placement.initialScale[1], placement.initialScale[2]);\n perLightScaling *= Math.max(placement.additionalScale[0], placement.additionalScale[1], placement.additionalScale[2]);\n\n record.radius = this.radius * scaling * perLightScaling;\n record.innerRadius = this.innerRadius * scaling * perLightScaling;\n record.flags = this.flags;\n\n // Carbon (row-vector): initialRotation * additionalRotation - initialRotation first.\n quat.multiply(rotation, placement.additionalRotation, placement.initialRotation);\n vec3.set(position, 0, 0, 0);\n const offset = this.staticOffsetTranslation;\n if (offset[0] !== 0 || offset[1] !== 0 || offset[2] !== 0)\n {\n // TriVectorRotateQuaternion == vec3.transformQuat (q v q* on both sides).\n vec3.transformQuat(position, offset, rotation);\n }\n\n vec3.add(position, position, placement.initialTranslation);\n vec3.add(position, position, placement.additionalTranslation);\n // TransformCoord == vec3.transformMat4 - identical on the shared layout.\n vec3.transformMat4(position, position, m);\n vec3.copy(record.position, position);\n\n // Carbon (row-vector): rotation * staticOffsetRotation - rotation first.\n quat.multiply(rotation, this.staticOffsetRotation, rotation);\n vec3.set(direction, 0, 1, 0);\n vec3.transformQuat(direction, direction, rotation);\n vec3.scale(direction, direction, -1);\n // TriVectorRotateMatrix: rotate by the world basis only (no translation).\n statics.#TransformNormal(direction, direction, m);\n vec3.normalize(record.direction, direction);\n\n const strength = this.brightness * this.#activationStrength;\n vec3.set(record.color, groupColor[0] * strength, groupColor[1] * strength, groupColor[2] * strength);\n\n for (const attributeModifier of this.attributeModifiers)\n {\n attributeModifier?.ProcessAttributeModifier?.(record.color, placement, position, direction, this.#activationStrength);\n }\n\n record.outerAngle = 0;\n record.innerAngle = 0;\n\n if (this.lightType === Tr2Light.SPOT_LIGHT)\n {\n record.outerAngle = Math.cos((2 * Math.PI * this.outerAngle) / 360);\n record.innerAngle = Math.cos((2 * Math.PI * this.innerAngle) / 360);\n }\n\n record.lightType = this.lightType;\n record.lightData = this.lightData;\n record.lightProfile = this.lightProfile;\n record.owner = this;\n\n lightManager?.AddLight?.(record);\n }\n }\n\n /** Carbon method RenderDebugInfo (EveSmartLightPointLight.cpp:133-161). */\n @carbon.method\n @impl.notImplemented\n RenderDebugInfo(..._args)\n {\n throw new Error(\"EveSmartLightPointLight.RenderDebugInfo is not implemented in CarbonEngineJS.\");\n }\n\n static LightDataFields = [\"flags\", \"innerRadius\", \"brightness\", \"radius\"];\n\n /** TriVectorRotateMatrix (TriMath.cpp:81-94): basis-rows multiply, no translation. */\n static #TransformNormal(out, direction, matrix)\n {\n const x = direction[0];\n const y = direction[1];\n const z = direction[2];\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\n return out;\n }\n\n static #identity = mat4.create();\n\n static #rotation = quat.create();\n\n static #position = vec3.create();\n\n static #direction = vec3.create();\n\n // Scratch per-light record (Carbon Tr2LightManager::PerLightData,\n // Tr2LightManager.h:55-68) - reused across placements; the manager copies.\n static #lightRecord = {\n owner: null,\n lightData: null,\n lightProfile: null,\n lightType: Tr2Light.POINT_LIGHT,\n position: vec3.create(),\n direction: vec3.create(),\n color: vec3.create(),\n radius: 0,\n innerRadius: 0,\n flags: 0,\n outerAngle: 0,\n innerAngle: 0\n };\n\n}\n"],"names":["_EveSmartLightPointLi","_identity","EveSmartLightPointLight","EveEntity","e","_init_flags","_init_extra_flags","_init_innerRadius","_init_extra_innerRadius","_init_brightness","_init_extra_brightness","_init_radius","_init_extra_radius","_init_lightProfile","_init_extra_lightProfile","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_lightProfilePath","_init_extra_lightProfilePath","_init_staticOffsetTranslation","_init_extra_staticOffsetTranslation","_init_staticOffsetRotation","_init_extra_staticOffsetRotation","_init_factionColor","_init_extra_factionColor","_init_useFactionColor","_init_extra_useFactionColor","_init_attributeModifiers","_init_extra_attributeModifiers","_init_customColor","_init_extra_customColor","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","uint16","float32","read","objectRef","string","boolean","notify","vec3","quat","int32","list","color","carbon","method","impl","adapted","reason","implemented","notImplemented","flags","innerRadius","brightness","radius","lightProfile","name","display","lightProfilePath","staticOffsetTranslation","create","staticOffsetRotation","factionColor","useFactionColor","attributeModifiers","customColor","vec4","createLinear","lightType","Tr2Light","POINT_LIGHT","mat4","lightData","createCjsLightDataView","constructor","LightDataFields","SetValues","values","options","setCjsLightDataOwnerValues","ownerValues","ownerOptions","GetGroupColor","resolveGroupColor","SetColor","copy","SetInheritProperties","colorSet","attributeModifier","SetControllerVariable","value","OnListModified","_event","_key","_key2","Initialize","OnModified","_options","UpdateSyncronous","updateContext","params","distribution","activationStrength","localToWorldTransform","RegisterComponents","GetComponentRegistry","RegisterComponent","GetLights","lightManager","placements","GetPlacementData","size","Number","GetNumberOfPlacements","length","statics","m","scaling","Math","hypot","groupColor","record","rotation","position","direction","index","placement","perLightScaling","max","initialScale","additionalScale","multiply","additionalRotation","initialRotation","set","offset","transformQuat","add","initialTranslation","additionalTranslation","transformMat4","scale","normalize","strength","ProcessAttributeModifier","outerAngle","innerAngle","SPOT_LIGHT","cos","PI","owner","AddLight","RenderDebugInfo","_args","Error","#TransformNormal","out","matrix","x","y","z"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveSmartLightPointLight.js","sources":["../../../../../src/generated/eve/smartLights/EveSmartLightPointLight.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\r\n// trinity/trinity/Eve/SpaceObject/Children/SmartLightSets/EveSmartLightPointLight.h\r\n// Generated by format-carbon carbon-class --emit. Verify against eve/smartLights/EveSmartLightPointLight.json.\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { EveEntity } from \"../EveEntity.js\";\r\nimport { resolveGroupColor } from \"./EveSmartLightBaseGroup.js\";\r\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\r\nimport { quat } from \"@carbonenginejs/core-math/quat\";\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { vec4 } from \"@carbonenginejs/core-math/vec4\";\r\nimport { Tr2Light } from \"../../../eve/lights/Tr2Light.js\";\r\nimport { EveComponentType } from \"../../../eve/EveComponentTypes.js\";\r\nimport {\r\n createCjsLightDataView,\r\n setCjsLightDataOwnerValues\r\n} from \"../../../eve/lights/CjsLightData.js\";\r\n\r\n/** EveSmartLightPointLight (eve/smartLights) - generated from schema shapeHash d980f7c3.... */\r\n@type.define({ className: \"EveSmartLightPointLight\", family: \"eve/smartLights\" })\r\nexport class EveSmartLightPointLight extends EveEntity\r\n{\r\n /** m_lightGroupData.flags (uint16_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint16\r\n flags = 1;\r\n\r\n /** m_lightGroupData.innerRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n innerRadius = 0;\r\n\r\n /** m_lightGroupData.brightness (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n brightness = 1;\r\n\r\n /** m_lightGroupData.radius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n radius = 0;\r\n\r\n /** m_lightProfile (Tr2LightProfileResPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"Tr2LightProfileRes\")\r\n lightProfile = null;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\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_lightProfilePath (std::wstring) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n lightProfilePath = \"\";\r\n\r\n /** m_staticOffsetTranslation (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n staticOffsetTranslation = vec3.create();\r\n\r\n /** m_staticOffsetRotation (Quaternion) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.quat\r\n staticOffsetRotation = quat.create();\r\n\r\n // Flattened EveSmartLightBaseGroup secondary base (Carbon multiple\r\n // inheritance; EveSmartLightBaseGroup_Blue.cpp:15-20 - the wire format of\r\n // this class carries these fields).\r\n\r\n /** m_selectedColor (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] (EveSmartLightBaseGroup.h:31) */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n factionColor = -1;\r\n\r\n /** m_useFactionColor (bool) [READWRITE, PERSIST] (EveSmartLightBaseGroup.h:32) */\r\n @io.persist\r\n @type.boolean\r\n useFactionColor = false;\r\n\r\n /** m_attributeModifiers (PIEveSmartLightGroupAttributeModifierVector) [READ, PERSIST] (EveSmartLightBaseGroup.h:29) */\r\n @io.persist\r\n @type.list(\"IEveSmartLightGroupAttributeModifier\")\r\n attributeModifiers = [];\r\n\r\n /** m_color (Color) [READWRITE, PERSIST] (EveSmartLightBaseGroup.h:30) */\r\n @io.persist\r\n @type.color\r\n customColor = vec4.createLinear();\r\n\r\n /** m_lightType (Tr2Light::LIGHT_TYPE) - POINT_LIGHT here, SPOT_LIGHT on the subclass (EveSmartLightPointLight.cpp:15). */\r\n lightType = Tr2Light.POINT_LIGHT;\r\n\r\n /** m_parentColorSet (const Color*) - inherited faction color set, never persisted. */\r\n #parentColorSet = null;\r\n\r\n /** m_activationStrength (float) - captured from the update params (EveSmartLightPointLight.h:49). */\r\n #activationStrength = 1;\r\n\r\n /** m_worldTransform (Matrix) - captured from the update params (EveSmartLightPointLight.h:45). */\r\n #worldTransform = mat4.create();\r\n\r\n /** m_distribution (IEveDistributionMethodPtr) - captured from the update pass (EveSmartLightPointLight.h:52). */\r\n #distribution = null;\r\n\r\n /** Last lightProfilePath the settle hook applied (JS-only change detection). */\r\n #lastAppliedProfilePath = \"\";\r\n\r\n // Compat view over the flattened m_lightGroupData fields (2026-07-23\r\n // flatten decision); light-manager records and the pre-flatten hydration\r\n // shape keep reading a LightData-shaped object.\r\n #lightDataView = null;\r\n\r\n get lightData()\r\n {\r\n this.#lightDataView ??= createCjsLightDataView(this, this.constructor.LightDataFields);\r\n return this.#lightDataView;\r\n }\r\n\r\n SetValues(values = {}, options = {})\r\n {\r\n return setCjsLightDataOwnerValues(\r\n this,\r\n values,\r\n options,\r\n (ownerValues, ownerOptions) => super.SetValues(ownerValues, ownerOptions),\r\n this.constructor.LightDataFields\r\n );\r\n }\r\n\r\n /** Faction-aware group color (Carbon base EveSmartLightBaseGroup.cpp:43-53). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface through the shared resolveGroupColor helper.\")\r\n GetGroupColor()\r\n {\r\n return resolveGroupColor(this.customColor, this.useFactionColor, this.factionColor, this.#parentColorSet);\r\n }\r\n\r\n /** Overwrites the custom color (Carbon base EveSmartLightBaseGroup.cpp:55-58). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\r\n SetColor(color)\r\n {\r\n vec4.copy(this.customColor, color);\r\n }\r\n\r\n /**\r\n * Stores the inherited faction color set and fans it out to the attribute\r\n * modifiers (Carbon base EveSmartLightBaseGroup.cpp:30-41).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\r\n SetInheritProperties(colorSet)\r\n {\r\n if (colorSet)\r\n {\r\n this.#parentColorSet = colorSet;\r\n }\r\n\r\n for (const attributeModifier of this.attributeModifiers)\r\n {\r\n attributeModifier?.SetInheritProperties?.(colorSet);\r\n }\r\n }\r\n\r\n /** Fans a controller variable out to the attribute modifiers (Carbon base EveSmartLightBaseGroup.cpp:60-66). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon inherits EveSmartLightBaseGroup; JS single inheritance flattens the base-group surface.\")\r\n SetControllerVariable(name, value)\r\n {\r\n for (const attributeModifier of this.attributeModifiers)\r\n {\r\n attributeModifier?.SetControllerVariable?.(name, value);\r\n }\r\n }\r\n\r\n /**\r\n * Newly inserted attribute modifiers inherit the parent color set (Carbon\r\n * base EveSmartLightBaseGroup.cpp:16-28).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"List events carry no BELIST insert mask; the inserted value (or, absent one, the whole list) is re-fanned - SetInheritProperties is idempotent.\")\r\n OnListModified(_event, _key, _key2, value, list)\r\n {\r\n if (list === this.attributeModifiers && this.#parentColorSet)\r\n {\r\n if (value)\r\n {\r\n value.SetInheritProperties?.(this.#parentColorSet);\r\n }\r\n else\r\n {\r\n for (const attributeModifier of this.attributeModifiers)\r\n {\r\n attributeModifier?.SetInheritProperties?.(this.#parentColorSet);\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon resolves the light profile through BeResMan\r\n * (EveSmartLightPointLight.cpp:18-27); profile resolution belongs to the\r\n * resource adapter in CarbonEngineJS.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Light-profile resolution (BeResMan lp resource) is supplied by the resource/runtime adapter; Trinity keeps only the typed path/reference.\")\r\n Initialize()\r\n {\r\n this.#lastAppliedProfilePath = this.lightProfilePath;\r\n return true;\r\n }\r\n\r\n /**\r\n * A lightProfilePath edit re-resolves the profile\r\n * (EveSmartLightPointLight.cpp:29-41); the stale reference is dropped so the\r\n * resource adapter re-resolves it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The settle hook receives no changed-property list, and profile resolution belongs to the resource adapter; a detected path edit only invalidates the cached reference.\")\r\n OnModified(_options = {})\r\n {\r\n if (this.lightProfilePath !== this.#lastAppliedProfilePath)\r\n {\r\n this.#lastAppliedProfilePath = this.lightProfilePath;\r\n this.lightProfile = null;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Captures the frame state and updates the attribute modifiers with full\r\n * strength (EveSmartLightPointLight.cpp:43-54).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext, params, distribution)\r\n {\r\n this.#activationStrength = params?.activationStrength ?? 1;\r\n mat4.copy(this.#worldTransform, params?.localToWorldTransform ?? EveSmartLightPointLight.#identity);\r\n\r\n for (const attributeModifier of this.attributeModifiers)\r\n {\r\n attributeModifier?.UpdateSyncronous?.(updateContext, params, 1);\r\n }\r\n\r\n this.#distribution = distribution ?? null;\r\n }\r\n\r\n /** Registers this entity as a light owner (EveSmartLightPointLight.cpp:56-63). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's RegisterComponent<ITr2LightOwner> template is expressed as the registry's explicit component-name signature (verbatim \\\"LightOwner\\\", Lights/ITr2LightOwner.h:18).\")\r\n RegisterComponents()\r\n {\r\n this.GetComponentRegistry()?.RegisterComponent?.(EveComponentType.LightOwner, this);\r\n }\r\n\r\n /**\r\n * Registers one light per distribution placement with the duck-typed light\r\n * manager (EveSmartLightPointLight.cpp:65-131). The submitted record keeps\r\n * typed CPU state only (float32 color/direction, unpacked flags, the\r\n * CjsLightData and unresolved profile reference); Carbon's Float_16/\r\n * Vector3_16 packing and the profile-index flag packing\r\n * (GetTextureIndex() + 1 << 4) are renderer/resource-adapter concerns.\r\n * The record is scratch - the manager must copy, as Carbon's\r\n * Tr2LightManager::AddLight copies PerLightData by value.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Physical per-light packing (half floats, profile-index flag bits) moves to the renderer backend; Trinity submits the typed CPU record per placement.\")\r\n GetLights(lightManager)\r\n {\r\n if (!this.display || !this.#distribution)\r\n {\r\n return;\r\n }\r\n\r\n const placements = this.#distribution.GetPlacementData?.() ?? [];\r\n const size = Number(this.#distribution.GetNumberOfPlacements?.() ?? placements.length);\r\n const statics = EveSmartLightPointLight;\r\n const m = this.#worldTransform;\r\n\r\n // Carbon: (|X| + |Y| + |Z|) / 3 of the world basis rows - single-matrix\r\n // reads, no composition (cpp:75-78).\r\n const scaling = (\r\n Math.hypot(m[0], m[1], m[2]) +\r\n Math.hypot(m[4], m[5], m[6]) +\r\n Math.hypot(m[8], m[9], m[10])\r\n ) / 3;\r\n const groupColor = this.GetGroupColor();\r\n const record = statics.#lightRecord;\r\n const rotation = statics.#rotation;\r\n const position = statics.#position;\r\n const direction = statics.#direction;\r\n\r\n for (let index = 0; index < size; index++)\r\n {\r\n const placement = placements[index];\r\n\r\n let perLightScaling = Math.max(placement.initialScale[0], placement.initialScale[1], placement.initialScale[2]);\r\n perLightScaling *= Math.max(placement.additionalScale[0], placement.additionalScale[1], placement.additionalScale[2]);\r\n\r\n record.radius = this.radius * scaling * perLightScaling;\r\n record.innerRadius = this.innerRadius * scaling * perLightScaling;\r\n record.flags = this.flags;\r\n\r\n // Carbon (row-vector): initialRotation * additionalRotation - initialRotation first.\r\n quat.multiply(rotation, placement.additionalRotation, placement.initialRotation);\r\n vec3.set(position, 0, 0, 0);\r\n const offset = this.staticOffsetTranslation;\r\n if (offset[0] !== 0 || offset[1] !== 0 || offset[2] !== 0)\r\n {\r\n // TriVectorRotateQuaternion == vec3.transformQuat (q v q* on both sides).\r\n vec3.transformQuat(position, offset, rotation);\r\n }\r\n\r\n vec3.add(position, position, placement.initialTranslation);\r\n vec3.add(position, position, placement.additionalTranslation);\r\n // TransformCoord == vec3.transformMat4 - identical on the shared layout.\r\n vec3.transformMat4(position, position, m);\r\n vec3.copy(record.position, position);\r\n\r\n // Carbon (row-vector): rotation * staticOffsetRotation - rotation first.\r\n quat.multiply(rotation, this.staticOffsetRotation, rotation);\r\n vec3.set(direction, 0, 1, 0);\r\n vec3.transformQuat(direction, direction, rotation);\r\n vec3.scale(direction, direction, -1);\r\n // TriVectorRotateMatrix: rotate by the world basis only (no translation).\r\n statics.#TransformNormal(direction, direction, m);\r\n vec3.normalize(record.direction, direction);\r\n\r\n const strength = this.brightness * this.#activationStrength;\r\n vec3.set(record.color, groupColor[0] * strength, groupColor[1] * strength, groupColor[2] * strength);\r\n\r\n for (const attributeModifier of this.attributeModifiers)\r\n {\r\n attributeModifier?.ProcessAttributeModifier?.(record.color, placement, position, direction, this.#activationStrength);\r\n }\r\n\r\n record.outerAngle = 0;\r\n record.innerAngle = 0;\r\n\r\n if (this.lightType === Tr2Light.SPOT_LIGHT)\r\n {\r\n record.outerAngle = Math.cos((2 * Math.PI * this.outerAngle) / 360);\r\n record.innerAngle = Math.cos((2 * Math.PI * this.innerAngle) / 360);\r\n }\r\n\r\n record.lightType = this.lightType;\r\n record.lightData = this.lightData;\r\n record.lightProfile = this.lightProfile;\r\n record.owner = this;\r\n\r\n lightManager?.AddLight?.(record);\r\n }\r\n }\r\n\r\n /** Carbon method RenderDebugInfo (EveSmartLightPointLight.cpp:133-161). */\r\n @carbon.method\r\n @impl.notImplemented\r\n RenderDebugInfo(..._args)\r\n {\r\n throw new Error(\"EveSmartLightPointLight.RenderDebugInfo is not implemented in CarbonEngineJS.\");\r\n }\r\n\r\n static LightDataFields = [\"flags\", \"innerRadius\", \"brightness\", \"radius\"];\r\n\r\n /** TriVectorRotateMatrix (TriMath.cpp:81-94): basis-rows multiply, no translation. */\r\n static #TransformNormal(out, direction, matrix)\r\n {\r\n const x = direction[0];\r\n const y = direction[1];\r\n const z = direction[2];\r\n out[0] = matrix[0] * x + matrix[4] * y + matrix[8] * z;\r\n out[1] = matrix[1] * x + matrix[5] * y + matrix[9] * z;\r\n out[2] = matrix[2] * x + matrix[6] * y + matrix[10] * z;\r\n return out;\r\n }\r\n\r\n static #identity = mat4.create();\r\n\r\n static #rotation = quat.create();\r\n\r\n static #position = vec3.create();\r\n\r\n static #direction = vec3.create();\r\n\r\n // Scratch per-light record (Carbon Tr2LightManager::PerLightData,\r\n // Tr2LightManager.h:55-68) - reused across placements; the manager copies.\r\n static #lightRecord = {\r\n owner: null,\r\n lightData: null,\r\n lightProfile: null,\r\n lightType: Tr2Light.POINT_LIGHT,\r\n position: vec3.create(),\r\n direction: vec3.create(),\r\n color: vec3.create(),\r\n radius: 0,\r\n innerRadius: 0,\r\n flags: 0,\r\n outerAngle: 0,\r\n innerAngle: 0\r\n };\r\n\r\n}\r\n"],"names":["_EveSmartLightPointLi","_identity","EveSmartLightPointLight","EveEntity","e","_init_flags","_init_extra_flags","_init_innerRadius","_init_extra_innerRadius","_init_brightness","_init_extra_brightness","_init_radius","_init_extra_radius","_init_lightProfile","_init_extra_lightProfile","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_lightProfilePath","_init_extra_lightProfilePath","_init_staticOffsetTranslation","_init_extra_staticOffsetTranslation","_init_staticOffsetRotation","_init_extra_staticOffsetRotation","_init_factionColor","_init_extra_factionColor","_init_useFactionColor","_init_extra_useFactionColor","_init_attributeModifiers","_init_extra_attributeModifiers","_init_customColor","_init_extra_customColor","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","uint16","float32","read","objectRef","string","boolean","notify","vec3","quat","int32","list","color","carbon","method","impl","adapted","reason","implemented","notImplemented","flags","innerRadius","brightness","radius","lightProfile","name","display","lightProfilePath","staticOffsetTranslation","create","staticOffsetRotation","factionColor","useFactionColor","attributeModifiers","customColor","vec4","createLinear","lightType","Tr2Light","POINT_LIGHT","mat4","lightData","createCjsLightDataView","constructor","LightDataFields","SetValues","values","options","setCjsLightDataOwnerValues","ownerValues","ownerOptions","GetGroupColor","resolveGroupColor","SetColor","copy","SetInheritProperties","colorSet","attributeModifier","SetControllerVariable","value","OnListModified","_event","_key","_key2","Initialize","OnModified","_options","UpdateSyncronous","updateContext","params","distribution","activationStrength","localToWorldTransform","RegisterComponents","GetComponentRegistry","RegisterComponent","EveComponentType","LightOwner","GetLights","lightManager","placements","GetPlacementData","size","Number","GetNumberOfPlacements","length","statics","m","scaling","Math","hypot","groupColor","record","rotation","position","direction","index","placement","perLightScaling","max","initialScale","additionalScale","multiply","additionalRotation","initialRotation","set","offset","transformQuat","add","initialTranslation","additionalTranslation","transformMat4","scale","normalize","strength","ProcessAttributeModifier","outerAngle","innerAngle","SPOT_LIGHT","cos","PI","owner","AddLight","RenderDebugInfo","_args","Error","#TransformNormal","out","matrix","x","y","z"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ class EveShip2 extends _EveMobile {
|
|
|
17
17
|
} = _applyDecs2311(this, [type.define({
|
|
18
18
|
className: "EveShip2",
|
|
19
19
|
family: "eve/spaceObject"
|
|
20
|
-
})], [[[io, io.persistOnly, void 0, type.model("EveBoosterSet2")], 16, "boosters"], [[io, io.readwrite, type, type.uint32], 16, "displayKillCounterValue"], [[io, io.readwrite, type, type.float32], 16, "maxSpeed"], [[io, io.read, void 0, type.objectRef("TriFloat")], 16, "speed"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoosters"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetKillCounterValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMaxSpeed"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Blue FindEntry member binding becomes a duck-typed value holder; runtime-audio owns the emitter side.")], 18, "UpdateShipSpeedForAudio"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoosterSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS buffers are engine-owned; shipData is exposed for createEveSpaceObjectMainPerObjectValues.")], 18, "GetPerObjectData"]], 0, void 0, _EveMobile));
|
|
20
|
+
})], [[[io, io.persistOnly, void 0, type.model("EveBoosterSet2")], 16, "boosters"], [[io, io.readwrite, type, type.uint32], 16, "displayKillCounterValue"], [[io, io.readwrite, type, type.float32], 16, "maxSpeed"], [[io, io.read, void 0, type.objectRef("TriFloat")], 16, "speed"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoosters"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "DisplayBoosters"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetKillCounterValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetMaxSpeed"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Blue FindEntry member binding becomes a duck-typed value holder; runtime-audio owns the emitter side.")], 18, "UpdateShipSpeedForAudio"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildBoosterSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS buffers are engine-owned; shipData is exposed for createEveSpaceObjectMainPerObjectValues.")], 18, "GetPerObjectData"]], 0, void 0, _EveMobile));
|
|
21
21
|
}
|
|
22
22
|
/** m_boosters (EveBoosterSet2Ptr) [PERSISTONLY] */
|
|
23
23
|
boosters = (_initProto(this), _init_boosters(this, null));
|
|
@@ -40,10 +40,10 @@ class EveShip2 extends _EveMobile {
|
|
|
40
40
|
/** m_spaceObjectShipData - vs/ps ship constants; x carries booster glow. */
|
|
41
41
|
#spaceObjectShipData = vec4.create();
|
|
42
42
|
|
|
43
|
-
/**
|
|
44
|
-
* Carbon EveShip2::UpdateSyncronous - base sync, then speed from the world
|
|
45
|
-
* velocity, audio speed parameter, and booster acceleration from the
|
|
46
|
-
* position curve's second derivative (EveShip2.cpp:16-45).
|
|
43
|
+
/**
|
|
44
|
+
* Carbon EveShip2::UpdateSyncronous - base sync, then speed from the world
|
|
45
|
+
* velocity, audio speed parameter, and booster acceleration from the
|
|
46
|
+
* position curve's second derivative (EveShip2.cpp:16-45).
|
|
47
47
|
*/
|
|
48
48
|
UpdateSyncronous(updateContext) {
|
|
49
49
|
if (!this.update) {
|
|
@@ -113,9 +113,9 @@ class EveShip2 extends _EveMobile {
|
|
|
113
113
|
return this.boosters;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
/**
|
|
117
|
-
* Carbon EveShip2::SetBoosters - swaps the set and re-registers it with
|
|
118
|
-
* the component registry when one is attached (duck-typed).
|
|
116
|
+
/**
|
|
117
|
+
* Carbon EveShip2::SetBoosters - swaps the set and re-registers it with
|
|
118
|
+
* the component registry when one is attached (duck-typed).
|
|
119
119
|
*/
|
|
120
120
|
SetBoosters(boosters) {
|
|
121
121
|
const registry = this.GetComponentRegistry?.();
|
|
@@ -128,6 +128,26 @@ class EveShip2 extends _EveMobile {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
+
/** Carbon EveShip2::RegisterComponents (cpp:145-153): base registration,
|
|
132
|
+
* then forwards the booster set (no display gate of its own). */
|
|
133
|
+
RegisterComponents() {
|
|
134
|
+
super.RegisterComponents();
|
|
135
|
+
const registry = this.GetComponentRegistry();
|
|
136
|
+
if (registry && this.boosters) {
|
|
137
|
+
this.boosters.Register?.(registry);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** Carbon EveShip2::UnRegisterComponents (cpp:155-163): base, then forwards
|
|
142
|
+
* the booster set. */
|
|
143
|
+
UnRegisterComponents() {
|
|
144
|
+
super.UnRegisterComponents();
|
|
145
|
+
const registry = this.GetComponentRegistry();
|
|
146
|
+
if (registry && this.boosters) {
|
|
147
|
+
this.boosters.UnRegister?.(registry);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
131
151
|
/** Carbon EveShip2::DisplayBoosters - boosters render with the children. */
|
|
132
152
|
DisplayBoosters() {
|
|
133
153
|
return !!this.boosters && this.DisplayChildren();
|
|
@@ -139,9 +159,9 @@ class EveShip2 extends _EveMobile {
|
|
|
139
159
|
return this.maxSpeed;
|
|
140
160
|
}
|
|
141
161
|
|
|
142
|
-
/**
|
|
143
|
-
* Carbon EveShip2::UpdateShipSpeedForAudio - normalizes speed/maxSpeed
|
|
144
|
-
* into the bound audio parameter (EveShip2.cpp:360-380).
|
|
162
|
+
/**
|
|
163
|
+
* Carbon EveShip2::UpdateShipSpeedForAudio - normalizes speed/maxSpeed
|
|
164
|
+
* into the bound audio parameter (EveShip2.cpp:360-380).
|
|
145
165
|
*/
|
|
146
166
|
UpdateShipSpeedForAudio() {
|
|
147
167
|
if (this.maxSpeed === 0 || !this.boosters) {
|
|
@@ -153,9 +173,9 @@ class EveShip2 extends _EveMobile {
|
|
|
153
173
|
}
|
|
154
174
|
}
|
|
155
175
|
|
|
156
|
-
/**
|
|
157
|
-
* Carbon EveShip2::RebuildCachedData - after geometry load, re-attach
|
|
158
|
-
* turrets to the freshly loaded locators (EveShip2.cpp:169-174).
|
|
176
|
+
/**
|
|
177
|
+
* Carbon EveShip2::RebuildCachedData - after geometry load, re-attach
|
|
178
|
+
* turrets to the freshly loaded locators (EveShip2.cpp:169-174).
|
|
159
179
|
*/
|
|
160
180
|
RebuildCachedData(asyncRes) {
|
|
161
181
|
super.RebuildCachedData(asyncRes);
|
|
@@ -181,11 +201,11 @@ class EveShip2 extends _EveMobile {
|
|
|
181
201
|
return super.Initialize?.() ?? true;
|
|
182
202
|
}
|
|
183
203
|
|
|
184
|
-
/**
|
|
185
|
-
* Carbon EveShip2::GetPerObjectData - stamps the booster glow intensity
|
|
186
|
-
* into shipData.x before delegating to the base record
|
|
187
|
-
* (EveShip2.cpp:275-289). The ship-data vec4 is exposed for the
|
|
188
|
-
* per-object values builder.
|
|
204
|
+
/**
|
|
205
|
+
* Carbon EveShip2::GetPerObjectData - stamps the booster glow intensity
|
|
206
|
+
* into shipData.x before delegating to the base record
|
|
207
|
+
* (EveShip2.cpp:275-289). The ship-data vec4 is exposed for the
|
|
208
|
+
* per-object values builder.
|
|
189
209
|
*/
|
|
190
210
|
GetPerObjectData(accumulator = null) {
|
|
191
211
|
this.#spaceObjectShipData[0] = this.boosters?.GetBoosterIntensity?.() ?? 0;
|