@idle-screens/saver-metaquarium 0.9.0 → 0.10.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.
@@ -1873,11 +1873,16 @@ function parseVignette(script, marks) {
1873
1873
  const tg = target(word.slice(1));
1874
1874
  if (tg) for (const i of who) state[i] = { ...state[i], faceActor: tg.actor === i ? null : tg.actor, facePoint: tg.point };
1875
1875
  } else if (word === "circle" || word === "follow") {
1876
- const tg = target(words[w + 1] ?? "");
1876
+ const targetName = words[w + 1] ?? "";
1877
+ const tg = target(targetName);
1877
1878
  w += 1;
1878
1879
  if (!tg) continue;
1880
+ if (word === "follow" && tg.actor === null) {
1881
+ problems.push(`beat ${bi + 1}: "follow ${targetName}" needs another actor, not a mark`);
1882
+ continue;
1883
+ }
1879
1884
  for (const i of who) {
1880
- if (word === "follow" && tg.actor !== null && tg.actor !== i) state[i] = { ...state[i], follow: tg.actor };
1885
+ if (word === "follow" && tg.actor !== i) state[i] = { ...state[i], follow: tg.actor };
1881
1886
  else if (word === "circle") state[i] = { ...state[i], circle: tg, faceActor: null };
1882
1887
  }
1883
1888
  for (const i of who) {
@@ -1891,6 +1896,9 @@ function parseVignette(script, marks) {
1891
1896
  }
1892
1897
  }
1893
1898
  }
1899
+ state.forEach((sb, i) => {
1900
+ if (sb.circle) state[i] = { ...sb, to: at[i] };
1901
+ });
1894
1902
  state.forEach((sb, i) => {
1895
1903
  if (sb.follow === null) return;
1896
1904
  const lead = state[sb.follow].to;
@@ -2477,8 +2485,8 @@ var RECIPES = [
2477
2485
  }
2478
2486
  ];
2479
2487
  var recipe = (id) => RECIPES.find((r) => r.id === id);
2480
- function recipeTrack(params) {
2481
- return { deltas: Object.entries(params).map(([path, value]) => ({ t: 0, path, value })) };
2488
+ function recipeTrack(params, seed = 0) {
2489
+ return { program: "metaquarium", seed, deltas: Object.entries(params).map(([path, value]) => ({ t: 0, path, value })) };
2482
2490
  }
2483
2491
  function validateMetaquariumParams(params) {
2484
2492
  const out = [];
@@ -2658,7 +2666,9 @@ var METAQUARIUM_PARAMS = {
2658
2666
  * look. Read at mount. */
2659
2667
  fishLighting: { type: "enum", default: "lit", options: ["lit", "flat"], ease: "step" },
2660
2668
  /** Metallic plates read as metal (a generated chrome matcap — reflection
2661
- * with no environment map and no lights). `off` is the flat unlit atlas. */
2669
+ * with no environment map and no lights). `off` is non-metallic instead —
2670
+ * still lit under `fishLighting: 'lit'`; pair with `fishLighting: 'flat'`
2671
+ * for the original unlit atlas look. */
2662
2672
  fishMetal: { type: "enum", default: "on", options: ["on", "off"], ease: "step" },
2663
2673
  /** Eye life, 0..1: blinks on a personal clock, idle saccades, pupils that
2664
2674
  * lead a turn or a climb, eyes on whoever a vignette has it talking to, a
@@ -2936,4 +2946,4 @@ export {
2936
2946
  paramSpaceWith,
2937
2947
  coerceNum
2938
2948
  };
2939
- //# sourceMappingURL=chunk-PHXRMLJT.js.map
2949
+ //# sourceMappingURL=chunk-34MAIH5W.js.map