@needle-tools/engine 5.1.0-alpha.4 → 5.1.0-alpha.6
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 +39 -0
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-DQCuBTVp.umd.cjs → needle-engine.bundle-5avtTUMM.umd.cjs} +149 -148
- package/dist/{needle-engine.bundle-AjVIot3d.min.js → needle-engine.bundle-BHcw4C8f.min.js} +187 -186
- package/dist/{needle-engine.bundle-B7cqsI4c.js → needle-engine.bundle-C0gPOq4m.js} +7522 -7092
- package/dist/needle-engine.d.ts +715 -176
- package/dist/needle-engine.js +595 -593
- 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 +3 -1
- package/lib/engine/api.js +3 -1
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/codegen/register_types.js +10 -10
- 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 +36 -14
- 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_init.js +2 -2
- package/lib/engine/engine_init.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_license.d.ts +7 -7
- package/lib/engine/engine_license.js +185 -57
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_networking_blob.js +3 -3
- package/lib/engine/engine_networking_blob.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +10 -0
- package/lib/engine/engine_physics_rapier.js +6 -0
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_types.d.ts +10 -0
- package/lib/engine/engine_utils_qrcode.js +2 -2
- package/lib/engine/engine_utils_qrcode.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +5 -5
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +2 -2
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.loading.js +2 -2
- package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
- package/lib/engine/xr/TempXRContext.js +2 -2
- package/lib/engine/xr/TempXRContext.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.js +6 -1
- package/lib/engine-components/Animator.js.map +1 -1
- package/lib/engine-components/AnimatorController.builder.d.ts +101 -23
- package/lib/engine-components/AnimatorController.builder.js +88 -20
- package/lib/engine-components/AnimatorController.builder.js.map +1 -1
- package/lib/engine-components/AnimatorController.js +2 -0
- package/lib/engine-components/AnimatorController.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/DropListener.js +3 -0
- package/lib/engine-components/DropListener.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/SceneSwitcher.js +3 -0
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/api.d.ts +1 -0
- package/lib/engine-components/api.js +1 -0
- package/lib/engine-components/api.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +6 -6
- package/lib/engine-components/codegen/components.js +6 -6
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +4 -4
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +7 -7
- package/lib/engine-components/timeline/PlayableDirector.js +6 -6
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineBuilder.d.ts +175 -9
- package/lib/engine-components/timeline/TimelineBuilder.js +108 -2
- package/lib/engine-components/timeline/TimelineBuilder.js.map +1 -1
- package/lib/engine-components/timeline/TimelineTracks.d.ts +15 -7
- package/lib/engine-components/timeline/TimelineTracks.js +22 -14
- package/lib/engine-components/timeline/TimelineTracks.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/lib/engine-components/webxr/WebXRImageTracking.d.ts +62 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +55 -2
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/package.json +1 -1
- package/plugins/common/cloud.js +6 -1
- package/plugins/common/license.js +26 -8
- package/plugins/vite/license.js +42 -7
- package/src/engine/api.ts +4 -1
- package/src/engine/codegen/register_types.ts +10 -10
- package/src/engine/engine_camera.fit.ts +15 -4
- package/src/engine/engine_context.ts +41 -16
- package/src/engine/engine_context_eventbus.ts +73 -0
- package/src/engine/engine_init.ts +2 -2
- package/src/engine/engine_input.ts +27 -6
- package/src/engine/engine_license.ts +201 -55
- package/src/engine/engine_networking_blob.ts +3 -3
- package/src/engine/engine_physics_rapier.ts +20 -6
- package/src/engine/engine_types.ts +22 -12
- package/src/engine/engine_utils_qrcode.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +2 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +5 -5
- package/src/engine/webcomponents/needle-engine.loading.ts +6 -6
- package/src/engine/webcomponents/needle-engine.ts +2 -2
- package/src/engine/xr/TempXRContext.ts +2 -2
- package/src/engine-components/AnimationBuilder.ts +472 -0
- package/src/engine-components/Animator.ts +6 -1
- package/src/engine-components/AnimatorController.builder.ts +163 -37
- package/src/engine-components/AnimatorController.ts +1 -0
- package/src/engine-components/ContactShadows.ts +15 -1
- package/src/engine-components/DropListener.ts +3 -0
- package/src/engine-components/OrbitControls.ts +16 -5
- package/src/engine-components/SceneSwitcher.ts +3 -0
- package/src/engine-components/api.ts +1 -0
- package/src/engine-components/codegen/components.ts +6 -6
- package/src/engine-components/export/usdz/USDZExporter.ts +4 -4
- package/src/engine-components/timeline/PlayableDirector.ts +20 -20
- package/src/engine-components/timeline/TimelineBuilder.ts +277 -17
- package/src/engine-components/timeline/TimelineTracks.ts +24 -16
- package/src/engine-components/web/CursorFollow.ts +0 -1
- package/src/engine-components/webxr/WebXRImageTracking.ts +77 -7
- package/src/vite-env.d.ts +0 -16
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { AnimationClip, Object3D } from "three";
|
|
2
|
+
import type { Light, Material, PerspectiveCamera } from "three";
|
|
2
3
|
import type { Animator } from "../Animator.js";
|
|
3
4
|
import type { AudioSource } from "../AudioSource.js";
|
|
5
|
+
import { type TrackDescriptor, type TrackOptions, type AnimationKeyframe, type Tween, type Vec3Value, type QuatValue, type EulerValue, type ColorValue } from "../AnimationBuilder.js";
|
|
6
|
+
/** Keyframe array or tween shorthand */
|
|
7
|
+
type KF<V> = AnimationKeyframe<V>[] | Tween<V>;
|
|
4
8
|
import { SignalReceiver } from "./SignalAsset.js";
|
|
5
9
|
import type { PlayableDirector } from "./PlayableDirector.js";
|
|
6
10
|
import { ClipExtrapolation } from "./TimelineModels.js";
|
|
@@ -86,6 +90,116 @@ export declare type SignalMarkerOptions = {
|
|
|
86
90
|
/** Whether the signal should only fire once (default: false) */
|
|
87
91
|
emitOnce?: boolean;
|
|
88
92
|
};
|
|
93
|
+
/**
|
|
94
|
+
* Shared methods available on all track builders and the TimelineBuilder entry point.
|
|
95
|
+
* Provides track creation, build, and install methods.
|
|
96
|
+
*
|
|
97
|
+
* @category Animation and Sequencing
|
|
98
|
+
*/
|
|
99
|
+
export interface TimelineBuilderBase {
|
|
100
|
+
/** Adds an animation track. Chain `.clip()` or `.track()` to add content. */
|
|
101
|
+
animationTrack(name: string, binding?: Animator | Object3D | null): AnimationTrackBuilder;
|
|
102
|
+
/** Adds an audio track. Chain `.clip()` to add audio clips. */
|
|
103
|
+
audioTrack(name: string, binding?: AudioSource | Object3D | null, volume?: number): AudioTrackBuilder;
|
|
104
|
+
/** Adds an activation track. Chain `.clip()` to define activation windows. */
|
|
105
|
+
activationTrack(name: string, binding?: Object3D | null): ActivationTrackBuilder;
|
|
106
|
+
/** Adds a control track. Chain `.clip()` to control nested objects/timelines. */
|
|
107
|
+
controlTrack(name: string): ControlTrackBuilder;
|
|
108
|
+
/** Adds a signal track. Chain `.signal()` or `.marker()` to add events. */
|
|
109
|
+
signalTrack(name: string, binding?: SignalReceiver | Object3D | null): SignalTrackBuilder;
|
|
110
|
+
/** Adds a marker track. Chain `.marker()` to add markers. */
|
|
111
|
+
markerTrack(name: string): MarkerTrackBuilder;
|
|
112
|
+
/** Builds and returns the {@link TimelineAssetModel}. */
|
|
113
|
+
build(): TimelineAssetModel;
|
|
114
|
+
/** Builds the timeline, assigns it to the director, and wires up signal callbacks. */
|
|
115
|
+
install(director: PlayableDirector): TimelineAssetModel;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Builder for animation tracks.
|
|
119
|
+
* Provides `.clip()` for pre-built AnimationClips and `.track()` for inline animation definition.
|
|
120
|
+
*
|
|
121
|
+
* @category Animation and Sequencing
|
|
122
|
+
*/
|
|
123
|
+
export interface AnimationTrackBuilder extends TimelineBuilderBase {
|
|
124
|
+
/** Adds a pre-built AnimationClip */
|
|
125
|
+
clip(asset: AnimationClip, options?: AnimationClipOptions): AnimationTrackBuilder;
|
|
126
|
+
/** Adds a clip from a single {@link TrackDescriptor} */
|
|
127
|
+
clip(descriptor: TrackDescriptor, options?: AnimationClipOptions): AnimationTrackBuilder;
|
|
128
|
+
/** Adds a clip from multiple {@link TrackDescriptor}s */
|
|
129
|
+
clip(descriptors: TrackDescriptor[], options?: AnimationClipOptions): AnimationTrackBuilder;
|
|
130
|
+
/** Adds an animation track for an Object3D's position or scale */
|
|
131
|
+
track(target: Object3D, property: "position" | "scale", keyframes: KF<Vec3Value>, options?: TrackOptions): AnimationTrackBuilder;
|
|
132
|
+
/** Adds an animation track for an Object3D's quaternion */
|
|
133
|
+
track(target: Object3D, property: "quaternion", keyframes: KF<QuatValue>, options?: TrackOptions): AnimationTrackBuilder;
|
|
134
|
+
/** Adds an animation track for an Object3D's rotation (Euler, converted to quaternion) */
|
|
135
|
+
track(target: Object3D, property: "rotation", keyframes: KF<EulerValue>, options?: TrackOptions): AnimationTrackBuilder;
|
|
136
|
+
/** Adds an animation track for an Object3D's visibility */
|
|
137
|
+
track(target: Object3D, property: "visible", keyframes: KF<boolean>, options?: TrackOptions): AnimationTrackBuilder;
|
|
138
|
+
/** Adds an animation track for a material's numeric property */
|
|
139
|
+
track(target: Material, property: "opacity" | "roughness" | "metalness" | "alphaTest" | "emissiveIntensity" | "envMapIntensity" | "bumpScale" | "displacementScale" | "displacementBias", keyframes: KF<number>, options?: TrackOptions): AnimationTrackBuilder;
|
|
140
|
+
/** Adds an animation track for a material's color property */
|
|
141
|
+
track(target: Material, property: "color" | "emissive", keyframes: KF<ColorValue>, options?: TrackOptions): AnimationTrackBuilder;
|
|
142
|
+
/** Adds an animation track for a light's numeric property */
|
|
143
|
+
track(target: Light, property: "intensity" | "distance" | "angle" | "penumbra" | "decay", keyframes: KF<number>, options?: TrackOptions): AnimationTrackBuilder;
|
|
144
|
+
/** Adds an animation track for a light's color */
|
|
145
|
+
track(target: Light, property: "color", keyframes: KF<ColorValue>, options?: TrackOptions): AnimationTrackBuilder;
|
|
146
|
+
/** Adds an animation track for a camera's numeric property */
|
|
147
|
+
track(target: PerspectiveCamera, property: "fov" | "near" | "far" | "zoom", keyframes: KF<number>, options?: TrackOptions): AnimationTrackBuilder;
|
|
148
|
+
/** Mutes this track so it is skipped during playback */
|
|
149
|
+
muted(muted?: boolean): AnimationTrackBuilder;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Builder for audio tracks. Provides `.clip()` for adding audio clips by URL.
|
|
153
|
+
* @category Animation and Sequencing
|
|
154
|
+
*/
|
|
155
|
+
export interface AudioTrackBuilder extends TimelineBuilderBase {
|
|
156
|
+
/** Adds an audio clip by URL */
|
|
157
|
+
clip(url: string, options: AudioClipOptions): AudioTrackBuilder;
|
|
158
|
+
/** Mutes this track so it is skipped during playback */
|
|
159
|
+
muted(muted?: boolean): AudioTrackBuilder;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Builder for activation tracks. Provides `.clip()` for defining activation windows.
|
|
163
|
+
* @category Animation and Sequencing
|
|
164
|
+
*/
|
|
165
|
+
export interface ActivationTrackBuilder extends TimelineBuilderBase {
|
|
166
|
+
/** Adds an activation clip that shows/hides the bound object */
|
|
167
|
+
clip(options: ActivationClipOptions): ActivationTrackBuilder;
|
|
168
|
+
/** Mutes this track so it is skipped during playback */
|
|
169
|
+
muted(muted?: boolean): ActivationTrackBuilder;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Builder for control tracks. Provides `.clip()` for controlling nested objects/timelines.
|
|
173
|
+
* @category Animation and Sequencing
|
|
174
|
+
*/
|
|
175
|
+
export interface ControlTrackBuilder extends TimelineBuilderBase {
|
|
176
|
+
/** Adds a control clip for a source object */
|
|
177
|
+
clip(sourceObject: Object3D, options: ControlClipOptions): ControlTrackBuilder;
|
|
178
|
+
/** Mutes this track so it is skipped during playback */
|
|
179
|
+
muted(muted?: boolean): ControlTrackBuilder;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Builder for signal tracks. Provides `.signal()` for callback-based signals and `.marker()` for asset-based markers.
|
|
183
|
+
* @category Animation and Sequencing
|
|
184
|
+
*/
|
|
185
|
+
export interface SignalTrackBuilder extends TimelineBuilderBase {
|
|
186
|
+
/** Adds a signal with a callback that fires at the given time */
|
|
187
|
+
signal(time: number, callback: Function, options?: SignalMarkerOptions): SignalTrackBuilder;
|
|
188
|
+
/** Adds a signal marker referencing a signal asset by guid */
|
|
189
|
+
marker(time: number, asset: string, options?: SignalMarkerOptions): SignalTrackBuilder;
|
|
190
|
+
/** Mutes this track so it is skipped during playback */
|
|
191
|
+
muted(muted?: boolean): SignalTrackBuilder;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Builder for marker tracks. Provides `.marker()` for adding markers.
|
|
195
|
+
* @category Animation and Sequencing
|
|
196
|
+
*/
|
|
197
|
+
export interface MarkerTrackBuilder extends TimelineBuilderBase {
|
|
198
|
+
/** Adds a marker referencing a signal asset by guid */
|
|
199
|
+
marker(time: number, asset: string, options?: SignalMarkerOptions): MarkerTrackBuilder;
|
|
200
|
+
/** Mutes this track so it is skipped during playback */
|
|
201
|
+
muted(muted?: boolean): MarkerTrackBuilder;
|
|
202
|
+
}
|
|
89
203
|
/**
|
|
90
204
|
* A fluent builder for creating timeline assets ({@link TimelineAssetModel}) from code.
|
|
91
205
|
*
|
|
@@ -107,6 +221,19 @@ export declare type SignalMarkerOptions = {
|
|
|
107
221
|
* director.play();
|
|
108
222
|
* ```
|
|
109
223
|
*
|
|
224
|
+
* @example With inline tracks (no pre-built clips needed)
|
|
225
|
+
* ```ts
|
|
226
|
+
* TimelineBuilder.create("DoorSequence")
|
|
227
|
+
* .animationTrack("Door", door)
|
|
228
|
+
* .track(door, "position", { from: [0, 0, 0], to: [2, 0, 0], duration: 1 })
|
|
229
|
+
* .track(light, "intensity", { from: 0, to: 5, duration: 1 })
|
|
230
|
+
* .signalTrack("Events")
|
|
231
|
+
* .signal(0.5, () => playSound("creak"))
|
|
232
|
+
* .install(director);
|
|
233
|
+
*
|
|
234
|
+
* director.play();
|
|
235
|
+
* ```
|
|
236
|
+
*
|
|
110
237
|
* @example Using install() with signal callbacks
|
|
111
238
|
* ```ts
|
|
112
239
|
* TimelineBuilder.create("WithSignals")
|
|
@@ -135,51 +262,69 @@ export declare class TimelineBuilder {
|
|
|
135
262
|
* @param name - Name for the timeline asset
|
|
136
263
|
* @param seed - Optional numeric seed for deterministic guid generation. Defaults to `Date.now()`.
|
|
137
264
|
*/
|
|
138
|
-
static create(name?: string, seed?: number):
|
|
265
|
+
static create(name?: string, seed?: number): TimelineBuilderBase;
|
|
139
266
|
/**
|
|
140
|
-
* Adds an animation track.
|
|
267
|
+
* Adds an animation track. Chain `.clip()` calls to add pre-built clips,
|
|
268
|
+
* or chain `.track()` calls to define animation data inline:
|
|
269
|
+
*
|
|
270
|
+
* @example With pre-built AnimationClip
|
|
271
|
+
* ```ts
|
|
272
|
+
* .animationTrack("Character", animator)
|
|
273
|
+
* .clip(walkClip, { duration: 2, easeIn: 0.3 })
|
|
274
|
+
* .clip(runClip, { duration: 3 })
|
|
275
|
+
* ```
|
|
276
|
+
*
|
|
277
|
+
* @example With inline tracks
|
|
278
|
+
* ```ts
|
|
279
|
+
* .animationTrack("Door", door)
|
|
280
|
+
* .track(door, "position", { from: [0, 0, 0], to: [2, 0, 0], duration: 1 })
|
|
281
|
+
* .track(light, "intensity", { from: 0, to: 5, duration: 1 })
|
|
282
|
+
* ```
|
|
283
|
+
*
|
|
141
284
|
* @param name - Display name for the track
|
|
142
285
|
* @param binding - The Animator or Object3D to animate
|
|
143
286
|
*/
|
|
144
|
-
animationTrack(name: string, binding?: Animator | Object3D | null):
|
|
287
|
+
animationTrack(name: string, binding?: Animator | Object3D | null): AnimationTrackBuilder;
|
|
145
288
|
/**
|
|
146
289
|
* Adds an audio track. Subsequent `.clip()` calls add audio clips to this track.
|
|
147
290
|
* @param name - Display name for the track
|
|
148
291
|
* @param binding - The AudioSource to play audio on (optional)
|
|
149
292
|
* @param volume - Track volume multiplier (default: 1)
|
|
150
293
|
*/
|
|
151
|
-
audioTrack(name: string, binding?: AudioSource | Object3D | null, volume?: number):
|
|
294
|
+
audioTrack(name: string, binding?: AudioSource | Object3D | null, volume?: number): AudioTrackBuilder;
|
|
152
295
|
/**
|
|
153
296
|
* Adds an activation track. Subsequent `.clip()` calls define when the bound object is active.
|
|
154
297
|
* @param name - Display name for the track
|
|
155
298
|
* @param binding - The Object3D to show/hide
|
|
156
299
|
*/
|
|
157
|
-
activationTrack(name: string, binding?: Object3D | null):
|
|
300
|
+
activationTrack(name: string, binding?: Object3D | null): ActivationTrackBuilder;
|
|
158
301
|
/**
|
|
159
302
|
* Adds a control track. Subsequent `.clip()` calls control nested timelines or objects.
|
|
160
303
|
* @param name - Display name for the track
|
|
161
304
|
*/
|
|
162
|
-
controlTrack(name: string):
|
|
305
|
+
controlTrack(name: string): ControlTrackBuilder;
|
|
163
306
|
/**
|
|
164
307
|
* Adds a signal track. Use `.signal()` or `.marker()` to add signal markers.
|
|
165
308
|
* @param name - Display name for the track
|
|
166
309
|
* @param binding - The SignalReceiver component (optional — if using `.signal()` with callbacks, one is created automatically by {@link install})
|
|
167
310
|
*/
|
|
168
|
-
signalTrack(name: string, binding?: SignalReceiver | Object3D | null):
|
|
311
|
+
signalTrack(name: string, binding?: SignalReceiver | Object3D | null): SignalTrackBuilder;
|
|
169
312
|
/**
|
|
170
313
|
* Adds a marker track. Use `.marker()` to add markers.
|
|
171
314
|
* @param name - Display name for the track
|
|
172
315
|
*/
|
|
173
|
-
markerTrack(name: string):
|
|
316
|
+
markerTrack(name: string): MarkerTrackBuilder;
|
|
174
317
|
/**
|
|
175
318
|
* Adds a clip to the current track. The clip type must match the track type.
|
|
176
319
|
*
|
|
177
|
-
* - On an **animation track**: pass an `AnimationClip` and optional {@link AnimationClipOptions}
|
|
320
|
+
* - On an **animation track**: pass an `AnimationClip`, a {@link TrackDescriptor}, or a `TrackDescriptor[]` — and optional {@link AnimationClipOptions}
|
|
178
321
|
* - On an **audio track**: pass a clip URL (string) and {@link AudioClipOptions}
|
|
179
322
|
* - On an **activation track**: pass {@link ActivationClipOptions}
|
|
180
323
|
* - On a **control track**: pass an Object3D and {@link ControlClipOptions}
|
|
181
324
|
*/
|
|
182
325
|
clip(asset: AnimationClip, options?: AnimationClipOptions): this;
|
|
326
|
+
clip(descriptor: TrackDescriptor, options?: AnimationClipOptions): this;
|
|
327
|
+
clip(descriptors: TrackDescriptor[], options?: AnimationClipOptions): this;
|
|
183
328
|
clip(url: string, options: AudioClipOptions): this;
|
|
184
329
|
clip(options: ActivationClipOptions): this;
|
|
185
330
|
clip(sourceObject: Object3D, options: ControlClipOptions): this;
|
|
@@ -214,6 +359,24 @@ export declare class TimelineBuilder {
|
|
|
214
359
|
* Mutes the current track so it is skipped during playback.
|
|
215
360
|
*/
|
|
216
361
|
muted(muted?: boolean): this;
|
|
362
|
+
/** Adds an animation track descriptor for an Object3D's position or scale to the current animation track */
|
|
363
|
+
track(target: Object3D, property: "position" | "scale", keyframes: KF<Vec3Value>, options?: TrackOptions): this;
|
|
364
|
+
/** Adds an animation track descriptor for an Object3D's quaternion to the current animation track */
|
|
365
|
+
track(target: Object3D, property: "quaternion", keyframes: KF<QuatValue>, options?: TrackOptions): this;
|
|
366
|
+
/** Adds an animation track descriptor for an Object3D's rotation (Euler, converted to quaternion) to the current animation track */
|
|
367
|
+
track(target: Object3D, property: "rotation", keyframes: KF<EulerValue>, options?: TrackOptions): this;
|
|
368
|
+
/** Adds an animation track descriptor for an Object3D's visibility to the current animation track */
|
|
369
|
+
track(target: Object3D, property: "visible", keyframes: KF<boolean>, options?: TrackOptions): this;
|
|
370
|
+
/** Adds an animation track descriptor for a material's numeric property to the current animation track */
|
|
371
|
+
track(target: Material, property: "opacity" | "roughness" | "metalness" | "alphaTest" | "emissiveIntensity" | "envMapIntensity" | "bumpScale" | "displacementScale" | "displacementBias", keyframes: KF<number>, options?: TrackOptions): this;
|
|
372
|
+
/** Adds an animation track descriptor for a material's color property to the current animation track */
|
|
373
|
+
track(target: Material, property: "color" | "emissive", keyframes: KF<ColorValue>, options?: TrackOptions): this;
|
|
374
|
+
/** Adds an animation track descriptor for a light's numeric property to the current animation track */
|
|
375
|
+
track(target: Light, property: "intensity" | "distance" | "angle" | "penumbra" | "decay", keyframes: KF<number>, options?: TrackOptions): this;
|
|
376
|
+
/** Adds an animation track descriptor for a light's color to the current animation track */
|
|
377
|
+
track(target: Light, property: "color", keyframes: KF<ColorValue>, options?: TrackOptions): this;
|
|
378
|
+
/** Adds an animation track descriptor for a camera's numeric property to the current animation track */
|
|
379
|
+
track(target: PerspectiveCamera, property: "fov" | "near" | "far" | "zoom", keyframes: KF<number>, options?: TrackOptions): this;
|
|
217
380
|
/**
|
|
218
381
|
* Builds and returns the {@link TimelineAssetModel}.
|
|
219
382
|
* Assign the result to `PlayableDirector.playableAsset` to play it.
|
|
@@ -244,4 +407,7 @@ export declare class TimelineBuilder {
|
|
|
244
407
|
*/
|
|
245
408
|
install(director: PlayableDirector): TimelineAssetModel;
|
|
246
409
|
private pushTrack;
|
|
410
|
+
/** Commits any pending `.track()` descriptors on the current animation track into a clip */
|
|
411
|
+
private commitInlineTracks;
|
|
247
412
|
}
|
|
413
|
+
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { AnimationClip, Object3D } from "three";
|
|
1
2
|
import { GameObject } from "../Component.js";
|
|
2
3
|
import { InstantiateIdProvider } from "../../engine/engine_networking_instantiate.js";
|
|
3
4
|
import { EventList } from "../EventList.js";
|
|
5
|
+
import { resolveToClip, track as trackFn } from "../AnimationBuilder.js";
|
|
4
6
|
import { SignalAsset, SignalReceiver, SignalReceiverEvent } from "./SignalAsset.js";
|
|
5
7
|
import { ClipExtrapolation, TrackType } from "./TimelineModels.js";
|
|
6
8
|
import { MarkerType } from "./TimelineModels.js";
|
|
@@ -25,6 +27,19 @@ import { MarkerType } from "./TimelineModels.js";
|
|
|
25
27
|
* director.play();
|
|
26
28
|
* ```
|
|
27
29
|
*
|
|
30
|
+
* @example With inline tracks (no pre-built clips needed)
|
|
31
|
+
* ```ts
|
|
32
|
+
* TimelineBuilder.create("DoorSequence")
|
|
33
|
+
* .animationTrack("Door", door)
|
|
34
|
+
* .track(door, "position", { from: [0, 0, 0], to: [2, 0, 0], duration: 1 })
|
|
35
|
+
* .track(light, "intensity", { from: 0, to: 5, duration: 1 })
|
|
36
|
+
* .signalTrack("Events")
|
|
37
|
+
* .signal(0.5, () => playSound("creak"))
|
|
38
|
+
* .install(director);
|
|
39
|
+
*
|
|
40
|
+
* director.play();
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
28
43
|
* @example Using install() with signal callbacks
|
|
29
44
|
* ```ts
|
|
30
45
|
* TimelineBuilder.create("WithSignals")
|
|
@@ -61,11 +76,28 @@ export class TimelineBuilder {
|
|
|
61
76
|
}
|
|
62
77
|
// #region Track creation
|
|
63
78
|
/**
|
|
64
|
-
* Adds an animation track.
|
|
79
|
+
* Adds an animation track. Chain `.clip()` calls to add pre-built clips,
|
|
80
|
+
* or chain `.track()` calls to define animation data inline:
|
|
81
|
+
*
|
|
82
|
+
* @example With pre-built AnimationClip
|
|
83
|
+
* ```ts
|
|
84
|
+
* .animationTrack("Character", animator)
|
|
85
|
+
* .clip(walkClip, { duration: 2, easeIn: 0.3 })
|
|
86
|
+
* .clip(runClip, { duration: 3 })
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @example With inline tracks
|
|
90
|
+
* ```ts
|
|
91
|
+
* .animationTrack("Door", door)
|
|
92
|
+
* .track(door, "position", { from: [0, 0, 0], to: [2, 0, 0], duration: 1 })
|
|
93
|
+
* .track(light, "intensity", { from: 0, to: 5, duration: 1 })
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
65
96
|
* @param name - Display name for the track
|
|
66
97
|
* @param binding - The Animator or Object3D to animate
|
|
67
98
|
*/
|
|
68
99
|
animationTrack(name, binding) {
|
|
100
|
+
this.commitInlineTracks();
|
|
69
101
|
this._currentTrack = this.pushTrack(name, TrackType.Animation, binding ?? null);
|
|
70
102
|
return this;
|
|
71
103
|
}
|
|
@@ -76,6 +108,7 @@ export class TimelineBuilder {
|
|
|
76
108
|
* @param volume - Track volume multiplier (default: 1)
|
|
77
109
|
*/
|
|
78
110
|
audioTrack(name, binding, volume) {
|
|
111
|
+
this.commitInlineTracks();
|
|
79
112
|
this._currentTrack = this.pushTrack(name, TrackType.Audio, binding ?? null);
|
|
80
113
|
this._currentTrack.volume = volume;
|
|
81
114
|
return this;
|
|
@@ -86,6 +119,7 @@ export class TimelineBuilder {
|
|
|
86
119
|
* @param binding - The Object3D to show/hide
|
|
87
120
|
*/
|
|
88
121
|
activationTrack(name, binding) {
|
|
122
|
+
this.commitInlineTracks();
|
|
89
123
|
this._currentTrack = this.pushTrack(name, TrackType.Activation, binding ?? null);
|
|
90
124
|
return this;
|
|
91
125
|
}
|
|
@@ -94,6 +128,7 @@ export class TimelineBuilder {
|
|
|
94
128
|
* @param name - Display name for the track
|
|
95
129
|
*/
|
|
96
130
|
controlTrack(name) {
|
|
131
|
+
this.commitInlineTracks();
|
|
97
132
|
this._currentTrack = this.pushTrack(name, TrackType.Control, null);
|
|
98
133
|
return this;
|
|
99
134
|
}
|
|
@@ -103,6 +138,7 @@ export class TimelineBuilder {
|
|
|
103
138
|
* @param binding - The SignalReceiver component (optional — if using `.signal()` with callbacks, one is created automatically by {@link install})
|
|
104
139
|
*/
|
|
105
140
|
signalTrack(name, binding) {
|
|
141
|
+
this.commitInlineTracks();
|
|
106
142
|
this._currentTrack = this.pushTrack(name, TrackType.Signal, binding ?? null);
|
|
107
143
|
return this;
|
|
108
144
|
}
|
|
@@ -111,16 +147,31 @@ export class TimelineBuilder {
|
|
|
111
147
|
* @param name - Display name for the track
|
|
112
148
|
*/
|
|
113
149
|
markerTrack(name) {
|
|
150
|
+
this.commitInlineTracks();
|
|
114
151
|
this._currentTrack = this.pushTrack(name, TrackType.Marker, null);
|
|
115
152
|
return this;
|
|
116
153
|
}
|
|
117
154
|
clip(assetOrOptions, options) {
|
|
118
155
|
if (!this._currentTrack)
|
|
119
156
|
throw new Error("TimelineBuilder: .clip() must be called after a track method (e.g. .animationTrack())");
|
|
157
|
+
this.commitInlineTracks();
|
|
120
158
|
const track = this._currentTrack;
|
|
121
159
|
switch (track.type) {
|
|
122
160
|
case TrackType.Animation: {
|
|
123
|
-
|
|
161
|
+
// Resolve TrackDescriptor(s) to AnimationClip if needed
|
|
162
|
+
let animClip;
|
|
163
|
+
if (assetOrOptions instanceof AnimationClip) {
|
|
164
|
+
animClip = assetOrOptions;
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
const descriptors = Array.isArray(assetOrOptions) ? assetOrOptions : [assetOrOptions];
|
|
168
|
+
// Use the track's binding as root for resolution
|
|
169
|
+
const binding = track.outputs[0];
|
|
170
|
+
const root = binding instanceof Object3D ? binding
|
|
171
|
+
: (binding != null && "gameObject" in binding) ? binding.gameObject
|
|
172
|
+
: undefined;
|
|
173
|
+
animClip = resolveToClip(descriptors, root);
|
|
174
|
+
}
|
|
124
175
|
const opts = (options ?? {});
|
|
125
176
|
const duration = opts.duration ?? animClip.duration;
|
|
126
177
|
const start = opts.start ?? track.cursor;
|
|
@@ -302,6 +353,26 @@ export class TimelineBuilder {
|
|
|
302
353
|
this._currentTrack.muted = muted;
|
|
303
354
|
return this;
|
|
304
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Adds an animation track descriptor to the current animation track.
|
|
358
|
+
* Multiple `.track()` calls accumulate into a single animation clip that is
|
|
359
|
+
* committed when the next `.clip()`, track method, or `.build()`/`.install()` is called.
|
|
360
|
+
*
|
|
361
|
+
* Must be called after `.animationTrack()`.
|
|
362
|
+
*
|
|
363
|
+
* @param target - The object whose type determines valid properties and value types
|
|
364
|
+
* @param property - The property to animate
|
|
365
|
+
* @param keyframes - Keyframe array or {@link Tween} shorthand
|
|
366
|
+
* @param options - Optional {@link TrackOptions} with a `root` for named targeting
|
|
367
|
+
*/
|
|
368
|
+
track(target, property, keyframes, options) {
|
|
369
|
+
if (!this._currentTrack)
|
|
370
|
+
throw new Error("TimelineBuilder: .track() must be called after .animationTrack()");
|
|
371
|
+
if (this._currentTrack.type !== TrackType.Animation)
|
|
372
|
+
throw new Error("TimelineBuilder: .track() is only supported on animation tracks");
|
|
373
|
+
this._currentTrack.inlineTracks.push(trackFn(target, property, keyframes, options));
|
|
374
|
+
return this;
|
|
375
|
+
}
|
|
305
376
|
// #endregion
|
|
306
377
|
/**
|
|
307
378
|
* Builds and returns the {@link TimelineAssetModel}.
|
|
@@ -311,6 +382,7 @@ export class TimelineBuilder {
|
|
|
311
382
|
* internally and also wires up the SignalReceiver on the director's GameObject.
|
|
312
383
|
*/
|
|
313
384
|
build() {
|
|
385
|
+
this.commitInlineTracks();
|
|
314
386
|
const tracks = this._tracks.map(t => {
|
|
315
387
|
const track = {
|
|
316
388
|
name: t.name,
|
|
@@ -392,9 +464,43 @@ export class TimelineBuilder {
|
|
|
392
464
|
clips: [],
|
|
393
465
|
markers: [],
|
|
394
466
|
cursor: 0,
|
|
467
|
+
inlineTracks: [],
|
|
395
468
|
};
|
|
396
469
|
this._tracks.push(track);
|
|
397
470
|
return track;
|
|
398
471
|
}
|
|
472
|
+
/** Commits any pending `.track()` descriptors on the current animation track into a clip */
|
|
473
|
+
commitInlineTracks() {
|
|
474
|
+
if (!this._currentTrack || this._currentTrack.inlineTracks.length === 0)
|
|
475
|
+
return;
|
|
476
|
+
const t = this._currentTrack;
|
|
477
|
+
const binding = t.outputs[0];
|
|
478
|
+
const root = binding instanceof Object3D ? binding
|
|
479
|
+
: (binding != null && "gameObject" in binding) ? binding.gameObject
|
|
480
|
+
: undefined;
|
|
481
|
+
const animClip = resolveToClip(t.inlineTracks, root);
|
|
482
|
+
const start = t.cursor;
|
|
483
|
+
const duration = animClip.duration;
|
|
484
|
+
const clipModel = {
|
|
485
|
+
start,
|
|
486
|
+
end: start + duration,
|
|
487
|
+
duration,
|
|
488
|
+
timeScale: 1,
|
|
489
|
+
clipIn: 0,
|
|
490
|
+
easeInDuration: 0,
|
|
491
|
+
easeOutDuration: 0,
|
|
492
|
+
preExtrapolationMode: ClipExtrapolation.None,
|
|
493
|
+
postExtrapolationMode: ClipExtrapolation.None,
|
|
494
|
+
asset: {
|
|
495
|
+
clip: animClip,
|
|
496
|
+
loop: false,
|
|
497
|
+
duration: animClip.duration,
|
|
498
|
+
removeStartOffset: false,
|
|
499
|
+
},
|
|
500
|
+
};
|
|
501
|
+
t.clips.push(clipModel);
|
|
502
|
+
t.cursor = start + duration;
|
|
503
|
+
t.inlineTracks = [];
|
|
504
|
+
}
|
|
399
505
|
}
|
|
400
506
|
//# sourceMappingURL=TimelineBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineBuilder.js","sourceRoot":"","sources":["../../../src/engine-components/timeline/TimelineBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimelineBuilder.js","sourceRoot":"","sources":["../../../src/engine-components/timeline/TimelineBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import * as Models from "./TimelineModels.js";
|
|
|
8
8
|
* A TrackHandler is responsible for evaluating a specific type of timeline track.
|
|
9
9
|
* A timeline track can be an animation track, audio track, signal track, control track etc and is controlled by a {@link PlayableDirector}.
|
|
10
10
|
*/
|
|
11
|
-
export declare abstract class
|
|
11
|
+
export declare abstract class TimelineTrackHandler {
|
|
12
12
|
director: PlayableDirector;
|
|
13
13
|
track: Models.TrackModel;
|
|
14
14
|
get muted(): boolean;
|
|
@@ -26,7 +26,7 @@ export declare abstract class TrackHandler {
|
|
|
26
26
|
getClipTimeNormalized(time: number, model: Models.ClipModel): number;
|
|
27
27
|
evaluateWeight(time: number, index: number, models: Array<Models.ClipModel>, isActive?: boolean): number;
|
|
28
28
|
}
|
|
29
|
-
export declare class
|
|
29
|
+
export declare class TimelineAnimationTrack extends TimelineTrackHandler {
|
|
30
30
|
/** @internal */
|
|
31
31
|
models: Array<Models.ClipModel>;
|
|
32
32
|
/** @internal */
|
|
@@ -83,7 +83,7 @@ declare type AudioClipModel = Models.ClipModel & {
|
|
|
83
83
|
* - The director is paused (`director.pause()`)
|
|
84
84
|
* - The director is disabled or destroyed
|
|
85
85
|
*/
|
|
86
|
-
export declare class
|
|
86
|
+
export declare class TimelineAudioTrack extends TimelineTrackHandler {
|
|
87
87
|
models: Array<AudioClipModel>;
|
|
88
88
|
listener: AudioListener;
|
|
89
89
|
audio: Array<Audio>;
|
|
@@ -111,7 +111,7 @@ export declare class AudioTrackHandler extends TrackHandler {
|
|
|
111
111
|
static dispose(): void;
|
|
112
112
|
private handleAudioLoading;
|
|
113
113
|
}
|
|
114
|
-
export declare class
|
|
114
|
+
export declare class TimelineMarkerTrack extends TimelineTrackHandler {
|
|
115
115
|
models: Array<Models.MarkerModel & Record<string, any>>;
|
|
116
116
|
needsSorting: boolean;
|
|
117
117
|
foreachMarker<T>(type?: string | null): Generator<T, void, unknown>;
|
|
@@ -119,7 +119,7 @@ export declare class MarkerTrackHandler extends TrackHandler {
|
|
|
119
119
|
evaluate(_time: number): void;
|
|
120
120
|
private sort;
|
|
121
121
|
}
|
|
122
|
-
export declare class SignalTrackHandler extends
|
|
122
|
+
export declare class SignalTrackHandler extends TimelineTrackHandler {
|
|
123
123
|
models: Models.SignalMarkerModel[];
|
|
124
124
|
didTrigger: boolean[];
|
|
125
125
|
receivers: Array<SignalReceiver | null>;
|
|
@@ -128,10 +128,18 @@ export declare class SignalTrackHandler extends TrackHandler {
|
|
|
128
128
|
onMuteChanged(): void;
|
|
129
129
|
evaluate(time: number): void;
|
|
130
130
|
}
|
|
131
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Handles activation (visibility) of bound objects for a timeline activation track.
|
|
133
|
+
*
|
|
134
|
+
* Each clip on the track defines a time range during which the bound objects should be active (visible).
|
|
135
|
+
* @see TimelineTrackHandler for details on how tracks and clips work in general, and how to mutate them at runtime.
|
|
136
|
+
* @see PlayableDirector for how to control timeline playback and time.
|
|
137
|
+
* @see TimelineBuilder for how to create and configure timelines and tracks in the editor.
|
|
138
|
+
*/
|
|
139
|
+
export declare class TimelineActivationTrack extends TimelineTrackHandler {
|
|
132
140
|
evaluate(time: number): void;
|
|
133
141
|
}
|
|
134
|
-
export declare class
|
|
142
|
+
export declare class TimelineControlTrack extends TimelineTrackHandler {
|
|
135
143
|
models: Array<Models.ClipModel>;
|
|
136
144
|
timelines: Array<PlayableDirector | null>;
|
|
137
145
|
resolveSourceObjects(_context: Context): void;
|