@unseenco/theatre-core 0.2.2 → 0.3.0-rc.1

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.js CHANGED
@@ -30,16 +30,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
30
  mod
31
31
  ));
32
32
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
- var __publicField = (obj, key, value) => {
34
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
35
- return value;
36
- };
33
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
37
34
 
38
35
  // ../node_modules/timing-function/lib/UnitBezier.js
39
36
  var require_UnitBezier = __commonJS({
40
37
  "../node_modules/timing-function/lib/UnitBezier.js"(exports2, module2) {
41
38
  var UnitBezier2;
42
- module2.exports = UnitBezier2 = function() {
39
+ module2.exports = UnitBezier2 = (function() {
43
40
  function UnitBezier3(p1x, p1y, p2x, p2y) {
44
41
  this.set(p1x, p1y, p2x, p2y);
45
42
  }
@@ -113,7 +110,7 @@ var require_UnitBezier = __commonJS({
113
110
  return this._sampleCurveY(this._solveCurveX(x2, 1e-6));
114
111
  };
115
112
  return UnitBezier3;
116
- }();
113
+ })();
117
114
  }
118
115
  });
119
116
 
@@ -122,38 +119,28 @@ var require_fast_deep_equal = __commonJS({
122
119
  "../node_modules/fast-deep-equal/index.js"(exports2, module2) {
123
120
  "use strict";
124
121
  module2.exports = function equal(a2, b2) {
125
- if (a2 === b2)
126
- return true;
122
+ if (a2 === b2) return true;
127
123
  if (a2 && b2 && typeof a2 == "object" && typeof b2 == "object") {
128
- if (a2.constructor !== b2.constructor)
129
- return false;
124
+ if (a2.constructor !== b2.constructor) return false;
130
125
  var length, i2, keys2;
131
126
  if (Array.isArray(a2)) {
132
127
  length = a2.length;
133
- if (length != b2.length)
134
- return false;
128
+ if (length != b2.length) return false;
135
129
  for (i2 = length; i2-- !== 0; )
136
- if (!equal(a2[i2], b2[i2]))
137
- return false;
130
+ if (!equal(a2[i2], b2[i2])) return false;
138
131
  return true;
139
132
  }
140
- if (a2.constructor === RegExp)
141
- return a2.source === b2.source && a2.flags === b2.flags;
142
- if (a2.valueOf !== Object.prototype.valueOf)
143
- return a2.valueOf() === b2.valueOf();
144
- if (a2.toString !== Object.prototype.toString)
145
- return a2.toString() === b2.toString();
133
+ if (a2.constructor === RegExp) return a2.source === b2.source && a2.flags === b2.flags;
134
+ if (a2.valueOf !== Object.prototype.valueOf) return a2.valueOf() === b2.valueOf();
135
+ if (a2.toString !== Object.prototype.toString) return a2.toString() === b2.toString();
146
136
  keys2 = Object.keys(a2);
147
137
  length = keys2.length;
148
- if (length !== Object.keys(b2).length)
149
- return false;
138
+ if (length !== Object.keys(b2).length) return false;
150
139
  for (i2 = length; i2-- !== 0; )
151
- if (!Object.prototype.hasOwnProperty.call(b2, keys2[i2]))
152
- return false;
140
+ if (!Object.prototype.hasOwnProperty.call(b2, keys2[i2])) return false;
153
141
  for (i2 = length; i2-- !== 0; ) {
154
142
  var key = keys2[i2];
155
- if (!equal(a2[key], b2[key]))
156
- return false;
143
+ if (!equal(a2[key], b2[key])) return false;
157
144
  }
158
145
  return true;
159
146
  }
@@ -252,8 +239,8 @@ var require_propose = __commonJS({
252
239
  });
253
240
 
254
241
  // core/src/index.ts
255
- var src_exports = {};
256
- __export(src_exports, {
242
+ var index_exports = {};
243
+ __export(index_exports, {
257
244
  createRafDriver: () => createRafDriver,
258
245
  getProject: () => getProject,
259
246
  isRemoteEditorWindow: () => isRemoteEditorWindow,
@@ -263,7 +250,7 @@ __export(src_exports, {
263
250
  types: () => propTypes_exports,
264
251
  val: () => val10
265
252
  });
266
- module.exports = __toCommonJS(src_exports);
253
+ module.exports = __toCommonJS(index_exports);
267
254
 
268
255
  // core/src/coreExports.ts
269
256
  var coreExports_exports = {};
@@ -427,10 +414,10 @@ var coreJsData = root_default["__core-js_shared__"];
427
414
  var coreJsData_default = coreJsData;
428
415
 
429
416
  // ../node_modules/lodash-es/_isMasked.js
430
- var maskSrcKey = function() {
417
+ var maskSrcKey = (function() {
431
418
  var uid = /[^.]+$/.exec(coreJsData_default && coreJsData_default.keys && coreJsData_default.keys.IE_PROTO || "");
432
419
  return uid ? "Symbol(src)_1." + uid : "";
433
- }();
420
+ })();
434
421
  function isMasked(func) {
435
422
  return !!maskSrcKey && maskSrcKey in func;
436
423
  }
@@ -839,8 +826,7 @@ var get_default = get;
839
826
 
840
827
  // shared/src/utils/getDeep.ts
841
828
  function getDeep(v2, path) {
842
- if (path.length === 0)
843
- return v2;
829
+ if (path.length === 0) return v2;
844
830
  return get_default(v2, path);
845
831
  }
846
832
 
@@ -878,14 +864,14 @@ var SimpleCache = class {
878
864
  var import_theatre_dataverse7 = require("@unseenco/theatre-dataverse");
879
865
 
880
866
  // ../node_modules/lodash-es/_defineProperty.js
881
- var defineProperty = function() {
867
+ var defineProperty = (function() {
882
868
  try {
883
869
  var func = getNative_default(Object, "defineProperty");
884
870
  func({}, "", {});
885
871
  return func;
886
872
  } catch (e2) {
887
873
  }
888
- }();
874
+ })();
889
875
  var defineProperty_default = defineProperty;
890
876
 
891
877
  // ../node_modules/lodash-es/_baseAssignValue.js
@@ -1219,8 +1205,7 @@ __export(propTypes_exports, {
1219
1205
 
1220
1206
  // shared/src/utils/ellipsify.ts
1221
1207
  function ellipsify(str, maxLength) {
1222
- if (str.length <= maxLength)
1223
- return str;
1208
+ if (str.length <= maxLength) return str;
1224
1209
  return str.substr(0, maxLength - 3) + "...";
1225
1210
  }
1226
1211
 
@@ -1324,7 +1309,7 @@ var WeakMap_default = WeakMap2;
1324
1309
 
1325
1310
  // ../node_modules/lodash-es/_baseCreate.js
1326
1311
  var objectCreate = Object.create;
1327
- var baseCreate = function() {
1312
+ var baseCreate = /* @__PURE__ */ (function() {
1328
1313
  function object() {
1329
1314
  }
1330
1315
  return function(proto) {
@@ -1339,7 +1324,7 @@ var baseCreate = function() {
1339
1324
  object.prototype = void 0;
1340
1325
  return result;
1341
1326
  };
1342
- }();
1327
+ })();
1343
1328
  var baseCreate_default = baseCreate;
1344
1329
 
1345
1330
  // ../node_modules/lodash-es/_apply.js
@@ -1548,9 +1533,9 @@ var baseIsArguments_default = baseIsArguments;
1548
1533
  var objectProto8 = Object.prototype;
1549
1534
  var hasOwnProperty6 = objectProto8.hasOwnProperty;
1550
1535
  var propertyIsEnumerable = objectProto8.propertyIsEnumerable;
1551
- var isArguments = baseIsArguments_default(function() {
1536
+ var isArguments = baseIsArguments_default(/* @__PURE__ */ (function() {
1552
1537
  return arguments;
1553
- }()) ? baseIsArguments_default : function(value) {
1538
+ })()) ? baseIsArguments_default : function(value) {
1554
1539
  return isObjectLike_default(value) && hasOwnProperty6.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
1555
1540
  };
1556
1541
  var isArguments_default = isArguments;
@@ -1616,7 +1601,7 @@ var freeExports2 = typeof exports == "object" && exports && !exports.nodeType &&
1616
1601
  var freeModule2 = freeExports2 && typeof module == "object" && module && !module.nodeType && module;
1617
1602
  var moduleExports2 = freeModule2 && freeModule2.exports === freeExports2;
1618
1603
  var freeProcess = moduleExports2 && freeGlobal_default.process;
1619
- var nodeUtil = function() {
1604
+ var nodeUtil = (function() {
1620
1605
  try {
1621
1606
  var types = freeModule2 && freeModule2.require && freeModule2.require("util").types;
1622
1607
  if (types) {
@@ -1625,7 +1610,7 @@ var nodeUtil = function() {
1625
1610
  return freeProcess && freeProcess.binding && freeProcess.binding("util");
1626
1611
  } catch (e2) {
1627
1612
  }
1628
- }();
1613
+ })();
1629
1614
  var nodeUtil_default = nodeUtil;
1630
1615
 
1631
1616
  // ../node_modules/lodash-es/isTypedArray.js
@@ -3128,10 +3113,8 @@ function clampRgba(rgba2) {
3128
3113
  }
3129
3114
  function linearSrgbToSrgb(rgba2) {
3130
3115
  function compress(x2) {
3131
- if (x2 >= 31308e-7)
3132
- return 1.055 * x2 ** (1 / 2.4) - 0.055;
3133
- else
3134
- return 12.92 * x2;
3116
+ if (x2 >= 31308e-7) return 1.055 * x2 ** (1 / 2.4) - 0.055;
3117
+ else return 12.92 * x2;
3135
3118
  }
3136
3119
  return clampRgba({
3137
3120
  r: compress(rgba2.r),
@@ -3142,10 +3125,8 @@ function linearSrgbToSrgb(rgba2) {
3142
3125
  }
3143
3126
  function srgbToLinearSrgb(rgba2) {
3144
3127
  function expand(x2) {
3145
- if (x2 >= 0.04045)
3146
- return ((x2 + 0.055) / (1 + 0.055)) ** 2.4;
3147
- else
3148
- return x2 / 12.92;
3128
+ if (x2 >= 0.04045) return ((x2 + 0.055) / (1 + 0.055)) ** 2.4;
3129
+ else return x2 / 12.92;
3149
3130
  }
3150
3131
  return {
3151
3132
  r: expand(rgba2.r),
@@ -3202,8 +3183,7 @@ function toLonghandProp(p2) {
3202
3183
  } else if (typeof p2 === "string") {
3203
3184
  return string(p2);
3204
3185
  } else if (typeof p2 === "object" && !!p2) {
3205
- if (isLonghandPropType(p2))
3206
- return p2;
3186
+ if (isLonghandPropType(p2)) return p2;
3207
3187
  if (isPlainObject_default(p2)) {
3208
3188
  return compound(p2);
3209
3189
  } else {
@@ -3261,8 +3241,7 @@ function sanitizeCompoundProps(props) {
3261
3241
  // core/src/propTypes/index.ts
3262
3242
  var validateCommonOpts = (fnCallSignature, opts) => {
3263
3243
  if (process.env.NODE_ENV !== "production") {
3264
- if (opts === void 0)
3265
- return;
3244
+ if (opts === void 0) return;
3266
3245
  if (typeof opts !== "object" || opts === null) {
3267
3246
  throw new Error(
3268
3247
  "opts in ".concat(fnCallSignature, " must either be undefined or an object.")
@@ -3301,8 +3280,7 @@ function compoundFromSanitizedProps(sanitizedProps, opts = {}) {
3301
3280
  label: opts.label,
3302
3281
  default: mapValues_default(sanitizedProps, (p2) => p2.default),
3303
3282
  deserializeAndSanitize: (json) => {
3304
- if (typeof json !== "object" || !json)
3305
- return void 0;
3283
+ if (typeof json !== "object" || !json) return void 0;
3306
3284
  if (deserializationCache.has(json)) {
3307
3285
  return deserializationCache.get(json);
3308
3286
  }
@@ -3353,16 +3331,13 @@ var file = (defaultValue, opts = {}) => {
3353
3331
  };
3354
3332
  };
3355
3333
  var _ensureFile = (val11) => {
3356
- if (!val11)
3357
- return void 0;
3334
+ if (!val11) return void 0;
3358
3335
  let valid = true;
3359
3336
  if (typeof val11.id !== "string" && ![null, void 0].includes(val11.id)) {
3360
3337
  valid = false;
3361
3338
  }
3362
- if (val11.type !== "file")
3363
- valid = false;
3364
- if (!valid)
3365
- return void 0;
3339
+ if (val11.type !== "file") valid = false;
3340
+ if (!valid) return void 0;
3366
3341
  return val11;
3367
3342
  };
3368
3343
  var image = (defaultValue, opts = {}) => {
@@ -3388,16 +3363,13 @@ var image = (defaultValue, opts = {}) => {
3388
3363
  };
3389
3364
  };
3390
3365
  var _ensureImage = (val11) => {
3391
- if (!val11)
3392
- return void 0;
3366
+ if (!val11) return void 0;
3393
3367
  let valid = true;
3394
3368
  if (typeof val11.id !== "string" && ![null, void 0].includes(val11.id)) {
3395
3369
  valid = false;
3396
3370
  }
3397
- if (val11.type !== "image")
3398
- valid = false;
3399
- if (!valid)
3400
- return void 0;
3371
+ if (val11.type !== "image") valid = false;
3372
+ if (!valid) return void 0;
3401
3373
  return val11;
3402
3374
  };
3403
3375
  var number = (defaultValue, opts = {}) => {
@@ -3481,8 +3453,7 @@ var number = (defaultValue, opts = {}) => {
3481
3453
  };
3482
3454
  };
3483
3455
  var numberDeserializer = (range) => range ? (json) => {
3484
- if (!(typeof json === "number" && isFinite(json)))
3485
- return void 0;
3456
+ if (!(typeof json === "number" && isFinite(json))) return void 0;
3486
3457
  return clamp_default(json, range[0], range[1]);
3487
3458
  } : _ensureNumber;
3488
3459
  var _ensureNumber = (value) => typeof value === "number" && isFinite(value) ? value : void 0;
@@ -3523,16 +3494,14 @@ var rgba = (defaultValue = { r: 0, g: 0, b: 0, a: 1 }, opts = {}) => {
3523
3494
  };
3524
3495
  };
3525
3496
  var _sanitizeRgba = (val11) => {
3526
- if (!val11)
3527
- return void 0;
3497
+ if (!val11) return void 0;
3528
3498
  let valid = true;
3529
3499
  for (const c2 of ["r", "g", "b", "a"]) {
3530
3500
  if (!Object.prototype.hasOwnProperty.call(val11, c2) || typeof val11[c2] !== "number") {
3531
3501
  valid = false;
3532
3502
  }
3533
3503
  }
3534
- if (!valid)
3535
- return void 0;
3504
+ if (!valid) return void 0;
3536
3505
  const sanitized = {};
3537
3506
  for (const c2 of ["r", "g", "b", "a"]) {
3538
3507
  ;
@@ -3617,8 +3586,7 @@ function stringLiteral(defaultValue, valuesAndLabels, opts = {}) {
3617
3586
  label: opts.label,
3618
3587
  interpolate: opts.interpolate ?? leftInterpolate,
3619
3588
  deserializeAndSanitize(json) {
3620
- if (typeof json !== "string")
3621
- return void 0;
3589
+ if (typeof json !== "string") return void 0;
3622
3590
  if (Object.prototype.hasOwnProperty.call(valuesAndLabels, json)) {
3623
3591
  return json;
3624
3592
  } else {
@@ -3852,8 +3820,7 @@ var encodePathToProp = memoizeFn(
3852
3820
 
3853
3821
  // shared/src/utils/removePathFromObject.ts
3854
3822
  function removePathFromObject(base, path) {
3855
- if (typeof base !== "object" || base === null)
3856
- return;
3823
+ if (typeof base !== "object" || base === null) return;
3857
3824
  if (path.length === 0) {
3858
3825
  for (const key of Object.keys(base)) {
3859
3826
  delete base[key];
@@ -3945,16 +3912,13 @@ function stripTransientPathsFromSerializableMap(map, prefixes) {
3945
3912
  return result;
3946
3913
  }
3947
3914
  function stripTransientPathsFromSequenceTracks(sequence, objectKey, prefixes) {
3948
- if (!sequence || prefixes.size === 0)
3949
- return;
3915
+ if (!sequence || prefixes.size === 0) return;
3950
3916
  const objectTracks = sequence.tracksByObject?.[objectKey];
3951
- if (!objectTracks)
3952
- return;
3917
+ if (!objectTracks) return;
3953
3918
  for (const [encodedPath, trackId] of Object.entries(
3954
3919
  objectTracks.trackIdByPropPath
3955
3920
  )) {
3956
- if (typeof trackId !== "string")
3957
- continue;
3921
+ if (typeof trackId !== "string") continue;
3958
3922
  const path = JSON.parse(encodedPath);
3959
3923
  if (isPathUnderTransientPrefix(path, prefixes)) {
3960
3924
  delete objectTracks.trackIdByPropPath[encodedPath];
@@ -3971,8 +3935,7 @@ function stripTransientPathsFromSequenceTracks(sequence, objectKey, prefixes) {
3971
3935
  }
3972
3936
  }
3973
3937
  function stripSequenceTracksForPathsFromObjectInSheetState(sheetState, objectKey, prefixes) {
3974
- if (prefixes.size === 0)
3975
- return;
3938
+ if (prefixes.size === 0) return;
3976
3939
  stripTransientPathsFromSequenceTracks(
3977
3940
  sheetState.sequence,
3978
3941
  objectKey,
@@ -4017,13 +3980,11 @@ function getOrphanedTopLevelPropPathEncodings(config, sheetState, objectKey) {
4017
3980
  }
4018
3981
  const considerTracks = (sequence) => {
4019
3982
  const objectTracks = sequence?.tracksByObject?.[objectKey];
4020
- if (!objectTracks)
4021
- return;
3983
+ if (!objectTracks) return;
4022
3984
  for (const encodedPath of Object.keys(objectTracks.trackIdByPropPath)) {
4023
3985
  try {
4024
3986
  const path = JSON.parse(encodedPath);
4025
- if (path.length === 0)
4026
- continue;
3987
+ if (path.length === 0) continue;
4027
3988
  if (!getPropConfigByPath(config, path)) {
4028
3989
  considerTopKey(String(path[0]));
4029
3990
  }
@@ -4040,8 +4001,7 @@ function getOrphanedTopLevelPropPathEncodings(config, sheetState, objectKey) {
4040
4001
  return orphaned;
4041
4002
  }
4042
4003
  function stripTransientPropsFromObjectInSheetState(sheetState, objectKey, prefixes) {
4043
- if (prefixes.size === 0)
4044
- return;
4004
+ if (prefixes.size === 0) return;
4045
4005
  const staticOverrides = sheetState.staticOverrides.byObject[objectKey];
4046
4006
  if (staticOverrides) {
4047
4007
  sheetState.staticOverrides.byObject[objectKey] = stripTransientPathsFromSerializableMap(staticOverrides, prefixes);
@@ -4085,13 +4045,10 @@ function isPropConfigComposite(c2) {
4085
4045
  return c2.type === "compound" || c2.type === "enum";
4086
4046
  }
4087
4047
  function getPropConfigByPath(parentConf, path) {
4088
- if (!parentConf)
4089
- return void 0;
4048
+ if (!parentConf) return void 0;
4090
4049
  const [key, ...rest] = path;
4091
- if (key === void 0)
4092
- return parentConf;
4093
- if (!isPropConfigComposite(parentConf))
4094
- return void 0;
4050
+ if (key === void 0) return parentConf;
4051
+ if (!isPropConfigComposite(parentConf)) return void 0;
4095
4052
  const sub = parentConf.type === "enum" ? parentConf.cases[key] : parentConf.props[key];
4096
4053
  return getPropConfigByPath(sub, rest);
4097
4054
  }
@@ -4152,8 +4109,7 @@ function* iteratePropType(conf, pathPrefix) {
4152
4109
 
4153
4110
  // shared/src/utils/updateDeep.ts
4154
4111
  function updateDeep(obj, path, reducer) {
4155
- if (path.length === 0)
4156
- return reducer(obj);
4112
+ if (path.length === 0) return reducer(obj);
4157
4113
  return hoop(obj, path, reducer);
4158
4114
  }
4159
4115
  var hoop = (s2, path, reducer) => {
@@ -4163,12 +4119,10 @@ var hoop = (s2, path, reducer) => {
4163
4119
  if (Array.isArray(s2)) {
4164
4120
  let [index, ...restOfPath] = path;
4165
4121
  index = parseInt(String(index), 10);
4166
- if (isNaN(index))
4167
- index = 0;
4122
+ if (isNaN(index)) index = 0;
4168
4123
  const oldVal = s2[index];
4169
4124
  const newVal = hoop(oldVal, restOfPath, reducer);
4170
- if (oldVal === newVal)
4171
- return s2;
4125
+ if (oldVal === newVal) return s2;
4172
4126
  const newS = [...s2];
4173
4127
  newS.splice(index, 1, newVal);
4174
4128
  return newS;
@@ -4176,8 +4130,7 @@ var hoop = (s2, path, reducer) => {
4176
4130
  const [key, ...restOfPath] = path;
4177
4131
  const oldVal = s2[key];
4178
4132
  const newVal = hoop(oldVal, restOfPath, reducer);
4179
- if (oldVal === newVal)
4180
- return s2;
4133
+ if (oldVal === newVal) return s2;
4181
4134
  const newS = { ...s2, [key]: newVal };
4182
4135
  return newS;
4183
4136
  } else {
@@ -4206,8 +4159,7 @@ function mergeSequenceTrackMaps(defaultTracks, overrideTracks, activeVariant) {
4206
4159
  const merged = {};
4207
4160
  if (defaultTracks) {
4208
4161
  for (const [encodedPath, trackId] of Object.entries(defaultTracks)) {
4209
- if (!trackId)
4210
- continue;
4162
+ if (!trackId) continue;
4211
4163
  merged[encodedPath] = {
4212
4164
  trackId,
4213
4165
  trackVariant: DEFAULT_SEQUENCE_VARIANT
@@ -4216,8 +4168,7 @@ function mergeSequenceTrackMaps(defaultTracks, overrideTracks, activeVariant) {
4216
4168
  }
4217
4169
  if (activeVariant !== DEFAULT_SEQUENCE_VARIANT && overrideTracks) {
4218
4170
  for (const [encodedPath, trackId] of Object.entries(overrideTracks)) {
4219
- if (!trackId)
4220
- continue;
4171
+ if (!trackId) continue;
4221
4172
  merged[encodedPath] = {
4222
4173
  trackId,
4223
4174
  trackVariant: activeVariant
@@ -4242,22 +4193,17 @@ function getEffectiveStaticOverrideForObject(sheetState, variantId, objectKey) {
4242
4193
  variantId,
4243
4194
  objectKey
4244
4195
  ) ? sheetState?.staticOverridesByVariant?.[variantId]?.byObject?.[objectKey] : void 0;
4245
- if (!defaultOverrides && !variantOverrides)
4246
- return void 0;
4247
- if (!variantOverrides)
4248
- return defaultOverrides;
4249
- if (!defaultOverrides)
4250
- return variantOverrides;
4196
+ if (!defaultOverrides && !variantOverrides) return void 0;
4197
+ if (!variantOverrides) return defaultOverrides;
4198
+ if (!defaultOverrides) return variantOverrides;
4251
4199
  return merge_default(cloneDeep_default(defaultOverrides), cloneDeep_default(variantOverrides));
4252
4200
  }
4253
4201
  function isObjectAssignedToSequenceVariant(sheetState, variantId, objectKey) {
4254
- if (variantId === DEFAULT_SEQUENCE_VARIANT)
4255
- return true;
4202
+ if (variantId === DEFAULT_SEQUENCE_VARIANT) return true;
4256
4203
  return sheetState?.variantObjectOverrides?.[variantId]?.includes(objectKey) ?? false;
4257
4204
  }
4258
4205
  function getSequenceStateFromSheet(sheetState, variantId) {
4259
- if (!sheetState)
4260
- return void 0;
4206
+ if (!sheetState) return void 0;
4261
4207
  if (sheetState.sequencesById?.[variantId]) {
4262
4208
  return sheetState.sequencesById[variantId];
4263
4209
  }
@@ -4284,8 +4230,7 @@ function valTrackIdByPropPathForObject(sheetStatePointer, variantId, objectKey)
4284
4230
  return void 0;
4285
4231
  }
4286
4232
  function valUnsequencedPropPathsForObject(sheetStatePointer, variantId, objectKey) {
4287
- if (variantId === DEFAULT_SEQUENCE_VARIANT)
4288
- return void 0;
4233
+ if (variantId === DEFAULT_SEQUENCE_VARIANT) return void 0;
4289
4234
  (0, import_theatre_dataverse5.val)(sheetStatePointer.sequencesById);
4290
4235
  const sequenceFromMap = (0, import_theatre_dataverse5.val)(sheetStatePointer.sequencesById[variantId]);
4291
4236
  if (sequenceFromMap !== void 0) {
@@ -4510,8 +4455,7 @@ var SheetObject = class {
4510
4455
  () => {
4511
4456
  const untaps = [];
4512
4457
  for (const { trackId, pathToProp, trackVariant } of tracksToProcess) {
4513
- if (this.template.isNonSequencablePropPath(pathToProp))
4514
- continue;
4458
+ if (this.template.isNonSequencablePropPath(pathToProp)) continue;
4515
4459
  const pr = this._trackIdToPrism(trackId, trackVariant);
4516
4460
  const propConfig = getPropConfigByPath(
4517
4461
  config,
@@ -4580,11 +4524,9 @@ var SheetObject = class {
4580
4524
  }
4581
4525
  setSessionOverride(path, value) {
4582
4526
  const propConfig = getPropConfigByPath(this.template.staticConfig, path);
4583
- if (!propConfig)
4584
- return;
4527
+ if (!propConfig) return;
4585
4528
  const sanitized = propConfig.deserializeAndSanitize(value);
4586
- if (sanitized === void 0)
4587
- return;
4529
+ if (sanitized === void 0) return;
4588
4530
  this._sessionOverrides.set(
4589
4531
  setDeepImmutable(this._sessionOverrides.get(), path, sanitized)
4590
4532
  );
@@ -4698,8 +4640,7 @@ var DEFAULTS = {
4698
4640
  // create collapsed name
4699
4641
  // insert collapsed name into cssMemo with original's style
4700
4642
  collapsed(name) {
4701
- if (name.length < 5)
4702
- return name;
4643
+ if (name.length < 5) return name;
4703
4644
  const collapsed = name.replace(this.collapseOnRE, "");
4704
4645
  if (!this.cssMemo.has(collapsed)) {
4705
4646
  this.cssMemo.set(collapsed, this.css(name));
@@ -4708,8 +4649,7 @@ var DEFAULTS = {
4708
4649
  },
4709
4650
  css(name) {
4710
4651
  const found = this.cssMemo.get(name);
4711
- if (found)
4712
- return found;
4652
+ if (found) return found;
4713
4653
  let css = "color:".concat(this.color?.(name) ?? "hsl(".concat((name.charCodeAt(0) + name.charCodeAt(name.length - 1)) % 360, ", 100%, 60%)"));
4714
4654
  if (this.bold?.test(name)) {
4715
4655
  css += ";font-weight:600";
@@ -5047,8 +4987,7 @@ var logger_default = internal.getLogger().named("Theatre.js (default logger)").u
5047
4987
  var cache = /* @__PURE__ */ new WeakMap();
5048
4988
  function getOrderingOfPropTypeConfig(config) {
5049
4989
  const existing = cache.get(config);
5050
- if (existing)
5051
- return existing;
4990
+ if (existing) return existing;
5052
4991
  const map = /* @__PURE__ */ new Map();
5053
4992
  cache.set(config, map);
5054
4993
  iterateOnCompound([], config, map);
@@ -5095,10 +5034,8 @@ function registerObjectPropConfig(projectId, sheetId, objectKey, config) {
5095
5034
  // shared/src/propTypes/numberPrecision.ts
5096
5035
  var DEFAULT_NUMBER_PRECISION = 3;
5097
5036
  function resolveNumberPrecision(propPrecision, projectPrecision) {
5098
- if (propPrecision !== void 0)
5099
- return propPrecision;
5100
- if (projectPrecision !== void 0)
5101
- return projectPrecision;
5037
+ if (propPrecision !== void 0) return propPrecision;
5038
+ if (projectPrecision !== void 0) return projectPrecision;
5102
5039
  return DEFAULT_NUMBER_PRECISION;
5103
5040
  }
5104
5041
  function applyNumberPrecisionDefaultsToPropConfig(config, projectNumberPrecision) {
@@ -5107,8 +5044,7 @@ function applyNumberPrecisionDefaultsToPropConfig(config, projectNumberPrecision
5107
5044
  projectNumberPrecision
5108
5045
  );
5109
5046
  if (config.type === "number") {
5110
- if (config.precision !== void 0)
5111
- return config;
5047
+ if (config.precision !== void 0) return config;
5112
5048
  return {
5113
5049
  ...config,
5114
5050
  precision: defaultPrecision
@@ -5257,8 +5193,7 @@ var SheetObjectTemplate = class {
5257
5193
  );
5258
5194
  }
5259
5195
  _stripTransientFromHistoricState() {
5260
- if (this._transientPropPaths.size === 0)
5261
- return;
5196
+ if (this._transientPropPaths.size === 0) return;
5262
5197
  this.project._stripTransientPropsFromHistoric(
5263
5198
  this.address.sheetId,
5264
5199
  this.address.objectKey,
@@ -5266,8 +5201,7 @@ var SheetObjectTemplate = class {
5266
5201
  );
5267
5202
  }
5268
5203
  _stripSequencedStaticPathsFromHistoricState() {
5269
- if (this._staticPropPaths.size === 0)
5270
- return;
5204
+ if (this._staticPropPaths.size === 0) return;
5271
5205
  this.project._stripSequenceTracksFromHistoric(
5272
5206
  this.address.sheetId,
5273
5207
  this.address.objectKey,
@@ -5471,8 +5405,7 @@ var SheetObjectTemplate = class {
5471
5405
  for (const [pathToPropInString, effectiveTrack] of Object.entries(
5472
5406
  mergedTrackMap
5473
5407
  )) {
5474
- if (!effectiveTrack)
5475
- continue;
5408
+ if (!effectiveTrack) continue;
5476
5409
  if (unsequencedPropPathSet?.has(
5477
5410
  pathToPropInString
5478
5411
  )) {
@@ -5480,14 +5413,11 @@ var SheetObjectTemplate = class {
5480
5413
  }
5481
5414
  const { trackId, trackVariant } = effectiveTrack;
5482
5415
  const pathToProp = parsePathToProp(pathToPropInString);
5483
- if (!pathToProp)
5484
- continue;
5485
- if (this.isNonSequencablePropPath(pathToProp))
5486
- continue;
5416
+ if (!pathToProp) continue;
5417
+ if (this.isNonSequencablePropPath(pathToProp)) continue;
5487
5418
  const propConfig = getPropConfigByPath(objectConfig, pathToProp);
5488
5419
  const isSequencable = propConfig && isPropConfSequencable(propConfig);
5489
- if (!isSequencable)
5490
- continue;
5420
+ if (!isSequencable) continue;
5491
5421
  arrayOfIds.push({ pathToProp, trackId, trackVariant });
5492
5422
  }
5493
5423
  const mapping = getOrderingOfPropTypeConfig(objectConfig);
@@ -5556,8 +5486,7 @@ var SheetObjectTemplate = class {
5556
5486
  staticButNotSequencedOverrides,
5557
5487
  parentPath
5558
5488
  );
5559
- if (!isObjectEmpty(parentValue))
5560
- break;
5489
+ if (!isObjectEmpty(parentValue)) break;
5561
5490
  unset_default(staticButNotSequencedOverrides, parentPath);
5562
5491
  parentPath = parentPath.slice(0, -1);
5563
5492
  }
@@ -5765,8 +5694,7 @@ var DefaultPlaybackController = class {
5765
5694
  this._stopPlayCallback = () => {
5766
5695
  ticker.offThisOrNextTick(tick);
5767
5696
  ticker.offNextTick(tick);
5768
- if (this.playing)
5769
- deferred.resolve(false);
5697
+ if (this.playing) deferred.resolve(false);
5770
5698
  };
5771
5699
  const requestNextTick = () => ticker.onNextTick(tick);
5772
5700
  ticker.onThisOrNextTick(tick);
@@ -5883,8 +5811,7 @@ var AudioPlaybackController = class {
5883
5811
  }
5884
5812
  playDynamicRange(rangeD, ticker) {
5885
5813
  const deferred = defer();
5886
- if (this._playing)
5887
- this.pause();
5814
+ if (this._playing) this.pause();
5888
5815
  this._playing = true;
5889
5816
  let stop = void 0;
5890
5817
  const play = () => {
@@ -6041,8 +5968,7 @@ var AudioPlaybackController = class {
6041
5968
  cleanup();
6042
5969
  ticker.offThisOrNextTick(tick);
6043
5970
  ticker.offNextTick(tick);
6044
- if (this._playing)
6045
- deferred.resolve(false);
5971
+ if (this._playing) deferred.resolve(false);
6046
5972
  };
6047
5973
  const requestNextTick = () => ticker.onNextTick(tick);
6048
5974
  ticker.onThisOrNextTick(tick);
@@ -6188,11 +6114,9 @@ var TheatreSequence = class {
6188
6114
  };
6189
6115
  async function resolveAudioBuffer(args) {
6190
6116
  function getAudioContext() {
6191
- if (args.audioContext)
6192
- return Promise.resolve(args.audioContext);
6117
+ if (args.audioContext) return Promise.resolve(args.audioContext);
6193
6118
  const ctx = new AudioContext();
6194
- if (ctx.state === "running")
6195
- return Promise.resolve(ctx);
6119
+ if (ctx.state === "running") return Promise.resolve(ctx);
6196
6120
  if (typeof window === "undefined") {
6197
6121
  return Promise.resolve(ctx);
6198
6122
  }
@@ -6651,15 +6575,12 @@ var hour = minute * 60;
6651
6575
  // shared/src/utils/slashedPaths.ts
6652
6576
  var normalizeSlashedPath = (p2) => p2.replace(/^[\s\/]*/, "").replace(/[\s\/]*$/, "").replace(/\s*\/\s*/g, " / ");
6653
6577
  var getValidationErrorsOfSlashedPath = (p2) => {
6654
- if (typeof p2 !== "string")
6655
- return "it is not a string. (it is a ".concat(typeof p2, ")");
6578
+ if (typeof p2 !== "string") return "it is not a string. (it is a ".concat(typeof p2, ")");
6656
6579
  const components = p2.split(/\//);
6657
- if (components.length === 0)
6658
- return "it is empty.";
6580
+ if (components.length === 0) return "it is empty.";
6659
6581
  for (let i2 = 0; i2 < components.length; i2++) {
6660
6582
  const component = components[i2].trim();
6661
- if (component.length === 0)
6662
- return "the component #".concat(i2 + 1, " is empty.");
6583
+ if (component.length === 0) return "the component #".concat(i2 + 1, " is empty.");
6663
6584
  if (component.length > 64)
6664
6585
  return "the component '".concat(component, "' must have 64 characters or less.");
6665
6586
  }
@@ -7228,39 +7149,36 @@ var delay_default = delay;
7228
7149
 
7229
7150
  // ../node_modules/immer/dist/immer.esm.js
7230
7151
  function n(n2) {
7231
- for (var t2 = arguments.length, r2 = Array(t2 > 1 ? t2 - 1 : 0), e2 = 1; e2 < t2; e2++)
7232
- r2[e2 - 1] = arguments[e2];
7152
+ for (var t2 = arguments.length, r2 = Array(t2 > 1 ? t2 - 1 : 0), e2 = 1; e2 < t2; e2++) r2[e2 - 1] = arguments[e2];
7233
7153
  if ("production" !== process.env.NODE_ENV) {
7234
7154
  var i2 = Y[n2], o2 = i2 ? "function" == typeof i2 ? i2.apply(null, r2) : i2 : "unknown error nr: " + n2;
7235
7155
  throw Error("[Immer] " + o2);
7236
7156
  }
7237
- throw Error("[Immer] minified error nr: " + n2 + (r2.length ? " " + r2.map(function(n3) {
7157
+ throw Error("[Immer] minified error nr: " + n2 + (r2.length ? " " + r2.map((function(n3) {
7238
7158
  return "'" + n3 + "'";
7239
- }).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf");
7159
+ })).join(",") : "") + ". Find the full error at: https://bit.ly/3cXEKWf");
7240
7160
  }
7241
7161
  function t(n2) {
7242
7162
  return !!n2 && !!n2[Q];
7243
7163
  }
7244
7164
  function r(n2) {
7245
- return !!n2 && (function(n3) {
7246
- if (!n3 || "object" != typeof n3)
7247
- return false;
7165
+ return !!n2 && ((function(n3) {
7166
+ if (!n3 || "object" != typeof n3) return false;
7248
7167
  var t2 = Object.getPrototypeOf(n3);
7249
- if (null === t2)
7250
- return true;
7168
+ if (null === t2) return true;
7251
7169
  var r2 = Object.hasOwnProperty.call(t2, "constructor") && t2.constructor;
7252
7170
  return r2 === Object || "function" == typeof r2 && Function.toString.call(r2) === Z;
7253
- }(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2));
7171
+ })(n2) || Array.isArray(n2) || !!n2[L] || !!n2.constructor[L] || s(n2) || v(n2));
7254
7172
  }
7255
7173
  function e(r2) {
7256
7174
  return t(r2) || n(23, r2), r2[Q].t;
7257
7175
  }
7258
7176
  function i(n2, t2, r2) {
7259
- void 0 === r2 && (r2 = false), 0 === o(n2) ? (r2 ? Object.keys : nn)(n2).forEach(function(e2) {
7177
+ void 0 === r2 && (r2 = false), 0 === o(n2) ? (r2 ? Object.keys : nn)(n2).forEach((function(e2) {
7260
7178
  r2 && "symbol" == typeof e2 || t2(e2, n2[e2], n2);
7261
- }) : n2.forEach(function(r3, e2) {
7179
+ })) : n2.forEach((function(r3, e2) {
7262
7180
  return t2(e2, r3, n2);
7263
- });
7181
+ }));
7264
7182
  }
7265
7183
  function o(n2) {
7266
7184
  var t2 = n2[Q];
@@ -7289,8 +7207,7 @@ function p(n2) {
7289
7207
  return n2.o || n2.t;
7290
7208
  }
7291
7209
  function l(n2) {
7292
- if (Array.isArray(n2))
7293
- return Array.prototype.slice.call(n2);
7210
+ if (Array.isArray(n2)) return Array.prototype.slice.call(n2);
7294
7211
  var t2 = tn(n2);
7295
7212
  delete t2[Q];
7296
7213
  for (var r2 = nn(t2), e2 = 0; e2 < r2.length; e2++) {
@@ -7300,9 +7217,9 @@ function l(n2) {
7300
7217
  return Object.create(Object.getPrototypeOf(n2), t2);
7301
7218
  }
7302
7219
  function d(n2, e2) {
7303
- return void 0 === e2 && (e2 = false), y(n2) || t(n2) || !r(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e2 && i(n2, function(n3, t2) {
7220
+ return void 0 === e2 && (e2 = false), y(n2) || t(n2) || !r(n2) ? n2 : (o(n2) > 1 && (n2.set = n2.add = n2.clear = n2.delete = h), Object.freeze(n2), e2 && i(n2, (function(n3, t2) {
7304
7221
  return d(t2, true);
7305
- }, true), n2);
7222
+ }), true), n2);
7306
7223
  }
7307
7224
  function h() {
7308
7225
  n(2);
@@ -7339,36 +7256,30 @@ function P(t2, e2) {
7339
7256
  return e2.h.g || b("ES5").S(e2, t2, o2), o2 ? (i2[Q].P && (O(e2), n(4)), r(t2) && (t2 = M(e2, t2), e2.l || x(e2, t2)), e2.u && b("Patches").M(i2[Q], t2, e2.u, e2.s)) : t2 = M(e2, i2, []), O(e2), e2.u && e2.v(e2.u, e2.s), t2 !== H ? t2 : void 0;
7340
7257
  }
7341
7258
  function M(n2, t2, r2) {
7342
- if (y(t2))
7343
- return t2;
7259
+ if (y(t2)) return t2;
7344
7260
  var e2 = t2[Q];
7345
- if (!e2)
7346
- return i(t2, function(i2, o3) {
7347
- return A(n2, e2, t2, i2, o3, r2);
7348
- }, true), t2;
7349
- if (e2.A !== n2)
7350
- return t2;
7351
- if (!e2.P)
7352
- return x(n2, e2.t, true), e2.t;
7261
+ if (!e2) return i(t2, (function(i2, o3) {
7262
+ return A(n2, e2, t2, i2, o3, r2);
7263
+ }), true), t2;
7264
+ if (e2.A !== n2) return t2;
7265
+ if (!e2.P) return x(n2, e2.t, true), e2.t;
7353
7266
  if (!e2.I) {
7354
7267
  e2.I = true, e2.A._--;
7355
7268
  var o2 = 4 === e2.i || 5 === e2.i ? e2.o = l(e2.k) : e2.o;
7356
- i(3 === e2.i ? new Set(o2) : o2, function(t3, i2) {
7269
+ i(3 === e2.i ? new Set(o2) : o2, (function(t3, i2) {
7357
7270
  return A(n2, e2, o2, t3, i2, r2);
7358
- }), x(n2, o2, false), r2 && n2.u && b("Patches").R(e2, r2, n2.u, n2.s);
7271
+ })), x(n2, o2, false), r2 && n2.u && b("Patches").R(e2, r2, n2.u, n2.s);
7359
7272
  }
7360
7273
  return e2.o;
7361
7274
  }
7362
7275
  function A(e2, i2, o2, a2, c2, s2) {
7363
7276
  if ("production" !== process.env.NODE_ENV && c2 === o2 && n(5), t(c2)) {
7364
7277
  var v2 = M(e2, c2, s2 && i2 && 3 !== i2.i && !u(i2.D, a2) ? s2.concat(a2) : void 0);
7365
- if (f(o2, a2, v2), !t(v2))
7366
- return;
7278
+ if (f(o2, a2, v2), !t(v2)) return;
7367
7279
  e2.m = false;
7368
7280
  }
7369
7281
  if (r(c2) && !y(c2)) {
7370
- if (!e2.h.F && e2._ < 1)
7371
- return;
7282
+ if (!e2.h.F && e2._ < 1) return;
7372
7283
  M(e2, c2), i2 && i2.A.l || x(e2, c2);
7373
7284
  }
7374
7285
  }
@@ -7380,13 +7291,11 @@ function z(n2, t2) {
7380
7291
  return (r2 ? p(r2) : n2)[t2];
7381
7292
  }
7382
7293
  function I(n2, t2) {
7383
- if (t2 in n2)
7384
- for (var r2 = Object.getPrototypeOf(n2); r2; ) {
7385
- var e2 = Object.getOwnPropertyDescriptor(r2, t2);
7386
- if (e2)
7387
- return e2;
7388
- r2 = Object.getPrototypeOf(r2);
7389
- }
7294
+ if (t2 in n2) for (var r2 = Object.getPrototypeOf(n2); r2; ) {
7295
+ var e2 = Object.getOwnPropertyDescriptor(r2, t2);
7296
+ if (e2) return e2;
7297
+ r2 = Object.getPrototypeOf(r2);
7298
+ }
7390
7299
  }
7391
7300
  function k(n2) {
7392
7301
  n2.P || (n2.P = true, n2.l && k(n2.l));
@@ -7395,29 +7304,26 @@ function E(n2) {
7395
7304
  n2.o || (n2.o = l(n2.t));
7396
7305
  }
7397
7306
  function R(n2, t2, r2) {
7398
- var e2 = s(t2) ? b("MapSet").N(t2, r2) : v(t2) ? b("MapSet").T(t2, r2) : n2.g ? function(n3, t3) {
7307
+ var e2 = s(t2) ? b("MapSet").N(t2, r2) : v(t2) ? b("MapSet").T(t2, r2) : n2.g ? (function(n3, t3) {
7399
7308
  var r3 = Array.isArray(n3), e3 = { i: r3 ? 1 : 0, A: t3 ? t3.A : _(), P: false, I: false, D: {}, l: t3, t: n3, k: null, o: null, j: null, C: false }, i2 = e3, o2 = en;
7400
7309
  r3 && (i2 = [e3], o2 = on);
7401
7310
  var u2 = Proxy.revocable(i2, o2), a2 = u2.revoke, f2 = u2.proxy;
7402
7311
  return e3.k = f2, e3.j = a2, f2;
7403
- }(t2, r2) : b("ES5").J(t2, r2);
7312
+ })(t2, r2) : b("ES5").J(t2, r2);
7404
7313
  return (r2 ? r2.A : _()).p.push(e2), e2;
7405
7314
  }
7406
7315
  function D(e2) {
7407
- return t(e2) || n(22, e2), function n2(t2) {
7408
- if (!r(t2))
7409
- return t2;
7316
+ return t(e2) || n(22, e2), (function n2(t2) {
7317
+ if (!r(t2)) return t2;
7410
7318
  var e3, u2 = t2[Q], c2 = o(t2);
7411
7319
  if (u2) {
7412
- if (!u2.P && (u2.i < 4 || !b("ES5").K(u2)))
7413
- return u2.t;
7320
+ if (!u2.P && (u2.i < 4 || !b("ES5").K(u2))) return u2.t;
7414
7321
  u2.I = true, e3 = F(t2, c2), u2.I = false;
7415
- } else
7416
- e3 = F(t2, c2);
7417
- return i(e3, function(t3, r2) {
7322
+ } else e3 = F(t2, c2);
7323
+ return i(e3, (function(t3, r2) {
7418
7324
  u2 && a(u2.t, t3) === r2 || f(e3, t3, n2(r2));
7419
- }), 3 === c2 ? new Set(e3) : e3;
7420
- }(e2);
7325
+ })), 3 === c2 ? new Set(e3) : e3;
7326
+ })(e2);
7421
7327
  }
7422
7328
  function F(n2, t2) {
7423
7329
  switch (t2) {
@@ -7458,20 +7364,18 @@ var nn = "undefined" != typeof Reflect && Reflect.ownKeys ? Reflect.ownKeys : vo
7458
7364
  } : Object.getOwnPropertyNames;
7459
7365
  var tn = Object.getOwnPropertyDescriptors || function(n2) {
7460
7366
  var t2 = {};
7461
- return nn(n2).forEach(function(r2) {
7367
+ return nn(n2).forEach((function(r2) {
7462
7368
  t2[r2] = Object.getOwnPropertyDescriptor(n2, r2);
7463
- }), t2;
7369
+ })), t2;
7464
7370
  };
7465
7371
  var rn = {};
7466
7372
  var en = { get: function(n2, t2) {
7467
- if (t2 === Q)
7468
- return n2;
7373
+ if (t2 === Q) return n2;
7469
7374
  var e2 = p(n2);
7470
- if (!u(e2, t2))
7471
- return function(n3, t3, r2) {
7472
- var e3, i3 = I(t3, r2);
7473
- return i3 ? "value" in i3 ? i3.value : null === (e3 = i3.get) || void 0 === e3 ? void 0 : e3.call(n3.k) : void 0;
7474
- }(n2, e2, t2);
7375
+ if (!u(e2, t2)) return (function(n3, t3, r2) {
7376
+ var e3, i3 = I(t3, r2);
7377
+ return i3 ? "value" in i3 ? i3.value : null === (e3 = i3.get) || void 0 === e3 ? void 0 : e3.call(n3.k) : void 0;
7378
+ })(n2, e2, t2);
7475
7379
  var i2 = e2[t2];
7476
7380
  return n2.I || !r(i2) ? i2 : i2 === z(n2.t, t2) ? (E(n2), n2.o[t2] = R(n2.A.h, i2, n2)) : i2;
7477
7381
  }, has: function(n2, t2) {
@@ -7480,14 +7384,11 @@ var en = { get: function(n2, t2) {
7480
7384
  return Reflect.ownKeys(p(n2));
7481
7385
  }, set: function(n2, t2, r2) {
7482
7386
  var e2 = I(p(n2), t2);
7483
- if (null == e2 ? void 0 : e2.set)
7484
- return e2.set.call(n2.k, r2), true;
7387
+ if (null == e2 ? void 0 : e2.set) return e2.set.call(n2.k, r2), true;
7485
7388
  if (!n2.P) {
7486
7389
  var i2 = z(p(n2), t2), o2 = null == i2 ? void 0 : i2[Q];
7487
- if (o2 && o2.t === r2)
7488
- return n2.o[t2] = r2, n2.D[t2] = false, true;
7489
- if (c(r2, i2) && (void 0 !== r2 || u(n2.t, t2)))
7490
- return true;
7390
+ if (o2 && o2.t === r2) return n2.o[t2] = r2, n2.D[t2] = false, true;
7391
+ if (c(r2, i2) && (void 0 !== r2 || u(n2.t, t2))) return true;
7491
7392
  E(n2), k(n2);
7492
7393
  }
7493
7394
  return n2.o[t2] === r2 && "number" != typeof r2 && (void 0 !== r2 || t2 in n2.o) || (n2.o[t2] = r2, n2.D[t2] = true, true);
@@ -7504,16 +7405,16 @@ var en = { get: function(n2, t2) {
7504
7405
  n(12);
7505
7406
  } };
7506
7407
  var on = {};
7507
- i(en, function(n2, t2) {
7408
+ i(en, (function(n2, t2) {
7508
7409
  on[n2] = function() {
7509
7410
  return arguments[0] = arguments[0][0], t2.apply(this, arguments);
7510
7411
  };
7511
- }), on.deleteProperty = function(t2, r2) {
7412
+ })), on.deleteProperty = function(t2, r2) {
7512
7413
  return "production" !== process.env.NODE_ENV && isNaN(parseInt(r2)) && n(13), en.deleteProperty.call(this, t2[0], r2);
7513
7414
  }, on.set = function(t2, r2, e2) {
7514
7415
  return "production" !== process.env.NODE_ENV && "length" !== r2 && isNaN(parseInt(r2)) && n(14), en.set.call(this, t2[0], r2, e2, t2[0]);
7515
7416
  };
7516
- var un = function() {
7417
+ var un = (function() {
7517
7418
  function e2(t2) {
7518
7419
  var e3 = this;
7519
7420
  this.g = B, this.F = true, this.produce = function(t3, i3, o2) {
@@ -7524,12 +7425,11 @@ var un = function() {
7524
7425
  return function(n2) {
7525
7426
  var t4 = this;
7526
7427
  void 0 === n2 && (n2 = u2);
7527
- for (var r2 = arguments.length, e4 = Array(r2 > 1 ? r2 - 1 : 0), o3 = 1; o3 < r2; o3++)
7528
- e4[o3 - 1] = arguments[o3];
7529
- return a2.produce(n2, function(n3) {
7428
+ for (var r2 = arguments.length, e4 = Array(r2 > 1 ? r2 - 1 : 0), o3 = 1; o3 < r2; o3++) e4[o3 - 1] = arguments[o3];
7429
+ return a2.produce(n2, (function(n3) {
7530
7430
  var r3;
7531
7431
  return (r3 = i3).call.apply(r3, [t4, n3].concat(e4));
7532
- });
7432
+ }));
7533
7433
  };
7534
7434
  }
7535
7435
  var f2;
@@ -7540,28 +7440,26 @@ var un = function() {
7540
7440
  } finally {
7541
7441
  v2 ? O(c2) : g(c2);
7542
7442
  }
7543
- return "undefined" != typeof Promise && f2 instanceof Promise ? f2.then(function(n2) {
7443
+ return "undefined" != typeof Promise && f2 instanceof Promise ? f2.then((function(n2) {
7544
7444
  return j(c2, o2), P(n2, c2);
7545
- }, function(n2) {
7445
+ }), (function(n2) {
7546
7446
  throw O(c2), n2;
7547
- }) : (j(c2, o2), P(f2, c2));
7447
+ })) : (j(c2, o2), P(f2, c2));
7548
7448
  }
7549
7449
  if (!t3 || "object" != typeof t3) {
7550
- if ((f2 = i3(t3)) === H)
7551
- return;
7450
+ if ((f2 = i3(t3)) === H) return;
7552
7451
  return void 0 === f2 && (f2 = t3), e3.F && d(f2, true), f2;
7553
7452
  }
7554
7453
  n(21, t3);
7555
7454
  }, this.produceWithPatches = function(n2, t3) {
7556
7455
  return "function" == typeof n2 ? function(t4) {
7557
- for (var r3 = arguments.length, i4 = Array(r3 > 1 ? r3 - 1 : 0), o2 = 1; o2 < r3; o2++)
7558
- i4[o2 - 1] = arguments[o2];
7559
- return e3.produceWithPatches(t4, function(t5) {
7456
+ for (var r3 = arguments.length, i4 = Array(r3 > 1 ? r3 - 1 : 0), o2 = 1; o2 < r3; o2++) i4[o2 - 1] = arguments[o2];
7457
+ return e3.produceWithPatches(t4, (function(t5) {
7560
7458
  return n2.apply(void 0, [t5].concat(i4));
7561
- });
7562
- } : [e3.produce(n2, t3, function(n3, t4) {
7459
+ }));
7460
+ } : [e3.produce(n2, t3, (function(n3, t4) {
7563
7461
  r2 = n3, i3 = t4;
7564
- }), r2, i3];
7462
+ })), r2, i3];
7565
7463
  var r2, i3;
7566
7464
  }, "boolean" == typeof (null == t2 ? void 0 : t2.useProxies) && this.setUseProxies(t2.useProxies), "boolean" == typeof (null == t2 ? void 0 : t2.autoFreeze) && this.setAutoFreeze(t2.autoFreeze);
7567
7465
  }
@@ -7589,11 +7487,11 @@ var un = function() {
7589
7487
  }
7590
7488
  }
7591
7489
  var o2 = b("Patches").$;
7592
- return t(n2) ? o2(n2, r2) : this.produce(n2, function(n3) {
7490
+ return t(n2) ? o2(n2, r2) : this.produce(n2, (function(n3) {
7593
7491
  return o2(n3, r2.slice(e3 + 1));
7594
- });
7492
+ }));
7595
7493
  }, e2;
7596
- }();
7494
+ })();
7597
7495
  var an = new un();
7598
7496
  var fn = an.produce;
7599
7497
  var cn = an.produceWithPatches.bind(an);
@@ -7700,8 +7598,7 @@ var RemoteSync = class {
7700
7598
  __publicField(this, "objectUnsubs", /* @__PURE__ */ new Map());
7701
7599
  __publicField(this, "studio");
7702
7600
  __publicField(this, "activeSheet");
7703
- if (typeof BroadcastChannel === "undefined")
7704
- return;
7601
+ if (typeof BroadcastChannel === "undefined") return;
7705
7602
  this.channel = new BroadcastChannel(
7706
7603
  "theatre-remote:".concat(project.address.projectId)
7707
7604
  );
@@ -7779,14 +7676,12 @@ var RemoteSync = class {
7779
7676
  }
7780
7677
  attachStudio(studio) {
7781
7678
  this.studio = studio;
7782
- if (!this.isEditor || !this.channel)
7783
- return;
7679
+ if (!this.isEditor || !this.channel) return;
7784
7680
  const channel = this.channel;
7785
7681
  const projectId = this.project.address.projectId;
7786
7682
  studio.publicApi.onSelectionChange((selection) => {
7787
7683
  for (const item of selection) {
7788
- if (item.address.projectId !== projectId)
7789
- continue;
7684
+ if (item.address.projectId !== projectId) continue;
7790
7685
  if (item.type === "Theatre_Sheet_PublicAPI") {
7791
7686
  this.activeSheet = this.sheets.get(item.address.sheetId);
7792
7687
  const message = {
@@ -7841,8 +7736,7 @@ var RemoteSync = class {
7841
7736
  }
7842
7737
  case "updateSheetObject": {
7843
7738
  const obj = this.objects.get(msg.data.sheetObject);
7844
- if (obj)
7845
- obj.setRemoteOverride(msg.data.values);
7739
+ if (obj) obj.setRemoteOverride(msg.data.values);
7846
7740
  break;
7847
7741
  }
7848
7742
  case "updateTimeline": {
@@ -7889,10 +7783,8 @@ function _coreLogger(config) {
7889
7783
  });
7890
7784
  if (config) {
7891
7785
  const { logger, logging } = config;
7892
- if (logger)
7893
- internal2.configureLogger(logger);
7894
- if (logging)
7895
- internal2.configureLogging(logging);
7786
+ if (logger) internal2.configureLogger(logger);
7787
+ if (logging) internal2.configureLogging(logging);
7896
7788
  else {
7897
7789
  internal2.configureLogging({
7898
7790
  dev: process.env.NODE_ENV !== "production"
@@ -7939,8 +7831,7 @@ var isRGBA = (value) => {
7939
7831
  function stripImageAssetsFromAhistoricStaticOverrides(ahistoricStaticOverridesByObject) {
7940
7832
  for (const objectKey of Object.keys(ahistoricStaticOverridesByObject)) {
7941
7833
  const overrides = ahistoricStaticOverridesByObject[objectKey];
7942
- if (!overrides)
7943
- continue;
7834
+ if (!overrides) continue;
7944
7835
  const cloned = cloneDeep_default(overrides);
7945
7836
  forEachPropDeep(
7946
7837
  cloned,
@@ -7959,8 +7850,7 @@ function stripImageAssetsFromAhistoricStaticOverrides(ahistoricStaticOverridesBy
7959
7850
  }
7960
7851
  }
7961
7852
  function isDirectAssetUrl(assetId) {
7962
- if (/^(?:https?:\/\/|blob:|data:)/i.test(assetId))
7963
- return true;
7853
+ if (/^(?:https?:\/\/|blob:|data:)/i.test(assetId)) return true;
7964
7854
  return assetId.includes("/") || assetId.includes("\\");
7965
7855
  }
7966
7856
 
@@ -8120,8 +8010,7 @@ var Project = class {
8120
8010
  getSheets() {
8121
8011
  const sheets = [];
8122
8012
  for (const template of Object.values(this._sheetTemplates.get())) {
8123
- if (!template)
8124
- continue;
8013
+ if (!template) continue;
8125
8014
  sheets.push(...template.getInstances());
8126
8015
  }
8127
8016
  return sheets;
@@ -8189,13 +8078,11 @@ var Project = class {
8189
8078
  for (const [sheetId, template] of Object.entries(
8190
8079
  this._sheetTemplates.get()
8191
8080
  )) {
8192
- if (!template)
8193
- continue;
8081
+ if (!template) continue;
8194
8082
  for (const [namespacePathKey, config] of Object.entries(
8195
8083
  template.getPendingOutlineNamespaces()
8196
8084
  )) {
8197
- if (!config)
8198
- continue;
8085
+ if (!config) continue;
8199
8086
  this._commitOutlineNamespaceConfig(
8200
8087
  sheetId,
8201
8088
  namespacePathKey,
@@ -8225,8 +8112,7 @@ var Project = class {
8225
8112
  _stripImageAssetsFromAhistoricState() {
8226
8113
  const strip = (ahistoric) => {
8227
8114
  for (const sheetState of Object.values(ahistoric.sheetsById ?? {})) {
8228
- if (!sheetState)
8229
- continue;
8115
+ if (!sheetState) continue;
8230
8116
  stripImageAssetsFromAhistoricStaticOverrides(
8231
8117
  sheetState.staticOverrides.byObject
8232
8118
  );
@@ -8235,8 +8121,7 @@ var Project = class {
8235
8121
  if (this._studio) {
8236
8122
  this._studio.transaction(({ drafts }) => {
8237
8123
  const ahistoric = drafts.ahistoric.coreByProject[this.address.projectId];
8238
- if (ahistoric)
8239
- strip(ahistoric);
8124
+ if (ahistoric) strip(ahistoric);
8240
8125
  });
8241
8126
  } else {
8242
8127
  this._mutateCoreAhistoric(strip);
@@ -8244,12 +8129,10 @@ var Project = class {
8244
8129
  }
8245
8130
  _stripNonPersistingPropsFromAhistoric(sheetId, objectKey, config) {
8246
8131
  const paths = getNonPersistingPropPathEncodings(config);
8247
- if (paths.size === 0)
8248
- return;
8132
+ if (paths.size === 0) return;
8249
8133
  const strip = (ahistoric) => {
8250
8134
  const sheetState = ahistoric.sheetsById?.[sheetId];
8251
- if (!sheetState)
8252
- return;
8135
+ if (!sheetState) return;
8253
8136
  const staticOverrides = sheetState.staticOverrides.byObject[objectKey];
8254
8137
  if (staticOverrides) {
8255
8138
  sheetState.staticOverrides.byObject[objectKey] = stripTransientPathsFromSerializableMap(staticOverrides, paths);
@@ -8258,8 +8141,7 @@ var Project = class {
8258
8141
  if (this._studio) {
8259
8142
  this._studio.transaction(({ drafts }) => {
8260
8143
  const ahistoric = drafts.ahistoric.coreByProject[this.address.projectId];
8261
- if (ahistoric)
8262
- strip(ahistoric);
8144
+ if (ahistoric) strip(ahistoric);
8263
8145
  });
8264
8146
  } else {
8265
8147
  this._mutateCoreAhistoric(strip);
@@ -8267,12 +8149,10 @@ var Project = class {
8267
8149
  }
8268
8150
  _stripNonPersistingPropsFromHistoric(sheetId, objectKey, config) {
8269
8151
  const paths = getNonPersistingPropPathEncodings(config);
8270
- if (paths.size === 0)
8271
- return;
8152
+ if (paths.size === 0) return;
8272
8153
  const strip = (historic) => {
8273
8154
  const sheetState = historic.sheetsById[sheetId];
8274
- if (!sheetState)
8275
- return;
8155
+ if (!sheetState) return;
8276
8156
  stripTransientPropsFromObjectInSheetState(sheetState, objectKey, paths);
8277
8157
  stripSequenceTracksForPathsFromObjectInSheetState(
8278
8158
  sheetState,
@@ -8283,8 +8163,7 @@ var Project = class {
8283
8163
  if (this._studio) {
8284
8164
  this._studio.transaction(({ drafts }) => {
8285
8165
  const historic = drafts.historic.coreByProject[this.address.projectId];
8286
- if (historic)
8287
- strip(historic);
8166
+ if (historic) strip(historic);
8288
8167
  });
8289
8168
  } else {
8290
8169
  this._onDiskStateAtom.reduce((state) => {
@@ -8301,22 +8180,19 @@ var Project = class {
8301
8180
  _stripPropsMissingFromConfig(sheetId, objectKey, config) {
8302
8181
  const stripHistoric = (historic) => {
8303
8182
  const sheetState = historic.sheetsById[sheetId];
8304
- if (!sheetState)
8305
- return;
8183
+ if (!sheetState) return;
8306
8184
  const orphaned = getOrphanedTopLevelPropPathEncodings(
8307
8185
  config,
8308
8186
  sheetState,
8309
8187
  objectKey
8310
8188
  );
8311
- if (orphaned.size === 0)
8312
- return;
8189
+ if (orphaned.size === 0) return;
8313
8190
  stripTransientPropsFromObjectInSheetState(sheetState, objectKey, orphaned);
8314
8191
  };
8315
8192
  if (this._studio) {
8316
8193
  this._studio.transaction(({ drafts }) => {
8317
8194
  const historic = drafts.historic.coreByProject[this.address.projectId];
8318
- if (historic)
8319
- stripHistoric(historic);
8195
+ if (historic) stripHistoric(historic);
8320
8196
  });
8321
8197
  } else {
8322
8198
  this._onDiskStateAtom.reduce((state) => {
@@ -8327,15 +8203,13 @@ var Project = class {
8327
8203
  }
8328
8204
  const stripAhistoric = (ahistoric) => {
8329
8205
  const sheetState = ahistoric.sheetsById?.[sheetId];
8330
- if (!sheetState)
8331
- return;
8206
+ if (!sheetState) return;
8332
8207
  const orphaned = getOrphanedTopLevelPropPathEncodings(
8333
8208
  config,
8334
8209
  sheetState,
8335
8210
  objectKey
8336
8211
  );
8337
- if (orphaned.size === 0)
8338
- return;
8212
+ if (orphaned.size === 0) return;
8339
8213
  const staticOverrides = sheetState.staticOverrides.byObject[objectKey];
8340
8214
  if (staticOverrides) {
8341
8215
  sheetState.staticOverrides.byObject[objectKey] = stripTransientPathsFromSerializableMap(staticOverrides, orphaned);
@@ -8344,20 +8218,17 @@ var Project = class {
8344
8218
  if (this._studio) {
8345
8219
  this._studio.transaction(({ drafts }) => {
8346
8220
  const ahistoric = drafts.ahistoric.coreByProject[this.address.projectId];
8347
- if (ahistoric)
8348
- stripAhistoric(ahistoric);
8221
+ if (ahistoric) stripAhistoric(ahistoric);
8349
8222
  });
8350
8223
  } else {
8351
8224
  this._mutateCoreAhistoric(stripAhistoric);
8352
8225
  }
8353
8226
  }
8354
8227
  _stripTransientPropsFromHistoric(sheetId, objectKey, transientPaths) {
8355
- if (transientPaths.size === 0)
8356
- return;
8228
+ if (transientPaths.size === 0) return;
8357
8229
  const strip = (historic) => {
8358
8230
  const sheetState = historic.sheetsById[sheetId];
8359
- if (!sheetState)
8360
- return;
8231
+ if (!sheetState) return;
8361
8232
  stripTransientPropsFromObjectInSheetState(
8362
8233
  sheetState,
8363
8234
  objectKey,
@@ -8367,8 +8238,7 @@ var Project = class {
8367
8238
  if (this._studio) {
8368
8239
  this._studio.transaction(({ drafts }) => {
8369
8240
  const historic = drafts.historic.coreByProject[this.address.projectId];
8370
- if (historic)
8371
- strip(historic);
8241
+ if (historic) strip(historic);
8372
8242
  });
8373
8243
  } else {
8374
8244
  this._onDiskStateAtom.reduce((state) => {
@@ -8379,12 +8249,10 @@ var Project = class {
8379
8249
  }
8380
8250
  }
8381
8251
  _stripSequenceTracksFromHistoric(sheetId, objectKey, propPaths) {
8382
- if (propPaths.size === 0)
8383
- return;
8252
+ if (propPaths.size === 0) return;
8384
8253
  const strip = (historic) => {
8385
8254
  const sheetState = historic.sheetsById[sheetId];
8386
- if (!sheetState)
8387
- return;
8255
+ if (!sheetState) return;
8388
8256
  stripSequenceTracksForPathsFromObjectInSheetState(
8389
8257
  sheetState,
8390
8258
  objectKey,
@@ -8394,8 +8262,7 @@ var Project = class {
8394
8262
  if (this._studio) {
8395
8263
  this._studio.transaction(({ drafts }) => {
8396
8264
  const historic = drafts.historic.coreByProject[this.address.projectId];
8397
- if (historic)
8398
- strip(historic);
8265
+ if (historic) strip(historic);
8399
8266
  });
8400
8267
  } else {
8401
8268
  this._onDiskStateAtom.reduce((state) => {
@@ -8589,8 +8456,7 @@ var deepValidateOnDiskState = (projectId, s2) => {
8589
8456
  shallowValidateOnDiskState(projectId, s2);
8590
8457
  };
8591
8458
  var validateProjectNumberPrecisionOrThrow = (numberPrecision) => {
8592
- if (numberPrecision === void 0)
8593
- return;
8459
+ if (numberPrecision === void 0) return;
8594
8460
  if (typeof numberPrecision !== "number" || !isFinite(numberPrecision) || numberPrecision < 0 || Math.floor(numberPrecision) !== numberPrecision) {
8595
8461
  throw new InvalidArgumentError(
8596
8462
  "Argument config.numberPrecision in Theatre.getProject(projectId, config) must be a non-negative integer. ".concat(userReadableTypeOfValue_default(
@@ -8649,7 +8515,7 @@ var CoreBundle = class {
8649
8515
  return "Theatre_CoreBundle";
8650
8516
  }
8651
8517
  get version() {
8652
- return "0.2.2";
8518
+ return "0.3.0-rc.1";
8653
8519
  }
8654
8520
  getBitsForStudio(studio, callback) {
8655
8521
  if (this._studio) {
@@ -8671,8 +8537,7 @@ var CoreBundle = class {
8671
8537
  // core/src/index.ts
8672
8538
  registerCoreBundle();
8673
8539
  function registerCoreBundle() {
8674
- if (typeof window == "undefined")
8675
- return;
8540
+ if (typeof window == "undefined") return;
8676
8541
  const existingBundle = (
8677
8542
  // @ts-ignore ignore
8678
8543
  window[coreBundle]