@hyperframes/core 0.6.113 → 0.6.114

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.
@@ -1 +1 @@
1
- {"version":3,"file":"slideshow.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/slideshow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA4CzC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EAmCjD,CAAC"}
1
+ {"version":3,"file":"slideshow.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/slideshow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA6CzC,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EAmCjD,CAAC"}
@@ -1,26 +1,26 @@
1
1
  import { readAttr } from "../utils";
2
2
  import { parseSlideshowManifest, resolveSlideshow } from "../../slideshow/parseSlideshow";
3
- /** Mirrors isSceneLikeCompositionId in packages/core/src/runtime/timeline.ts */
4
- function isSceneLikeCompositionId(compositionId) {
5
- const normalized = compositionId.trim().toLowerCase();
6
- if (!normalized || normalized === "main")
7
- return false;
8
- if (normalized.includes("caption"))
9
- return false;
10
- if (normalized.includes("ambient"))
11
- return false;
12
- return true;
13
- }
3
+ import { isSceneLikeCompositionId } from "../../slideshow/sceneId";
14
4
  function parseTiming(raw) {
15
5
  const startStr = readAttr(raw, "data-start");
16
- const durationStr = readAttr(raw, "data-duration");
17
- if (startStr === null || durationStr === null)
6
+ if (startStr === null)
18
7
  return null;
19
8
  const start = Number(startStr);
20
- const duration = Number(durationStr);
21
- if (!Number.isFinite(start) || !Number.isFinite(duration))
9
+ if (!Number.isFinite(start))
22
10
  return null;
23
- return { start, duration };
11
+ const durationStr = readAttr(raw, "data-duration");
12
+ if (durationStr !== null) {
13
+ const duration = Number(durationStr);
14
+ if (Number.isFinite(duration))
15
+ return { start, duration };
16
+ }
17
+ const endStr = readAttr(raw, "data-end") ?? readAttr(raw, "data-hf-authored-end");
18
+ if (endStr !== null) {
19
+ const end = Number(endStr);
20
+ if (Number.isFinite(end) && end > start)
21
+ return { start, duration: end - start };
22
+ }
23
+ return null;
24
24
  }
25
25
  function collectCompositionIdScenes(ctx, seen, out) {
26
26
  for (const tag of ctx.tags) {
@@ -1 +1 @@
1
- {"version":3,"file":"slideshow.js","sourceRoot":"","sources":["../../../src/lint/rules/slideshow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slideshow.js","sourceRoot":"","sources":["../../../src/lint/rules/slideshow.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAInE,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACnD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAClF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC;IACnF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAgB,EAAE,IAAiB,EAAE,GAAY;IACnF,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;YACvF,SAAS;QACX,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC;YAAE,SAAS;QAC9C,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAgB;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,0BAA0B,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAE7C,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,mBAAmB;gBACzB,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,wDAAwD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC7G,OAAO,EACL,oIAAoI;aACvI,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE/B,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,6BAA6B,KAAK,EAAE;gBAC7C,OAAO,EACL,4JAA4J;aAC/J,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1,4 +1,13 @@
1
1
  import type { SlideshowManifest, ResolvedSlideshow } from "./slideshow.types";
2
+ export declare const SLIDESHOW_ISLAND_TYPE = "application/hyperframes-slideshow+json";
3
+ /**
4
+ * Builds the island <script> matcher. Capture group 1 = inner JSON.
5
+ *
6
+ * Factory (fresh RegExp per call) on purpose: a RegExp with the `g` flag carries
7
+ * a mutable `lastIndex`, so callers that need `g` must call this each time rather
8
+ * than caching a shared instance.
9
+ */
10
+ export declare function slideshowIslandRegex(flags?: string): RegExp;
2
11
  interface SceneRange {
3
12
  id: string;
4
13
  start: number;
@@ -1 +1 @@
1
- {"version":3,"file":"parseSlideshow.d.ts","sourceRoot":"","sources":["../../src/slideshow/parseSlideshow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAI3B,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAe7E;AA2ED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,UAAU,EAAE,GACnB;IAAE,QAAQ,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAoCnD"}
1
+ {"version":3,"file":"parseSlideshow.d.ts","sourceRoot":"","sources":["../../src/slideshow/parseSlideshow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EAGjB,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,qBAAqB,2CAA2C,CAAC;AAE9E;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAM,GAAG,MAAM,CAKxD;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAY7E;AA2GD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,UAAU,EAAE,GACnB;IAAE,QAAQ,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CA2CnD"}
@@ -1,8 +1,21 @@
1
- const ISLAND_TYPE = "application/hyperframes-slideshow+json";
1
+ export const SLIDESHOW_ISLAND_TYPE = "application/hyperframes-slideshow+json";
2
+ /**
3
+ * Builds the island <script> matcher. Capture group 1 = inner JSON.
4
+ *
5
+ * Factory (fresh RegExp per call) on purpose: a RegExp with the `g` flag carries
6
+ * a mutable `lastIndex`, so callers that need `g` must call this each time rather
7
+ * than caching a shared instance.
8
+ */
9
+ export function slideshowIslandRegex(flags = "i") {
10
+ // Escape ALL regex metacharacters in the constant (CodeQL flags the incomplete
11
+ // `\` escape). The constant has none today, but a complete escape is correct.
12
+ const escaped = SLIDESHOW_ISLAND_TYPE.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
13
+ return new RegExp(`<script[^>]*type=["']${escaped}["'][^>]*>([\\s\\S]*?)<\\/script>`, flags);
14
+ }
2
15
  /** Extract the JSON island from composition HTML. Returns null if absent. */
3
16
  export function parseSlideshowManifest(html) {
4
17
  // Match <script type="application/hyperframes-slideshow+json"> ... </script>
5
- const re = new RegExp(`<script[^>]*type=["']${ISLAND_TYPE.replace(/[.+]/g, "\\$&")}["'][^>]*>([\\s\\S]*?)<\\/script>`, "i");
18
+ const re = slideshowIslandRegex("i");
6
19
  const match = re.exec(html);
7
20
  if (!match || match[1] === undefined)
8
21
  return null;
@@ -15,12 +28,39 @@ export function parseSlideshowManifest(html) {
15
28
  }
16
29
  return parsed;
17
30
  }
18
- function isManifest(v) {
31
+ function isSlideRef(v) {
19
32
  if (typeof v !== "object" || v === null)
20
33
  return false;
21
- if (!("slides" in v))
34
+ const r = v;
35
+ if (typeof r["sceneId"] !== "string")
36
+ return false;
37
+ if (r["fragments"] !== undefined &&
38
+ !(Array.isArray(r["fragments"]) && r["fragments"].every((n) => typeof n === "number")))
39
+ return false;
40
+ if (r["hotspots"] !== undefined && !Array.isArray(r["hotspots"]))
22
41
  return false;
23
- return Array.isArray(v.slides);
42
+ return true;
43
+ }
44
+ function isSlideSequence(v) {
45
+ if (typeof v !== "object" || v === null)
46
+ return false;
47
+ const s = v;
48
+ return (typeof s["id"] === "string" &&
49
+ typeof s["label"] === "string" &&
50
+ Array.isArray(s["slides"]) &&
51
+ s["slides"].every(isSlideRef));
52
+ }
53
+ function isManifest(v) {
54
+ if (typeof v !== "object" || v === null || Array.isArray(v))
55
+ return false;
56
+ const o = v;
57
+ if (!Array.isArray(o["slides"]) || !o["slides"].every(isSlideRef))
58
+ return false;
59
+ if (o["slideSequences"] !== undefined) {
60
+ if (!Array.isArray(o["slideSequences"]) || !o["slideSequences"].every(isSlideSequence))
61
+ return false;
62
+ }
63
+ return true;
24
64
  }
25
65
  function missingBoundError(sceneId, missing) {
26
66
  const present = missing === "startTime" ? "endTime" : "startTime";
@@ -63,7 +103,10 @@ function validateFragments(sceneId, fragments, start, end, errors) {
63
103
  function resolveSlide(ref, sceneById, errors) {
64
104
  const scene = sceneById.get(ref.sceneId);
65
105
  const { start, end } = resolveTimeRange(ref, scene, errors);
66
- const fragments = [...(ref.fragments ?? [])].sort((a, b) => a - b);
106
+ if (ref.startTime !== undefined && ref.endTime !== undefined && end <= start) {
107
+ errors.push(`slide "${ref.sceneId}" has endTime (${end}) <= startTime (${start})`);
108
+ }
109
+ const fragments = [...new Set(ref.fragments ?? [])].sort((a, b) => a - b);
67
110
  validateFragments(ref.sceneId, fragments, start, end, errors);
68
111
  return { ...ref, start, end, fragments, hotspots: ref.hotspots ?? [] };
69
112
  }
@@ -72,6 +115,10 @@ export function resolveSlideshow(manifest, scenes) {
72
115
  const sceneById = new Map(scenes.map((s) => [s.id, s]));
73
116
  const sequences = {};
74
117
  for (const seq of manifest.slideSequences ?? []) {
118
+ // Flag duplicate sequence ids rather than silently overwriting the earlier one.
119
+ if (Object.prototype.hasOwnProperty.call(sequences, seq.id)) {
120
+ errors.push(`duplicate slideSequence id "${seq.id}" — only the last definition is kept`);
121
+ }
75
122
  sequences[seq.id] = {
76
123
  id: seq.id,
77
124
  label: seq.label,
@@ -83,9 +130,13 @@ export function resolveSlideshow(manifest, scenes) {
83
130
  const allSlides = [...slides, ...Object.values(sequences).flatMap((s) => s.slides)];
84
131
  for (const slide of allSlides) {
85
132
  for (const h of slide.hotspots) {
86
- if (!sequences[h.target]) {
133
+ const seq = sequences[h.target];
134
+ if (!seq) {
87
135
  errors.push(`hotspot "${h.id}" targets unknown sequence "${h.target}"`);
88
136
  }
137
+ else if (seq.slides.length === 0) {
138
+ errors.push(`hotspot "${h.id}" targets empty sequence "${h.target}"`);
139
+ }
89
140
  }
90
141
  }
91
142
  // Validate no main-line overlap (sorted by start; adjacent compare).
@@ -1 +1 @@
1
- {"version":3,"file":"parseSlideshow.js","sourceRoot":"","sources":["../../src/slideshow/parseSlideshow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseSlideshow.js","sourceRoot":"","sources":["../../src/slideshow/parseSlideshow.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,qBAAqB,GAAG,wCAAwC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAK,GAAG,GAAG;IAC9C,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC7E,OAAO,IAAI,MAAM,CAAC,wBAAwB,OAAO,mCAAmC,EAAE,KAAK,CAAC,CAAC;AAC/F,CAAC;AAQD,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,6EAA6E;IAC7E,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACnD,IACE,CAAC,CAAC,WAAW,CAAC,KAAK,SAAS;QAC5B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QAEtF,OAAO,KAAK,CAAC;IACf,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,eAAe,CAAC,CAAU;IACjC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,OAAO,CACL,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;QAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,CAAC,GAAG,CAA4B,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;YACpF,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,OAAgC;IAC1E,MAAM,OAAO,GAAG,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAClE,OAAO,UAAU,OAAO,UAAU,OAAO,QAAQ,OAAO,kCAAkC,OAAO,IAAI,CAAC;AACxG,CAAC;AAED,qCAAqC;AACrC,SAAS,gBAAgB,CACvB,GAAa,EACb,KAA6B,EAC7B,MAAgB;IAEhB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;IAE5C,sDAAsD;IACtD,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,8CAA8C;IAC9C,IAAI,SAAS,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,wCAAwC,OAAO,GAAG,CAAC,CAAC;YAChE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,OAAO;QACL,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,KAAK;QAC/B,GAAG,EAAE,OAAO,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAe,EACf,SAAmB,EACnB,KAAa,EACb,GAAW,EACX,MAAgB;IAEhB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,cAAc,CAAC,sBAAsB,KAAK,KAAK,GAAG,GAAG,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,GAAa,EACb,SAAkC,EAClC,MAAgB;IAEhB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,OAAO,kBAAkB,GAAG,mBAAmB,KAAK,GAAG,CAAC,CAAC;IACrF,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC9D,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAA2B,EAC3B,MAAoB;IAEpB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAExD,MAAM,SAAS,GAA0C,EAAE,CAAC;IAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,gFAAgF;QAChF,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,EAAE,sCAAsC,CAAC,CAAC;QAC3F,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG;YAClB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9E,4BAA4B;IAC5B,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1E,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtE,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Whether a composition id names a "scene-like" composition — i.e. a real slide
3
+ * scene, not the root timeline (`main`) or a non-scene overlay (captions, ambient
4
+ * layers). Shared by the runtime scene-window computation and the slideshow lint
5
+ * rule so the two can never drift.
6
+ */
7
+ export declare function isSceneLikeCompositionId(compositionId: string): boolean;
8
+ //# sourceMappingURL=sceneId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneId.d.ts","sourceRoot":"","sources":["../../src/slideshow/sceneId.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAMvE"}
@@ -0,0 +1,18 @@
1
+ // packages/core/src/slideshow/sceneId.ts
2
+ /**
3
+ * Whether a composition id names a "scene-like" composition — i.e. a real slide
4
+ * scene, not the root timeline (`main`) or a non-scene overlay (captions, ambient
5
+ * layers). Shared by the runtime scene-window computation and the slideshow lint
6
+ * rule so the two can never drift.
7
+ */
8
+ export function isSceneLikeCompositionId(compositionId) {
9
+ const normalized = compositionId.trim().toLowerCase();
10
+ if (!normalized || normalized === "main")
11
+ return false;
12
+ if (normalized.includes("caption"))
13
+ return false;
14
+ if (normalized.includes("ambient"))
15
+ return false;
16
+ return true;
17
+ }
18
+ //# sourceMappingURL=sceneId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sceneId.js","sourceRoot":"","sources":["../../src/slideshow/sceneId.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,5 +1,10 @@
1
+ /** Current manifest schema version. Stamped on persist so future schema
2
+ * changes can detect and migrate older islands. */
3
+ export declare const SLIDESHOW_MANIFEST_VERSION = 1;
1
4
  /** Raw author-facing shapes parsed from the JSON island. */
2
5
  export interface SlideshowManifest {
6
+ /** Schema version (absent on pre-versioning islands → treat as 1). */
7
+ version?: number;
3
8
  slides: SlideRef[];
4
9
  slideSequences?: SlideSequence[];
5
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"slideshow.types.d.ts","sourceRoot":"","sources":["../../src/slideshow/slideshow.types.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"slideshow.types.d.ts","sourceRoot":"","sources":["../../src/slideshow/slideshow.types.ts"],"names":[],"mappings":"AAEA;oDACoD;AACpD,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAClD"}
@@ -1,3 +1,5 @@
1
1
  // packages/core/src/slideshow/slideshow.types.ts
2
- export {};
2
+ /** Current manifest schema version. Stamped on persist so future schema
3
+ * changes can detect and migrate older islands. */
4
+ export const SLIDESHOW_MANIFEST_VERSION = 1;
3
5
  //# sourceMappingURL=slideshow.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slideshow.types.js","sourceRoot":"","sources":["../../src/slideshow/slideshow.types.ts"],"names":[],"mappings":"AAAA,iDAAiD"}
1
+ {"version":3,"file":"slideshow.types.js","sourceRoot":"","sources":["../../src/slideshow/slideshow.types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AAEjD;oDACoD;AACpD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/core",
3
- "version": "0.6.113",
3
+ "version": "0.6.114",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",