@needle-tools/engine 5.1.0-alpha.3 → 5.1.0-alpha.5
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/CHANGELOG.md +68 -0
- package/SKILL.md +4 -1
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-DF01sSGQ.js → needle-engine.bundle-C-LG00ZZ.js} +10681 -10100
- package/dist/needle-engine.bundle-D7tzaiYE.min.js +1733 -0
- package/dist/{needle-engine.bundle-C-ixARur.umd.cjs → needle-engine.bundle-OPkPmdUM.umd.cjs} +161 -161
- package/dist/needle-engine.d.ts +1349 -317
- package/dist/needle-engine.js +556 -555
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/three.js +1 -0
- package/dist/three.min.js +21 -21
- package/dist/three.umd.cjs +16 -16
- package/lib/engine/api.d.ts +5 -0
- package/lib/engine/api.js +4 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/codegen/register_types.js +10 -18
- package/lib/engine/codegen/register_types.js.map +1 -1
- package/lib/engine/engine_camera.fit.js +16 -4
- package/lib/engine/engine_camera.fit.js.map +1 -1
- package/lib/engine/engine_context.d.ts +20 -7
- package/lib/engine/engine_context.js +31 -15
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_context_eventbus.d.ts +47 -0
- package/lib/engine/engine_context_eventbus.js +47 -0
- package/lib/engine/engine_context_eventbus.js.map +1 -0
- package/lib/engine/engine_disposable.d.ts +172 -0
- package/lib/engine/engine_disposable.js +136 -0
- package/lib/engine/engine_disposable.js.map +1 -0
- package/lib/engine/engine_gameobject.d.ts +1 -10
- package/lib/engine/engine_gameobject.js +20 -118
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_gltf_builtin_components.js +7 -69
- package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
- package/lib/engine/engine_input.d.ts +23 -4
- package/lib/engine/engine_input.js +2 -1
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_instantiate_resolve.d.ts +42 -0
- package/lib/engine/engine_instantiate_resolve.js +372 -0
- package/lib/engine/engine_instantiate_resolve.js.map +1 -0
- package/lib/engine/engine_mainloop_utils.js +2 -2
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_networking.d.ts +51 -37
- package/lib/engine/engine_networking.js +132 -82
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_networking.transport.websocket.d.ts +15 -0
- package/lib/engine/engine_networking.transport.websocket.js +38 -0
- package/lib/engine/engine_networking.transport.websocket.js.map +1 -0
- package/lib/engine/engine_networking_instantiate.js +2 -2
- package/lib/engine/engine_networking_instantiate.js.map +1 -1
- package/lib/engine/engine_networking_types.d.ts +39 -1
- package/lib/engine/engine_networking_types.js +7 -0
- package/lib/engine/engine_networking_types.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +21 -3
- package/lib/engine/engine_physics_rapier.js +94 -25
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.js +1 -5
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_serialization_core.d.ts +1 -0
- package/lib/engine/engine_serialization_core.js +7 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_types.d.ts +29 -11
- package/lib/engine/engine_types.js +1 -1
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_util_decorator.js +7 -2
- package/lib/engine/engine_util_decorator.js.map +1 -1
- package/lib/engine/engine_utils.d.ts +1 -1
- package/lib/engine/engine_utils.js +19 -5
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine-components/AnimationBuilder.d.ts +158 -0
- package/lib/engine-components/AnimationBuilder.js +305 -0
- package/lib/engine-components/AnimationBuilder.js.map +1 -0
- package/lib/engine-components/Animator.d.ts +6 -0
- package/lib/engine-components/Animator.js +23 -13
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.builder.d.ts +191 -0
- package/lib/engine-components/AnimatorController.builder.js +263 -0
- package/lib/engine-components/AnimatorController.builder.js.map +1 -0
- package/lib/engine-components/AnimatorController.d.ts +2 -119
- package/lib/engine-components/AnimatorController.js +33 -232
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +18 -9
- package/lib/engine-components/Collider.js +61 -14
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/Component.d.ts +72 -9
- package/lib/engine-components/Component.js +114 -10
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/ContactShadows.d.ts +1 -0
- package/lib/engine-components/ContactShadows.js +14 -1
- package/lib/engine-components/ContactShadows.js.map +1 -1
- package/lib/engine-components/DragControls.js +0 -7
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/DropListener.js +3 -0
- package/lib/engine-components/DropListener.js.map +1 -1
- package/lib/engine-components/EventList.d.ts +31 -9
- package/lib/engine-components/EventList.js +37 -76
- package/lib/engine-components/EventList.js.map +1 -1
- package/lib/engine-components/Joints.d.ts +4 -2
- package/lib/engine-components/Joints.js +19 -3
- package/lib/engine-components/Joints.js.map +1 -1
- package/lib/engine-components/Light.js +9 -1
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +0 -2
- package/lib/engine-components/OrbitControls.js +14 -1
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +12 -4
- package/lib/engine-components/RigidBody.js +18 -4
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.js +3 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/api.d.ts +2 -1
- package/lib/engine-components/api.js +2 -1
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +7 -13
- package/lib/engine-components/codegen/components.js +7 -13
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +21 -11
- package/lib/engine-components/timeline/PlayableDirector.js +75 -67
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/SignalAsset.d.ts +3 -1
- package/lib/engine-components/timeline/SignalAsset.js +1 -0
- package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
- package/lib/engine-components/timeline/TimelineBuilder.d.ts +413 -0
- package/lib/engine-components/timeline/TimelineBuilder.js +506 -0
- package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -0
- package/lib/engine-components/timeline/TimelineModels.d.ts +2 -1
- package/lib/engine-components/timeline/TimelineModels.js +3 -0
- package/lib/engine-components/timeline/TimelineModels.js.map +1 -1
- package/lib/engine-components/timeline/TimelineTracks.d.ts +37 -6
- package/lib/engine-components/timeline/TimelineTracks.js +92 -26
- package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
- package/lib/engine-components/timeline/index.d.ts +2 -1
- package/lib/engine-components/timeline/index.js +2 -0
- package/lib/engine-components/timeline/index.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.d.ts +0 -1
- package/lib/engine-components/web/CursorFollow.js +0 -1
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/package.json +2 -83
- package/plugins/common/cloud.js +6 -1
- package/plugins/common/license.js +5 -2
- package/plugins/common/worker.js +9 -4
- package/plugins/vite/dependencies.js +1 -11
- package/plugins/vite/dependency-watcher.js +2 -2
- package/plugins/vite/editor-connection.js +3 -3
- package/plugins/vite/license.js +19 -1
- package/plugins/vite/reload.js +1 -1
- package/plugins/vite/server.js +2 -1
- package/src/engine/api.ts +7 -0
- package/src/engine/codegen/register_types.ts +10 -18
- package/src/engine/engine_camera.fit.ts +15 -4
- package/src/engine/engine_context.ts +32 -16
- package/src/engine/engine_context_eventbus.ts +73 -0
- package/src/engine/engine_disposable.ts +214 -0
- package/src/engine/engine_gameobject.ts +52 -157
- package/src/engine/engine_gltf_builtin_components.ts +7 -76
- package/src/engine/engine_input.ts +27 -6
- package/src/engine/engine_instantiate_resolve.ts +407 -0
- package/src/engine/engine_mainloop_utils.ts +2 -2
- package/src/engine/engine_networking.transport.websocket.ts +45 -0
- package/src/engine/engine_networking.ts +161 -137
- package/src/engine/engine_networking_instantiate.ts +2 -2
- package/src/engine/engine_networking_types.ts +41 -1
- package/src/engine/engine_physics_rapier.ts +102 -33
- package/src/engine/engine_serialization_builtin_serializer.ts +1 -6
- package/src/engine/engine_serialization_core.ts +9 -0
- package/src/engine/engine_types.ts +46 -27
- package/src/engine/engine_util_decorator.ts +7 -2
- package/src/engine/engine_utils.ts +16 -5
- package/src/engine-components/AnimationBuilder.ts +472 -0
- package/src/engine-components/Animator.ts +24 -12
- package/src/engine-components/AnimatorController.builder.ts +387 -0
- package/src/engine-components/AnimatorController.ts +20 -291
- package/src/engine-components/Collider.ts +66 -18
- package/src/engine-components/Component.ts +118 -20
- package/src/engine-components/ContactShadows.ts +15 -1
- package/src/engine-components/DragControls.ts +0 -9
- package/src/engine-components/DropListener.ts +3 -0
- package/src/engine-components/EventList.ts +45 -83
- package/src/engine-components/Joints.ts +20 -4
- package/src/engine-components/Light.ts +10 -2
- package/src/engine-components/OrbitControls.ts +16 -5
- package/src/engine-components/RigidBody.ts +18 -4
- package/src/engine-components/SceneSwitcher.ts +3 -0
- package/src/engine-components/api.ts +2 -1
- package/src/engine-components/codegen/components.ts +7 -13
- package/src/engine-components/timeline/PlayableDirector.ts +83 -81
- package/src/engine-components/timeline/SignalAsset.ts +4 -1
- package/src/engine-components/timeline/TimelineBuilder.ts +824 -0
- package/src/engine-components/timeline/TimelineModels.ts +5 -1
- package/src/engine-components/timeline/TimelineTracks.ts +96 -27
- package/src/engine-components/timeline/index.ts +2 -1
- package/src/engine-components/web/CursorFollow.ts +0 -1
- package/dist/needle-engine.bundle-CHmXdnE1.min.js +0 -1733
- package/lib/engine-components/AvatarLoader.d.ts +0 -80
- package/lib/engine-components/AvatarLoader.js +0 -232
- package/lib/engine-components/AvatarLoader.js.map +0 -1
- package/lib/engine-components/avatar/AvatarBlink_Simple.d.ts +0 -11
- package/lib/engine-components/avatar/AvatarBlink_Simple.js +0 -77
- package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +0 -1
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.d.ts +0 -14
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js +0 -69
- package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.d.ts +0 -29
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js +0 -122
- package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_MouthShapes.d.ts +0 -15
- package/lib/engine-components/avatar/Avatar_MouthShapes.js +0 -80
- package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +0 -1
- package/lib/engine-components/avatar/Avatar_MustacheShake.d.ts +0 -9
- package/lib/engine-components/avatar/Avatar_MustacheShake.js +0 -30
- package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +0 -1
- package/src/engine-components/AvatarLoader.ts +0 -264
- package/src/engine-components/avatar/AvatarBlink_Simple.ts +0 -70
- package/src/engine-components/avatar/AvatarEyeLook_Rotation.ts +0 -64
- package/src/engine-components/avatar/Avatar_Brain_LookAt.ts +0 -140
- package/src/engine-components/avatar/Avatar_MouthShapes.ts +0 -84
- package/src/engine-components/avatar/Avatar_MustacheShake.ts +0 -32
|
@@ -84,6 +84,36 @@ export class Collider extends Behaviour {
|
|
|
84
84
|
* The layers that this collider will interact with. Used for filtering collision detection.
|
|
85
85
|
*/
|
|
86
86
|
filter;
|
|
87
|
+
/**
|
|
88
|
+
* The density of the collider, used for automatic mass calculation when the attached {@link Rigidbody} has `autoMass` enabled.
|
|
89
|
+
* Rapier computes mass from density using the real-world formula: `mass = density × volume`.
|
|
90
|
+
* The volume is derived from the collider shape (sphere, box, capsule, or convex hull).
|
|
91
|
+
*
|
|
92
|
+
* Reference values (relative to water = 1.0):
|
|
93
|
+
* - Wood: 0.5–0.9
|
|
94
|
+
* - Water: 1.0 (engine default)
|
|
95
|
+
* - Rubber: 1.2
|
|
96
|
+
* - Steel: 7.8
|
|
97
|
+
*
|
|
98
|
+
* @default undefined — uses the physics engine default of 1.0
|
|
99
|
+
*/
|
|
100
|
+
density;
|
|
101
|
+
/** @internal */
|
|
102
|
+
_propertiesDirty = false;
|
|
103
|
+
/** @internal */
|
|
104
|
+
onValidate(_property) {
|
|
105
|
+
if (this.activeAndEnabled) {
|
|
106
|
+
if (_property === "sharedMaterial") {
|
|
107
|
+
this.updatePhysicsMaterial();
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.updateProperties();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this._propertiesDirty = true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
87
117
|
/** @internal */
|
|
88
118
|
awake() {
|
|
89
119
|
super.awake();
|
|
@@ -141,17 +171,25 @@ __decorate([
|
|
|
141
171
|
serializable(Rigidbody)
|
|
142
172
|
], Collider.prototype, "attachedRigidbody", void 0);
|
|
143
173
|
__decorate([
|
|
174
|
+
validate(),
|
|
144
175
|
serializable()
|
|
145
176
|
], Collider.prototype, "isTrigger", void 0);
|
|
146
177
|
__decorate([
|
|
178
|
+
validate(),
|
|
147
179
|
serializable()
|
|
148
180
|
], Collider.prototype, "sharedMaterial", void 0);
|
|
149
181
|
__decorate([
|
|
182
|
+
validate(),
|
|
150
183
|
serializable()
|
|
151
184
|
], Collider.prototype, "membership", void 0);
|
|
152
185
|
__decorate([
|
|
186
|
+
validate(),
|
|
153
187
|
serializable()
|
|
154
188
|
], Collider.prototype, "filter", void 0);
|
|
189
|
+
__decorate([
|
|
190
|
+
validate(),
|
|
191
|
+
serializable()
|
|
192
|
+
], Collider.prototype, "density", void 0);
|
|
155
193
|
/**
|
|
156
194
|
* SphereCollider represents a sphere-shaped collision volume.
|
|
157
195
|
* Efficient and suitable for balls, projectiles, or approximate collision bounds.
|
|
@@ -192,6 +230,11 @@ export class SphereCollider extends Collider {
|
|
|
192
230
|
if (!this.context.physics.engine?.setColliderEnabled(this, true)) {
|
|
193
231
|
this.context.physics.engine?.addSphereCollider(this);
|
|
194
232
|
}
|
|
233
|
+
else if (this._propertiesDirty) {
|
|
234
|
+
this.updateProperties();
|
|
235
|
+
this.updatePhysicsMaterial();
|
|
236
|
+
}
|
|
237
|
+
this._propertiesDirty = false;
|
|
195
238
|
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
196
239
|
}
|
|
197
240
|
/**
|
|
@@ -201,12 +244,6 @@ export class SphereCollider extends Collider {
|
|
|
201
244
|
super.onDisable();
|
|
202
245
|
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
203
246
|
}
|
|
204
|
-
/**
|
|
205
|
-
* Updates collider properties when validated in the editor or inspector.
|
|
206
|
-
*/
|
|
207
|
-
onValidate() {
|
|
208
|
-
this.updateProperties();
|
|
209
|
-
}
|
|
210
247
|
}
|
|
211
248
|
__decorate([
|
|
212
249
|
validate(),
|
|
@@ -275,6 +312,11 @@ export class BoxCollider extends Collider {
|
|
|
275
312
|
if (!this.context.physics.engine?.setColliderEnabled(this, true)) {
|
|
276
313
|
this.context.physics.engine?.addBoxCollider(this, this.size);
|
|
277
314
|
}
|
|
315
|
+
else if (this._propertiesDirty) {
|
|
316
|
+
this.updateProperties();
|
|
317
|
+
this.updatePhysicsMaterial();
|
|
318
|
+
}
|
|
319
|
+
this._propertiesDirty = false;
|
|
278
320
|
watchWrite(this.gameObject.scale, this.updateProperties);
|
|
279
321
|
}
|
|
280
322
|
/**
|
|
@@ -285,13 +327,6 @@ export class BoxCollider extends Collider {
|
|
|
285
327
|
super.onDisable();
|
|
286
328
|
unwatchWrite(this.gameObject.scale, this.updateProperties);
|
|
287
329
|
}
|
|
288
|
-
/**
|
|
289
|
-
* Updates collider properties when validated in the editor or inspector.
|
|
290
|
-
* @internal
|
|
291
|
-
*/
|
|
292
|
-
onValidate() {
|
|
293
|
-
this.updateProperties();
|
|
294
|
-
}
|
|
295
330
|
/**
|
|
296
331
|
* Automatically fits the collider to the geometry of the object.
|
|
297
332
|
* Sets the size and center based on the object's bounding box.
|
|
@@ -367,8 +402,15 @@ export class MeshCollider extends Collider {
|
|
|
367
402
|
if (!this.context.physics.engine)
|
|
368
403
|
return;
|
|
369
404
|
// Re-enable existing collider instead of recreating it
|
|
370
|
-
if (this.context.physics.engine.setColliderEnabled(this, true))
|
|
405
|
+
if (this.context.physics.engine.setColliderEnabled(this, true)) {
|
|
406
|
+
if (this._propertiesDirty) {
|
|
407
|
+
this.updateProperties();
|
|
408
|
+
this.updatePhysicsMaterial();
|
|
409
|
+
}
|
|
410
|
+
this._propertiesDirty = false;
|
|
371
411
|
return;
|
|
412
|
+
}
|
|
413
|
+
this._propertiesDirty = false;
|
|
372
414
|
if (!this.sharedMesh?.isMesh) {
|
|
373
415
|
// HACK using the renderer mesh
|
|
374
416
|
if (this.gameObject instanceof Mesh || this.gameObject instanceof Group) {
|
|
@@ -461,6 +503,11 @@ export class CapsuleCollider extends Collider {
|
|
|
461
503
|
if (!this.context.physics.engine?.setColliderEnabled(this, true)) {
|
|
462
504
|
this.context.physics.engine?.addCapsuleCollider(this, this.height, this.radius);
|
|
463
505
|
}
|
|
506
|
+
else if (this._propertiesDirty) {
|
|
507
|
+
this.updateProperties();
|
|
508
|
+
this.updatePhysicsMaterial();
|
|
509
|
+
}
|
|
510
|
+
this._propertiesDirty = false;
|
|
464
511
|
}
|
|
465
512
|
}
|
|
466
513
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collider.js","sourceRoot":"","sources":["../../src/engine-components/Collider.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAkB,KAAK,EAAE,IAAI,EAAY,OAAO,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAgB,QAAS,SAAQ,SAAS;IAE5C;;;OAGG;IACH,IAAI,UAAU;QACV,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IAEH,iBAAiB,GAAqB,IAAI,CAAC;IAE3C;;;OAGG;
|
|
1
|
+
{"version":3,"file":"Collider.js","sourceRoot":"","sources":["../../src/engine-components/Collider.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@ import { type AssetReference } from "../engine/engine_addressables.js";
|
|
|
3
3
|
import { type IInstantiateOptions } from "../engine/engine_gameobject.js";
|
|
4
4
|
import { SyncInstantiateOptions } from "../engine/engine_networking_instantiate.js";
|
|
5
5
|
import { Context, FrameEvent } from "../engine/engine_setup.js";
|
|
6
|
-
import { $componentName, type Collision, type ComponentInit, type Constructor, type ConstructorConcrete, type
|
|
6
|
+
import { $componentName, type Collision, type ComponentInit, type Constructor, type ConstructorConcrete, type ICollider, type IComponent, type IGameObject, type SourceIdentifier } from "../engine/engine_types.js";
|
|
7
7
|
import type { INeedleXRSessionEventReceiver, NeedleXRControllerEventArgs, NeedleXREventArgs } from "../engine/engine_xr.js";
|
|
8
|
+
import { type IDisposable, type DisposeFn } from "../engine/engine_disposable.js";
|
|
8
9
|
import { type IPointerEventHandler, PointerEventData } from "./ui/PointerEvents.js";
|
|
9
10
|
/**
|
|
10
11
|
* Base class for objects in Needle Engine. Extends {@link Object3D} from three.js.
|
|
@@ -358,7 +359,7 @@ export declare abstract class GameObject extends Object3D implements Object3D, I
|
|
|
358
359
|
* **Input event methods:**
|
|
359
360
|
* {@link onPointerDown}, {@link onPointerUp}, {@link onPointerEnter}, {@link onPointerExit} and {@link onPointerMove}.
|
|
360
361
|
*
|
|
361
|
-
* @example
|
|
362
|
+
* @example Basic component
|
|
362
363
|
* ```typescript
|
|
363
364
|
* import { Behaviour } from "@needle-tools/engine";
|
|
364
365
|
* export class MyComponent extends Behaviour {
|
|
@@ -371,6 +372,25 @@ export declare abstract class GameObject extends Object3D implements Object3D, I
|
|
|
371
372
|
* }
|
|
372
373
|
* ```
|
|
373
374
|
*
|
|
375
|
+
* @example Automatic cleanup with autoCleanup
|
|
376
|
+
* ```typescript
|
|
377
|
+
* import { Behaviour, serializable, EventList } from "@needle-tools/engine";
|
|
378
|
+
* export class ScoreTracker extends Behaviour {
|
|
379
|
+
* @serializable(EventList)
|
|
380
|
+
* onScoreChanged?: EventList<number>;
|
|
381
|
+
*
|
|
382
|
+
* start() {
|
|
383
|
+
* // Registered during start → survives enable/disable, cleaned up on destroy
|
|
384
|
+
* this.autoCleanup(this.onScoreChanged?.on(score => console.log("Score:", score)));
|
|
385
|
+
* }
|
|
386
|
+
*
|
|
387
|
+
* onEnable() {
|
|
388
|
+
* // Registered during onEnable → cleaned up on disable
|
|
389
|
+
* this.autoCleanup(() => this.cleanupResources());
|
|
390
|
+
* }
|
|
391
|
+
* }
|
|
392
|
+
* ```
|
|
393
|
+
*
|
|
374
394
|
* @group Components
|
|
375
395
|
*/
|
|
376
396
|
export declare abstract class Component implements IComponent, EventTarget, Partial<INeedleXRSessionEventReceiver>, Partial<IPointerEventHandler> {
|
|
@@ -425,6 +445,50 @@ export declare abstract class Component implements IComponent, EventTarget, Part
|
|
|
425
445
|
* @returns True if the component is enabled and all parent GameObjects are active
|
|
426
446
|
*/
|
|
427
447
|
get activeAndEnabled(): boolean;
|
|
448
|
+
private __disableCleanups?;
|
|
449
|
+
private __destroyCleanups?;
|
|
450
|
+
/**
|
|
451
|
+
* @experimental
|
|
452
|
+
* Register a resource for automatic cleanup tied to this component's lifecycle.
|
|
453
|
+
* Accepts {@link IDisposable} objects, cleanup functions, or event unsubscribe functions.
|
|
454
|
+
* `null` and `undefined` are safe no-ops (convenient for conditional subscriptions).
|
|
455
|
+
*
|
|
456
|
+
* **Lifecycle-aware:** The cleanup store is chosen automatically based on when `autoCleanup` is called:
|
|
457
|
+
* - Called during {@link onEnable} → cleaned up on {@link onDisable} (and re-registered on re-enable)
|
|
458
|
+
* - Called during {@link awake} or {@link start} → cleaned up on {@link onDestroy} (survives enable/disable cycles)
|
|
459
|
+
* - Called at any other time (e.g. from update) → cleaned up on {@link onDisable}
|
|
460
|
+
*
|
|
461
|
+
* @param disposable An {@link IDisposable}, a cleanup/unsubscribe function, or `null`/`undefined`
|
|
462
|
+
*
|
|
463
|
+
* @example EventList subscriptions
|
|
464
|
+
* ```ts
|
|
465
|
+
* import { Behaviour, serializable, EventList } from "@needle-tools/engine";
|
|
466
|
+
*
|
|
467
|
+
* export class MyComponent extends Behaviour {
|
|
468
|
+
* @serializable(EventList)
|
|
469
|
+
* onScoreChanged?: EventList<number>;
|
|
470
|
+
*
|
|
471
|
+
* onEnable() {
|
|
472
|
+
* this.autoCleanup(this.onScoreChanged?.on(score => {
|
|
473
|
+
* console.log("Score:", score);
|
|
474
|
+
* }));
|
|
475
|
+
* }
|
|
476
|
+
* }
|
|
477
|
+
* ```
|
|
478
|
+
*
|
|
479
|
+
* @example Lifetime subscriptions in awake
|
|
480
|
+
* ```ts
|
|
481
|
+
* import { Behaviour } from "@needle-tools/engine";
|
|
482
|
+
*
|
|
483
|
+
* export class Persistent extends Behaviour {
|
|
484
|
+
* awake() {
|
|
485
|
+
* // Registered during awake → survives enable/disable, cleaned up on destroy
|
|
486
|
+
* this.autoCleanup(() => this.save());
|
|
487
|
+
* }
|
|
488
|
+
* }
|
|
489
|
+
* ```
|
|
490
|
+
*/
|
|
491
|
+
protected autoCleanup(disposable: IDisposable | DisposeFn | Function | null | undefined): void;
|
|
428
492
|
private get __isActive();
|
|
429
493
|
private get __isActiveInHierarchy();
|
|
430
494
|
private set __isActiveInHierarchy(value);
|
|
@@ -443,11 +507,6 @@ export declare abstract class Component implements IComponent, EventTarget, Part
|
|
|
443
507
|
* For example, URL to the glTF file this component was loaded from
|
|
444
508
|
*/
|
|
445
509
|
sourceId?: SourceIdentifier;
|
|
446
|
-
/**
|
|
447
|
-
* Called when this component needs to remap guids after an instantiate operation.
|
|
448
|
-
* @param guidsMap Mapping from old guids to newly generated guids
|
|
449
|
-
*/
|
|
450
|
-
resolveGuids?(guidsMap: GuidsMap): void;
|
|
451
510
|
/**
|
|
452
511
|
* Called once when the component becomes active for the first time.
|
|
453
512
|
* This is the first lifecycle callback to be invoked
|
|
@@ -662,6 +721,10 @@ export declare abstract class Component implements IComponent, EventTarget, Part
|
|
|
662
721
|
protected __didAwake: boolean;
|
|
663
722
|
/** @internal */
|
|
664
723
|
private __didStart;
|
|
724
|
+
/** True while start() has finished executing (used by autoCleanup to distinguish start from update) */
|
|
725
|
+
private __didCompleteStart;
|
|
726
|
+
/** True while onEnable() is executing (used by autoCleanup to route to disable store) */
|
|
727
|
+
private __inEnableOrDisableCallback;
|
|
665
728
|
/** @internal */
|
|
666
729
|
protected __didEnable: boolean;
|
|
667
730
|
/** @internal */
|
|
@@ -685,9 +748,9 @@ export declare abstract class Component implements IComponent, EventTarget, Part
|
|
|
685
748
|
/** @internal */
|
|
686
749
|
__internalStart(): void;
|
|
687
750
|
/** @internal */
|
|
688
|
-
__internalEnable(
|
|
751
|
+
__internalEnable(isHierarchyChange?: boolean): boolean;
|
|
689
752
|
/** @internal */
|
|
690
|
-
__internalDisable(
|
|
753
|
+
__internalDisable(isHierarchyChange?: boolean): void;
|
|
691
754
|
/** @internal */
|
|
692
755
|
__internalDestroy(): void;
|
|
693
756
|
/**
|
|
@@ -10,6 +10,7 @@ import { Context, FrameEvent } from "../engine/engine_setup.js";
|
|
|
10
10
|
import * as threeutils from "../engine/engine_three_utils.js";
|
|
11
11
|
import { $componentName } from "../engine/engine_types.js";
|
|
12
12
|
import { TypeStore } from "../engine/engine_typestore.js";
|
|
13
|
+
import { DisposableStore } from "../engine/engine_disposable.js";
|
|
13
14
|
// export interface ISerializationCallbackReceiver {
|
|
14
15
|
// onBeforeSerialize?(): object | void;
|
|
15
16
|
// onAfterSerialize?();
|
|
@@ -391,7 +392,7 @@ export class GameObject extends Object3D {
|
|
|
391
392
|
* **Input event methods:**
|
|
392
393
|
* {@link onPointerDown}, {@link onPointerUp}, {@link onPointerEnter}, {@link onPointerExit} and {@link onPointerMove}.
|
|
393
394
|
*
|
|
394
|
-
* @example
|
|
395
|
+
* @example Basic component
|
|
395
396
|
* ```typescript
|
|
396
397
|
* import { Behaviour } from "@needle-tools/engine";
|
|
397
398
|
* export class MyComponent extends Behaviour {
|
|
@@ -404,6 +405,25 @@ export class GameObject extends Object3D {
|
|
|
404
405
|
* }
|
|
405
406
|
* ```
|
|
406
407
|
*
|
|
408
|
+
* @example Automatic cleanup with autoCleanup
|
|
409
|
+
* ```typescript
|
|
410
|
+
* import { Behaviour, serializable, EventList } from "@needle-tools/engine";
|
|
411
|
+
* export class ScoreTracker extends Behaviour {
|
|
412
|
+
* @serializable(EventList)
|
|
413
|
+
* onScoreChanged?: EventList<number>;
|
|
414
|
+
*
|
|
415
|
+
* start() {
|
|
416
|
+
* // Registered during start → survives enable/disable, cleaned up on destroy
|
|
417
|
+
* this.autoCleanup(this.onScoreChanged?.on(score => console.log("Score:", score)));
|
|
418
|
+
* }
|
|
419
|
+
*
|
|
420
|
+
* onEnable() {
|
|
421
|
+
* // Registered during onEnable → cleaned up on disable
|
|
422
|
+
* this.autoCleanup(() => this.cleanupResources());
|
|
423
|
+
* }
|
|
424
|
+
* }
|
|
425
|
+
* ```
|
|
426
|
+
*
|
|
407
427
|
* @group Components
|
|
408
428
|
*/
|
|
409
429
|
export class Component {
|
|
@@ -513,6 +533,75 @@ export class Component {
|
|
|
513
533
|
// while (go);
|
|
514
534
|
return true;
|
|
515
535
|
}
|
|
536
|
+
__disableCleanups;
|
|
537
|
+
__destroyCleanups;
|
|
538
|
+
/**
|
|
539
|
+
* @experimental
|
|
540
|
+
* Register a resource for automatic cleanup tied to this component's lifecycle.
|
|
541
|
+
* Accepts {@link IDisposable} objects, cleanup functions, or event unsubscribe functions.
|
|
542
|
+
* `null` and `undefined` are safe no-ops (convenient for conditional subscriptions).
|
|
543
|
+
*
|
|
544
|
+
* **Lifecycle-aware:** The cleanup store is chosen automatically based on when `autoCleanup` is called:
|
|
545
|
+
* - Called during {@link onEnable} → cleaned up on {@link onDisable} (and re-registered on re-enable)
|
|
546
|
+
* - Called during {@link awake} or {@link start} → cleaned up on {@link onDestroy} (survives enable/disable cycles)
|
|
547
|
+
* - Called at any other time (e.g. from update) → cleaned up on {@link onDisable}
|
|
548
|
+
*
|
|
549
|
+
* @param disposable An {@link IDisposable}, a cleanup/unsubscribe function, or `null`/`undefined`
|
|
550
|
+
*
|
|
551
|
+
* @example EventList subscriptions
|
|
552
|
+
* ```ts
|
|
553
|
+
* import { Behaviour, serializable, EventList } from "@needle-tools/engine";
|
|
554
|
+
*
|
|
555
|
+
* export class MyComponent extends Behaviour {
|
|
556
|
+
* @serializable(EventList)
|
|
557
|
+
* onScoreChanged?: EventList<number>;
|
|
558
|
+
*
|
|
559
|
+
* onEnable() {
|
|
560
|
+
* this.autoCleanup(this.onScoreChanged?.on(score => {
|
|
561
|
+
* console.log("Score:", score);
|
|
562
|
+
* }));
|
|
563
|
+
* }
|
|
564
|
+
* }
|
|
565
|
+
* ```
|
|
566
|
+
*
|
|
567
|
+
* @example Lifetime subscriptions in awake
|
|
568
|
+
* ```ts
|
|
569
|
+
* import { Behaviour } from "@needle-tools/engine";
|
|
570
|
+
*
|
|
571
|
+
* export class Persistent extends Behaviour {
|
|
572
|
+
* awake() {
|
|
573
|
+
* // Registered during awake → survives enable/disable, cleaned up on destroy
|
|
574
|
+
* this.autoCleanup(() => this.save());
|
|
575
|
+
* }
|
|
576
|
+
* }
|
|
577
|
+
* ```
|
|
578
|
+
*/
|
|
579
|
+
autoCleanup(disposable) {
|
|
580
|
+
if (!disposable) {
|
|
581
|
+
if (isDevEnvironment()) {
|
|
582
|
+
console.warn(`[Component] autoCleanup called with null or undefined, no cleanup registered. This is safe, but you may want to check if this was intentional (${this[$componentName] || this.constructor.name})`);
|
|
583
|
+
}
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
// During onEnable → cleaned up on disable
|
|
587
|
+
if (this.__inEnableOrDisableCallback) {
|
|
588
|
+
if (!this.__disableCleanups)
|
|
589
|
+
this.__disableCleanups = new DisposableStore();
|
|
590
|
+
this.__disableCleanups.add(disposable);
|
|
591
|
+
}
|
|
592
|
+
// During awake or start → cleaned up on destroy
|
|
593
|
+
else if (!this.__didCompleteStart) {
|
|
594
|
+
if (!this.__destroyCleanups)
|
|
595
|
+
this.__destroyCleanups = new DisposableStore();
|
|
596
|
+
this.__destroyCleanups.add(disposable);
|
|
597
|
+
}
|
|
598
|
+
// After start (update, etc.) → cleaned up on disable
|
|
599
|
+
else {
|
|
600
|
+
if (!this.__disableCleanups)
|
|
601
|
+
this.__disableCleanups = new DisposableStore();
|
|
602
|
+
this.__disableCleanups.add(disposable);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
516
605
|
get __isActive() {
|
|
517
606
|
return this.gameObject.visible;
|
|
518
607
|
}
|
|
@@ -629,6 +718,10 @@ export class Component {
|
|
|
629
718
|
__didAwake = false;
|
|
630
719
|
/** @internal */
|
|
631
720
|
__didStart = false;
|
|
721
|
+
/** True while start() has finished executing (used by autoCleanup to distinguish start from update) */
|
|
722
|
+
__didCompleteStart = false;
|
|
723
|
+
/** True while onEnable() is executing (used by autoCleanup to route to disable store) */
|
|
724
|
+
__inEnableOrDisableCallback = false;
|
|
632
725
|
/** @internal */
|
|
633
726
|
__didEnable = false;
|
|
634
727
|
/** @internal */
|
|
@@ -641,6 +734,8 @@ export class Component {
|
|
|
641
734
|
constructor(init) {
|
|
642
735
|
this.__didAwake = false;
|
|
643
736
|
this.__didStart = false;
|
|
737
|
+
this.__didCompleteStart = false;
|
|
738
|
+
this.__inEnableOrDisableCallback = false;
|
|
644
739
|
this.__didEnable = false;
|
|
645
740
|
this.__isEnabled = undefined;
|
|
646
741
|
this.__destroyed = false;
|
|
@@ -652,6 +747,8 @@ export class Component {
|
|
|
652
747
|
__internalNewInstanceCreated(init) {
|
|
653
748
|
this.__didAwake = false;
|
|
654
749
|
this.__didStart = false;
|
|
750
|
+
this.__didCompleteStart = false;
|
|
751
|
+
this.__inEnableOrDisableCallback = false;
|
|
655
752
|
this.__didEnable = false;
|
|
656
753
|
this.__isEnabled = undefined;
|
|
657
754
|
this.__destroyed = false;
|
|
@@ -688,9 +785,10 @@ export class Component {
|
|
|
688
785
|
this.__didStart = true;
|
|
689
786
|
if (this.start)
|
|
690
787
|
this.start();
|
|
788
|
+
this.__didCompleteStart = true;
|
|
691
789
|
}
|
|
692
790
|
/** @internal */
|
|
693
|
-
__internalEnable(
|
|
791
|
+
__internalEnable(isHierarchyChange) {
|
|
694
792
|
if (this.__destroyed) {
|
|
695
793
|
if (isDevEnvironment()) {
|
|
696
794
|
console.warn("[Needle Engine Dev] Trying to enable destroyed component");
|
|
@@ -702,33 +800,38 @@ export class Component {
|
|
|
702
800
|
if (!this.__didAwake)
|
|
703
801
|
return false;
|
|
704
802
|
if (this.__didEnable) {
|
|
705
|
-
//
|
|
706
|
-
|
|
707
|
-
if (isAddingToScene !== true)
|
|
803
|
+
// Don't change __isEnabled for hierarchy-driven changes (e.g. adding to scene, visibility)
|
|
804
|
+
if (isHierarchyChange !== true)
|
|
708
805
|
this.__isEnabled = true;
|
|
709
806
|
return false;
|
|
710
807
|
}
|
|
711
|
-
// console.trace("INTERNAL ENABLE");
|
|
712
808
|
this.__didEnable = true;
|
|
713
809
|
this.__isEnabled = true;
|
|
810
|
+
this.__inEnableOrDisableCallback = true;
|
|
714
811
|
this.onEnable();
|
|
812
|
+
this.__inEnableOrDisableCallback = false;
|
|
715
813
|
return true;
|
|
716
814
|
}
|
|
717
815
|
/** @internal */
|
|
718
|
-
__internalDisable(
|
|
816
|
+
__internalDisable(isHierarchyChange) {
|
|
719
817
|
// Don't change enable before awake
|
|
720
818
|
// But a user can change enable during awake
|
|
721
819
|
if (!this.__didAwake)
|
|
722
820
|
return;
|
|
723
821
|
if (!this.__didEnable) {
|
|
724
|
-
//
|
|
725
|
-
if (
|
|
822
|
+
// Don't change __isEnabled for hierarchy-driven changes (e.g. removing from scene, visibility)
|
|
823
|
+
if (isHierarchyChange !== true)
|
|
726
824
|
this.__isEnabled = false;
|
|
727
825
|
return;
|
|
728
826
|
}
|
|
729
827
|
this.__didEnable = false;
|
|
730
|
-
|
|
828
|
+
// Don't change __isEnabled for hierarchy-driven changes — the component itself is still "enabled"
|
|
829
|
+
if (isHierarchyChange !== true)
|
|
830
|
+
this.__isEnabled = false;
|
|
831
|
+
this.__inEnableOrDisableCallback = true;
|
|
731
832
|
this.onDisable();
|
|
833
|
+
this.__disableCleanups?.dispose();
|
|
834
|
+
this.__inEnableOrDisableCallback = false;
|
|
732
835
|
}
|
|
733
836
|
/** @internal */
|
|
734
837
|
__internalDestroy() {
|
|
@@ -737,6 +840,7 @@ export class Component {
|
|
|
737
840
|
this.__destroyed = true;
|
|
738
841
|
if (this.__didAwake) {
|
|
739
842
|
this.onDestroy?.call(this);
|
|
843
|
+
this.__destroyCleanups?.dispose();
|
|
740
844
|
this.dispatchEvent(new CustomEvent("destroyed", { detail: this }));
|
|
741
845
|
}
|
|
742
846
|
destroyComponentInstance(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/engine-components/Component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.js","sourceRoot":"","sources":["../../src/engine-components/Component.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,7 @@ export declare class ContactShadows extends Behaviour {
|
|
|
98
98
|
set needsUpdate(val: boolean);
|
|
99
99
|
get needsUpdate(): boolean;
|
|
100
100
|
private _needsUpdate;
|
|
101
|
+
private _needsFit;
|
|
101
102
|
/** All shadow objects are parented to this object.
|
|
102
103
|
* The gameObject itself should not be transformed because we want the ContactShadows object e.g. also have a GroundProjectedEnv component
|
|
103
104
|
* in which case ContactShadows scale would affect the projection
|