@unseenco/theatre-core 0.3.0 → 0.4.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/index.mjs CHANGED
@@ -969,6 +969,8 @@ function interpolationTripleAtPosition(ctx, trackP, timeD) {
969
969
  return prism(() => void 0);
970
970
  } else if (track.type === "BasicKeyframedTrack") {
971
971
  return _forKeyframedTrack(ctx, track, timeD);
972
+ } else if (track.type === "GsapClipTrack") {
973
+ return prism(() => void 0);
972
974
  } else {
973
975
  ctx.logger.error("Track type not yet supported.");
974
976
  return prism(() => void 0);
@@ -3992,9 +3994,13 @@ function getOrphanedTopLevelPropPathEncodings(config, sheetState, objectKey) {
3992
3994
  }
3993
3995
  function stripTransientPropsFromObjectInSheetState(sheetState, objectKey, prefixes) {
3994
3996
  if (prefixes.size === 0) return;
3995
- const staticOverrides = sheetState.staticOverrides.byObject[objectKey];
3996
- if (staticOverrides) {
3997
- sheetState.staticOverrides.byObject[objectKey] = stripTransientPathsFromSerializableMap(staticOverrides, prefixes);
3997
+ const byObject = sheetState.staticOverrides?.byObject;
3998
+ const staticOverrides = byObject?.[objectKey];
3999
+ if (staticOverrides && byObject) {
4000
+ byObject[objectKey] = stripTransientPathsFromSerializableMap(
4001
+ staticOverrides,
4002
+ prefixes
4003
+ );
3998
4004
  }
3999
4005
  if (sheetState.staticOverridesByVariant) {
4000
4006
  for (const variantOverrides of Object.values(
@@ -6088,6 +6094,9 @@ var TheatreSequence = class {
6088
6094
  __experimental_getKeyframes(prop) {
6089
6095
  return privateAPI(this).getKeyframesOfSimpleProp(prop);
6090
6096
  }
6097
+ __experimental_getGsapClips() {
6098
+ return privateAPI(this).getGsapClips();
6099
+ }
6091
6100
  async attachAudio(args) {
6092
6101
  const { audioContext, destinationNode, decodedBuffer, gainNode } = await resolveAudioBuffer(args);
6093
6102
  const playbackController = new AudioPlaybackController(
@@ -6193,6 +6202,14 @@ async function resolveAudioBuffer(args) {
6193
6202
  };
6194
6203
  }
6195
6204
 
6205
+ // shared/src/sequence/trackData.ts
6206
+ function isBasicKeyframedTrack(track) {
6207
+ return track.type === "BasicKeyframedTrack";
6208
+ }
6209
+ function isGsapClipTrack(track) {
6210
+ return track.type === "GsapClipTrack";
6211
+ }
6212
+
6196
6213
  // core/src/sequences/Sequence.ts
6197
6214
  var possibleDirections = [
6198
6215
  "normal",
@@ -6293,11 +6310,57 @@ var Sequence = class {
6293
6310
  return [];
6294
6311
  }
6295
6312
  const track = trackData[id];
6296
- if (!track) {
6313
+ if (!track || !isBasicKeyframedTrack(track)) {
6297
6314
  return [];
6298
6315
  }
6299
6316
  return track.keyframes;
6300
6317
  }
6318
+ /**
6319
+ * @internal Used by the public sequence API.
6320
+ */
6321
+ getGsapClipsForObject(objectKey) {
6322
+ const sheetState = val6(
6323
+ this._project.pointers.historic.sheetsById[this._sheet.address.sheetId]
6324
+ );
6325
+ const tracksOfObject = getSequenceStateFromSheet(
6326
+ sheetState,
6327
+ this._sequenceVariant
6328
+ )?.tracksByObject[objectKey];
6329
+ if (!tracksOfObject) return [];
6330
+ const result = [];
6331
+ for (const [trackId, track] of Object.entries(tracksOfObject.trackData)) {
6332
+ if (track && isGsapClipTrack(track)) {
6333
+ result.push({ trackId, clip: track });
6334
+ }
6335
+ }
6336
+ return result.sort((a2, b2) => a2.clip.start - b2.clip.start);
6337
+ }
6338
+ getGsapClips() {
6339
+ const sheetState = val6(
6340
+ this._project.pointers.historic.sheetsById[this._sheet.address.sheetId]
6341
+ );
6342
+ const sequenceState = getSequenceStateFromSheet(
6343
+ sheetState,
6344
+ this._sequenceVariant
6345
+ );
6346
+ if (!sequenceState) return [];
6347
+ const result = [];
6348
+ for (const [objectKey, tracksOfObject] of Object.entries(
6349
+ sequenceState.tracksByObject
6350
+ )) {
6351
+ if (!tracksOfObject) continue;
6352
+ for (const [trackId, track] of Object.entries(tracksOfObject.trackData)) {
6353
+ if (track && isGsapClipTrack(track)) {
6354
+ result.push({
6355
+ objectKey,
6356
+ trackId,
6357
+ clip: track
6358
+ });
6359
+ }
6360
+ }
6361
+ }
6362
+ return result.sort((a2, b2) => a2.clip.start - b2.clip.start);
6363
+ }
6301
6364
  get positionFormatter() {
6302
6365
  return this._positionFormatterD.getValue();
6303
6366
  }
@@ -8505,7 +8568,7 @@ var CoreBundle = class {
8505
8568
  return "Theatre_CoreBundle";
8506
8569
  }
8507
8570
  get version() {
8508
- return "0.3.0";
8571
+ return "0.4.0";
8509
8572
  }
8510
8573
  getBitsForStudio(studio, callback) {
8511
8574
  if (this._studio) {