@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
|
@@ -8,6 +8,7 @@ import { io, type, carbon, impl, schema } from '@carbonenginejs/core-types/schem
|
|
|
8
8
|
import { EveChildTransform as _EveChildTransform, applyTransformModifiers } from './EveChildTransform.js';
|
|
9
9
|
import { EveChildInheritProperties as _EveChildInheritPrope } from './EveChildInheritProperties.js';
|
|
10
10
|
import { EveChildUpdateParams as _EveChildUpdateParams } from '../EveChildUpdateParams.js';
|
|
11
|
+
import { EveComponentType } from '../EveComponentTypes.js';
|
|
11
12
|
import { Origin } from '../../generated/eve/child/enums.js';
|
|
12
13
|
import { Tr2RenderReason, TR2SHADERMODEL } from '../../generated/trinityCore/enums.js';
|
|
13
14
|
import { Tr2Lod } from '../EveLODHelper.js';
|
|
@@ -28,7 +29,7 @@ new class extends _identity {
|
|
|
28
29
|
} = _applyDecs2311(this, [type.define({
|
|
29
30
|
className: "EveChildContainer",
|
|
30
31
|
family: "eve/child"
|
|
31
|
-
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("DisplayQualityModifier")], 16, "displayFilter"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "objects"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.persist, type, type.boolean], 16, "alwaysOn"], [[io, io.persist, type, type.boolean], 16, "updateOnDisplay"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.persist, void 0, type.list("IEveFxAttribute")], 16, "fxAttributes"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "useStaticRotation"], [[io, io.persist, type, type.boolean], 16, "useStaticScale"], [[io, io.persist, void 0, type.objectRef("ITr2GrannyAnimationOwner")], 16, "animationOwner"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[io, io.persist, type, type.boolean], 16, "isPlacementRoot"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Registry re-registration on display/displayFilter changes is engine-owned; the mute fan-out side effect is ported.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetDisplayQualityModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMute"], [[carbon, carbon.method, impl, impl.implemented], 18, "MuteChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAnimationOwner"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetIsPlacementRoot"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "Empty"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("The GPU bone ring buffer, task-group dispatch, per-object VS/PS struct refresh, and the Granny bone-list override are engine/animation seams; the CPU update fan-out is ported.")], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The animationOwner bone list for attachments awaits the animation seam (bones pass as null); the visibility fan-out is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and the bone ring upload are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer shader-model global; the browser runtime stamps EveChildContainer.shaderModel (default TR2SM_3_0_DEPTH, the DX11 depth path EVE ships).")], 18, "IsRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsUpdating"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayAllCurveSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopAllCurveSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurveSetDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRangeDuration"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The bool + float& out-param pair collapses to value-or-null in JS.")], 18, "GetControllerValueByName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldVelocity"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOwnerMaxSpeed"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"]], 0, void 0, _EveChildTransform));
|
|
32
|
+
})], [[[io, io.notify, io, io.persist, type, type.int32, void 0, schema.enum("DisplayQualityModifier")], 16, "displayFilter"], [[io, io.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "objects"], [[io, io.persist, void 0, type.list("IEveChildTransformModifier")], 16, "transformModifiers"], [[io, io.persist, void 0, type.list("TriCurveSet")], 16, "curveSets"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[io, io.notify, io, io.readwrite, type, type.boolean], 16, "mute"], [[io, io.notify, io, io.persist, type, type.boolean], 16, "display"], [[io, io.persist, type, type.string], 16, "name"], [[io, io.persist, type, type.vec3], 16, "translation"], [[io, io.persist, type, type.quat], 16, "rotation"], [[io, io.persist, type, type.vec3], 16, "scaling"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.persist, type, type.boolean], 16, "staticTransform"], [[io, io.persist, type, type.boolean], 16, "alwaysOn"], [[io, io.persist, type, type.boolean], 16, "updateOnDisplay"], [[io, io.persist, void 0, type.list("IEveSpaceObjectAttachment")], 16, "attachments"], [[io, io.persist, void 0, type.list("TriObserverLocal")], 16, "observers"], [[io, io.persist, void 0, type.list("IEveFxAttribute")], 16, "fxAttributes"], [[io, io.persist, void 0, type.list("Tr2Light")], 16, "lights"], [[io, io.persist, void 0, type.list("ITr2Controller")], 16, "controllers"], [[io, io.persist, void 0, type.objectRef("EveChildInheritProperties")], 16, "inheritProperties"], [[io, io.persist, type, type.boolean], 16, "useSRT"], [[io, io.persist, type, type.boolean], 16, "useStaticRotation"], [[io, io.persist, type, type.boolean], 16, "useStaticScale"], [[io, io.persist, void 0, type.objectRef("ITr2GrannyAnimationOwner")], 16, "animationOwner"], [[io, io.persist, type, type.int32, void 0, schema.enum("Origin")], 16, "origin"], [[io, io.persist, type, type.boolean], 16, "isPlacementRoot"], [[carbon, carbon.method, impl, impl.adapted], 18, "Initialize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Registry re-registration on display/displayFilter changes is engine-owned; the mute fan-out side effect is ported.")], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "Setup"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetName"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetOrigin"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsAlwaysOn"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetDisplayQualityModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetMute"], [[carbon, carbon.method, impl, impl.implemented], 18, "MuteChildren"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddTransformModifier"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddObserver"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddController"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetControllerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "HandleControllerEvent"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartControllers"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetProceduralContainerVariable"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetEffectChildByName"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddToEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "RemoveFromEffectChildrenList"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetAnimationOwner"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetIsPlacementRoot"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddAttachment"], [[carbon, carbon.method, impl, impl.implemented], 18, "ClearAttachments"], [[carbon, carbon.method, impl, impl.implemented], 18, "Empty"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, void 0, carbon.contextual(["camera"]), impl, impl.adapted, void 0, impl.reason("The GPU bone ring buffer, task-group dispatch, per-object VS/PS struct refresh, and the Granny bone-list override are engine/animation seams; the CPU update fan-out is ported.")], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The animationOwner bone list for attachments awaits the animation seam (bones pass as null); the visibility fan-out is ported.")], 18, "UpdateVisibility"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBoundingSphere"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLocalToWorldTransform"], [[carbon, carbon.method, impl, impl.implemented], 18, "ChangeLOD"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetLights"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasTransparentBatches"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetSortValue"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Persistent VS/PS device buffers and the bone ring upload are engine-owned; the record carries the object reference the engine serializer consumes.")], 18, "GetPerObjectData"], [[carbon, carbon.method, impl, impl.implemented], 18, "HasRenderables"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon reads the Tr2Renderer shader-model global; the browser runtime stamps EveChildContainer.shaderModel (default TR2SM_3_0_DEPTH, the DX11 depth path EVE ships).")], 18, "IsRendering"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsUpdating"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateCurveSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "PlayAllCurveSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "StopAllCurveSets"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetCurveSetDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRangeDuration"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The bool + float& out-param pair collapses to value-or-null in JS.")], 18, "GetControllerValueByName"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetWorldVelocity"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetOwnerMaxSpeed"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetInheritProperties"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSoundEmitter"]], 0, void 0, _EveChildTransform));
|
|
32
33
|
}
|
|
33
34
|
displayFilter = (_initProto(this), _init_displayFilter(this, 5));
|
|
34
35
|
objects = (_init_extra_displayFilter(this), _init_objects(this, []));
|
|
@@ -78,9 +79,9 @@ new class extends _identity {
|
|
|
78
79
|
return true;
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
/** Carbon EveChildContainer::OnModified (cpp:76-88): display/displayFilter
|
|
82
|
-
* changes re-register with the scene component registry (engine-owned,
|
|
83
|
-
* omitted); a mute change fans out to children and observers. The value
|
|
82
|
+
/** Carbon EveChildContainer::OnModified (cpp:76-88): display/displayFilter
|
|
83
|
+
* changes re-register with the scene component registry (engine-owned,
|
|
84
|
+
* omitted); a mute change fans out to children and observers. The value
|
|
84
85
|
* argument follows the repo's OnModified duck (field name or field value). */
|
|
85
86
|
OnModified(value = null) {
|
|
86
87
|
if (value === "mute" || value === this.mute) {
|
|
@@ -218,13 +219,13 @@ new class extends _identity {
|
|
|
218
219
|
return this.objects.length === 0 && this.lights.length === 0 && this.attachments.length === 0 && this.controllers.length === 0 && this.curveSets.length === 0 && this.transformModifiers.length === 0 && this.observers.length === 0;
|
|
219
220
|
}
|
|
220
221
|
|
|
221
|
-
/**
|
|
222
|
-
* Sync-side frame update (Carbon EveChildContainer::UpdateSyncronous,
|
|
223
|
-
* cpp:496-518): gate on IsUpdating, remember the owner max speed, then
|
|
224
|
-
* recurse into the children with childParent params rebased onto this
|
|
225
|
-
* container's world transform, and refresh the local observers.
|
|
226
|
-
* @param {Object} updateContext - frame context (EveUpdateContext)
|
|
227
|
-
* @param {EveChildUpdateParams} params
|
|
222
|
+
/**
|
|
223
|
+
* Sync-side frame update (Carbon EveChildContainer::UpdateSyncronous,
|
|
224
|
+
* cpp:496-518): gate on IsUpdating, remember the owner max speed, then
|
|
225
|
+
* recurse into the children with childParent params rebased onto this
|
|
226
|
+
* container's world transform, and refresh the local observers.
|
|
227
|
+
* @param {Object} updateContext - frame context (EveUpdateContext)
|
|
228
|
+
* @param {EveChildUpdateParams} params
|
|
228
229
|
*/
|
|
229
230
|
UpdateSyncronous(updateContext, params) {
|
|
230
231
|
if (!this.IsUpdating()) {
|
|
@@ -243,18 +244,18 @@ new class extends _identity {
|
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
246
|
|
|
246
|
-
/**
|
|
247
|
-
* Per-frame async update (Carbon EveChildContainer::UpdateAsyncronous +
|
|
248
|
-
* DoUpdateAsyncronous, cpp:520-641): rebuild the world transform from the
|
|
249
|
-
* parent, tick the controllers, fold the transform modifiers, then recurse
|
|
250
|
-
* into the children with childParent params, update the curve sets and fx
|
|
251
|
-
* attributes, and refresh light/attachment bone state. Carbon's wrapper
|
|
252
|
-
* advances the GPU bone ring buffer and may dispatch the body onto the
|
|
253
|
-
* placement task group (cpp:522-538) - both engine-owned, so the JS port
|
|
254
|
-
* runs the DoUpdateAsyncronous body inline behind the same IsUpdating gate.
|
|
255
|
-
* @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers
|
|
256
|
-
* @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones
|
|
257
|
-
* @returns {Float32Array} worldTransform
|
|
247
|
+
/**
|
|
248
|
+
* Per-frame async update (Carbon EveChildContainer::UpdateAsyncronous +
|
|
249
|
+
* DoUpdateAsyncronous, cpp:520-641): rebuild the world transform from the
|
|
250
|
+
* parent, tick the controllers, fold the transform modifiers, then recurse
|
|
251
|
+
* into the children with childParent params, update the curve sets and fx
|
|
252
|
+
* attributes, and refresh light/attachment bone state. Carbon's wrapper
|
|
253
|
+
* advances the GPU bone ring buffer and may dispatch the body onto the
|
|
254
|
+
* placement task group (cpp:522-538) - both engine-owned, so the JS port
|
|
255
|
+
* runs the DoUpdateAsyncronous body inline behind the same IsUpdating gate.
|
|
256
|
+
* @param {Object} updateContext - frame context (EveUpdateContext), threaded to modifiers
|
|
257
|
+
* @param {EveChildUpdateParams} params - localToWorldTransform + boneCount/bones
|
|
258
|
+
* @returns {Float32Array} worldTransform
|
|
258
259
|
*/
|
|
259
260
|
UpdateAsyncronous(updateContext, params) {
|
|
260
261
|
if (!this.IsUpdating()) {
|
|
@@ -329,15 +330,15 @@ new class extends _identity {
|
|
|
329
330
|
return this.worldTransform;
|
|
330
331
|
}
|
|
331
332
|
|
|
332
|
-
/**
|
|
333
|
-
* Frame visibility fan-out (Carbon EveChildContainer::UpdateVisibility,
|
|
334
|
-
* cpp:379-410): gate on display/IsUpdating, recurse into the children with
|
|
335
|
-
* the unchanged parent transform/LOD, then refresh attachment visibility
|
|
336
|
-
* against this container's world transform.
|
|
337
|
-
* @param {Object} updateContext - frame context (frustum ducks)
|
|
338
|
-
* @param {Float32Array} parentTransform
|
|
339
|
-
* @param {Number} parentLod - parent Tr2Lod level
|
|
340
|
-
* @returns {Boolean} whether the fan-out ran
|
|
333
|
+
/**
|
|
334
|
+
* Frame visibility fan-out (Carbon EveChildContainer::UpdateVisibility,
|
|
335
|
+
* cpp:379-410): gate on display/IsUpdating, recurse into the children with
|
|
336
|
+
* the unchanged parent transform/LOD, then refresh attachment visibility
|
|
337
|
+
* against this container's world transform.
|
|
338
|
+
* @param {Object} updateContext - frame context (frustum ducks)
|
|
339
|
+
* @param {Float32Array} parentTransform
|
|
340
|
+
* @param {Number} parentLod - parent Tr2Lod level
|
|
341
|
+
* @returns {Boolean} whether the fan-out ran
|
|
341
342
|
*/
|
|
342
343
|
UpdateVisibility(updateContext, parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH) {
|
|
343
344
|
if (!this.display) {
|
|
@@ -357,7 +358,7 @@ new class extends _identity {
|
|
|
357
358
|
return true;
|
|
358
359
|
}
|
|
359
360
|
|
|
360
|
-
/** Carbon EveChildContainer::GetRenderables (cpp:412-432): the container
|
|
361
|
+
/** Carbon EveChildContainer::GetRenderables (cpp:412-432): the container
|
|
361
362
|
* itself renders only when it owns attachments; children always recurse. */
|
|
362
363
|
GetRenderables(out = []) {
|
|
363
364
|
if (!this.display || !this.#hasUpdated) {
|
|
@@ -375,10 +376,10 @@ new class extends _identity {
|
|
|
375
376
|
return out;
|
|
376
377
|
}
|
|
377
378
|
|
|
378
|
-
/** Carbon EveChildContainer::GetBoundingSphere (cpp:434-452): the union of
|
|
379
|
-
* the children's spheres (BoundingSphereSetOrUpdate -> sph3.union). The
|
|
380
|
-
* child sphere is a per-call local rather than module scratch because
|
|
381
|
-
* containers nest - a shared scratch would be clobbered between recursion
|
|
379
|
+
/** Carbon EveChildContainer::GetBoundingSphere (cpp:434-452): the union of
|
|
380
|
+
* the children's spheres (BoundingSphereSetOrUpdate -> sph3.union). The
|
|
381
|
+
* child sphere is a per-call local rather than module scratch because
|
|
382
|
+
* containers nest - a shared scratch would be clobbered between recursion
|
|
382
383
|
* levels; this is a bounds query, not the per-frame update hot path. */
|
|
383
384
|
GetBoundingSphere(out = vec4.create(), _query = 0) {
|
|
384
385
|
if (!this.IsUpdating()) {
|
|
@@ -399,7 +400,7 @@ new class extends _identity {
|
|
|
399
400
|
return success;
|
|
400
401
|
}
|
|
401
402
|
|
|
402
|
-
/** Carbon EveChildContainer::GetLocalToWorldTransform (cpp:644-647); the
|
|
403
|
+
/** Carbon EveChildContainer::GetLocalToWorldTransform (cpp:644-647); the
|
|
403
404
|
* optional out follows the EveChildInstancedMeshes copy-out shape. */
|
|
404
405
|
GetLocalToWorldTransform(out = null) {
|
|
405
406
|
if (out) {
|
|
@@ -415,9 +416,9 @@ new class extends _identity {
|
|
|
415
416
|
}
|
|
416
417
|
}
|
|
417
418
|
|
|
418
|
-
/** Carbon EveChildContainer::GetLights (cpp:657-675): each light is added
|
|
419
|
-
* with the container world transform and the average basis-length scaling
|
|
420
|
-
* ((|X| + |Y| + |Z|) / 3 of the world basis rows - single-matrix reads, no
|
|
419
|
+
/** Carbon EveChildContainer::GetLights (cpp:657-675): each light is added
|
|
420
|
+
* with the container world transform and the average basis-length scaling
|
|
421
|
+
* ((|X| + |Y| + |Z|) / 3 of the world basis rows - single-matrix reads, no
|
|
421
422
|
* composition). The light manager is duck-typed. */
|
|
422
423
|
GetLights(lightManager) {
|
|
423
424
|
if (!this.display || !this.#hasUpdated) {
|
|
@@ -433,9 +434,9 @@ new class extends _identity {
|
|
|
433
434
|
}
|
|
434
435
|
}
|
|
435
436
|
|
|
436
|
-
/** Carbon EveChildContainer::GetBatches (cpp:1134-1143): attachments only,
|
|
437
|
-
* gated on display, the NORMAL render reason, and a non-zero activation
|
|
438
|
-
* strength. Returns whether any batch was committed (JS addition; Carbon
|
|
437
|
+
/** Carbon EveChildContainer::GetBatches (cpp:1134-1143): attachments only,
|
|
438
|
+
* gated on display, the NORMAL render reason, and a non-zero activation
|
|
439
|
+
* strength. Returns whether any batch was committed (JS addition; Carbon
|
|
439
440
|
* returns void). */
|
|
440
441
|
GetBatches(batches, batchType, perObjectData, reason = Tr2RenderReason.TR2RENDERREASON_NORMAL) {
|
|
441
442
|
if (!this.display || reason !== Tr2RenderReason.TR2RENDERREASON_NORMAL || this.#activationStrength === 0) {
|
|
@@ -458,10 +459,10 @@ new class extends _identity {
|
|
|
458
459
|
return 0;
|
|
459
460
|
}
|
|
460
461
|
|
|
461
|
-
/** Carbon EveChildContainer::GetPerObjectData (cpp:1180-1203) uploads the
|
|
462
|
-
* animationOwner bone palette into the GPU ring buffer and allocates
|
|
463
|
-
* Tr2PerObjectDataWithPersistentBuffers; both are GPU seams, so the GPU-free
|
|
464
|
-
* record carries the live object reference for the engine serializer
|
|
462
|
+
/** Carbon EveChildContainer::GetPerObjectData (cpp:1180-1203) uploads the
|
|
463
|
+
* animationOwner bone palette into the GPU ring buffer and allocates
|
|
464
|
+
* Tr2PerObjectDataWithPersistentBuffers; both are GPU seams, so the GPU-free
|
|
465
|
+
* record carries the live object reference for the engine serializer
|
|
465
466
|
* (mirrors EveSpaceObject2.GetPerObjectData). */
|
|
466
467
|
GetPerObjectData(accumulator = null) {
|
|
467
468
|
const data = typeof accumulator?.Allocate === "function" ? accumulator.Allocate(Tr2PerObjectData) : new Tr2PerObjectData();
|
|
@@ -469,13 +470,13 @@ new class extends _identity {
|
|
|
469
470
|
return data;
|
|
470
471
|
}
|
|
471
472
|
|
|
472
|
-
/** Carbon EveChildContainer::HasRenderables (cpp:1129-1132): the container
|
|
473
|
+
/** Carbon EveChildContainer::HasRenderables (cpp:1129-1132): the container
|
|
473
474
|
* renders only for its attachments. */
|
|
474
475
|
HasRenderables() {
|
|
475
476
|
return this.attachments.length > 0;
|
|
476
477
|
}
|
|
477
478
|
|
|
478
|
-
/** Carbon EveChildContainer::IsRendering (cpp:334-362): whether the current
|
|
479
|
+
/** Carbon EveChildContainer::IsRendering (cpp:334-362): whether the current
|
|
479
480
|
* shader model passes this container's display filter. */
|
|
480
481
|
IsRendering() {
|
|
481
482
|
const settings = _EveChildContainer.shaderModel;
|
|
@@ -507,7 +508,41 @@ new class extends _identity {
|
|
|
507
508
|
return (this.display || !this.updateOnDisplay) && (this.IsRendering() || this.displayFilter === _EveChildContainer.DisplayQualityModifier.ONLY_REFLECTIONS);
|
|
508
509
|
}
|
|
509
510
|
|
|
510
|
-
/** Carbon EveChildContainer::
|
|
511
|
+
/** Carbon EveChildContainer::RegisterComponents (cpp:258-284): LightOwner
|
|
512
|
+
* when lights are authored, then forwards the contained objects and the
|
|
513
|
+
* attachments. Gate m_display && IsUpdating(). */
|
|
514
|
+
RegisterComponents() {
|
|
515
|
+
const registry = this.GetComponentRegistry();
|
|
516
|
+
if (registry && this.display && this.IsUpdating()) {
|
|
517
|
+
if (this.lights.length) {
|
|
518
|
+
registry.RegisterComponent(EveComponentType.LightOwner, this);
|
|
519
|
+
}
|
|
520
|
+
for (const object of this.objects) {
|
|
521
|
+
object?.Register?.(registry);
|
|
522
|
+
}
|
|
523
|
+
for (const attachment of this.attachments) {
|
|
524
|
+
attachment?.Register?.(registry);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
/** Carbon EveChildContainer::UnRegisterComponents (cpp:290-311): forwards
|
|
530
|
+
* the contained objects and attachments only (own components were already
|
|
531
|
+
* removed by EveEntity::UnRegister, EveEntity.cpp:90); no display/IsUpdating
|
|
532
|
+
* re-check. */
|
|
533
|
+
UnRegisterComponents() {
|
|
534
|
+
const registry = this.GetComponentRegistry();
|
|
535
|
+
if (registry) {
|
|
536
|
+
for (const object of this.objects) {
|
|
537
|
+
object?.UnRegister?.(registry);
|
|
538
|
+
}
|
|
539
|
+
for (const attachment of this.attachments) {
|
|
540
|
+
attachment?.UnRegister?.(registry);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
/** Carbon EveChildContainer::PlayCurveSet (cpp:682-712): named own sets play
|
|
511
546
|
* (or play a named range); children recurse via the curve-set-owner duck. */
|
|
512
547
|
PlayCurveSet(name, rangeName = "") {
|
|
513
548
|
if (!this.IsUpdating()) {
|
|
@@ -546,7 +581,7 @@ new class extends _identity {
|
|
|
546
581
|
}
|
|
547
582
|
}
|
|
548
583
|
|
|
549
|
-
/** Carbon EveChildContainer::UpdateCurveSet (cpp:770-786): samples matching
|
|
584
|
+
/** Carbon EveChildContainer::UpdateCurveSet (cpp:770-786): samples matching
|
|
550
585
|
* own and child sets at an explicit time (both clocks, as Carbon does). */
|
|
551
586
|
UpdateCurveSet(name, time) {
|
|
552
587
|
const target = String(name ?? "");
|
|
@@ -560,7 +595,7 @@ new class extends _identity {
|
|
|
560
595
|
}
|
|
561
596
|
}
|
|
562
597
|
|
|
563
|
-
/** Carbon EveChildContainer::PlayAllCurveSets (cpp:714-728): children
|
|
598
|
+
/** Carbon EveChildContainer::PlayAllCurveSets (cpp:714-728): children
|
|
564
599
|
* first, then every own set. */
|
|
565
600
|
PlayAllCurveSets() {
|
|
566
601
|
for (const child of this.objects) {
|
|
@@ -581,7 +616,7 @@ new class extends _identity {
|
|
|
581
616
|
}
|
|
582
617
|
}
|
|
583
618
|
|
|
584
|
-
/** Carbon EveChildContainer::GetCurveSetDuration (cpp:788-813): maximum
|
|
619
|
+
/** Carbon EveChildContainer::GetCurveSetDuration (cpp:788-813): maximum
|
|
585
620
|
* GetMaxCurveDuration over matching own and child sets. */
|
|
586
621
|
GetCurveSetDuration(name) {
|
|
587
622
|
if (!this.IsUpdating()) {
|
|
@@ -600,7 +635,7 @@ new class extends _identity {
|
|
|
600
635
|
return duration;
|
|
601
636
|
}
|
|
602
637
|
|
|
603
|
-
/** Carbon EveChildContainer::GetRangeDuration (cpp:815-840): maximum named
|
|
638
|
+
/** Carbon EveChildContainer::GetRangeDuration (cpp:815-840): maximum named
|
|
604
639
|
* range duration over matching own and child sets. */
|
|
605
640
|
GetRangeDuration(name, rangeName) {
|
|
606
641
|
if (!this.IsUpdating()) {
|
|
@@ -619,8 +654,8 @@ new class extends _identity {
|
|
|
619
654
|
return duration;
|
|
620
655
|
}
|
|
621
656
|
|
|
622
|
-
/** Carbon EveChildContainer::GetControllerValueByName (cpp:1083-1098):
|
|
623
|
-
* Carbon returns bool with a float& out; the JS port returns the value or
|
|
657
|
+
/** Carbon EveChildContainer::GetControllerValueByName (cpp:1083-1098):
|
|
658
|
+
* Carbon returns bool with a float& out; the JS port returns the value or
|
|
624
659
|
* null when no controller exposes the named float variable. */
|
|
625
660
|
GetControllerValueByName(name) {
|
|
626
661
|
const key = String(name ?? "");
|
|
@@ -643,8 +678,8 @@ new class extends _identity {
|
|
|
643
678
|
return this.#ownerMaxSpeed;
|
|
644
679
|
}
|
|
645
680
|
|
|
646
|
-
/** Carbon EveChildContainer::SetInheritProperties (cpp:1017-1040): lazily
|
|
647
|
-
* creates the property holder, then fans the color set out to children and
|
|
681
|
+
/** Carbon EveChildContainer::SetInheritProperties (cpp:1017-1040): lazily
|
|
682
|
+
* creates the property holder, then fans the color set out to children and
|
|
648
683
|
* lights. */
|
|
649
684
|
SetInheritProperties(colorSet) {
|
|
650
685
|
if (!this.inheritProperties) {
|
|
@@ -659,7 +694,7 @@ new class extends _identity {
|
|
|
659
694
|
}
|
|
660
695
|
}
|
|
661
696
|
|
|
662
|
-
/** Carbon EveChildContainer::FindSoundEmitter (cpp:1042-1066): named local
|
|
697
|
+
/** Carbon EveChildContainer::FindSoundEmitter (cpp:1042-1066): named local
|
|
663
698
|
* observers first, then duck-typed recursion into the children. */
|
|
664
699
|
FindSoundEmitter(name) {
|
|
665
700
|
const target = String(name ?? "");
|