@hyperframes/core 0.7.107 → 0.7.109

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.
Files changed (89) hide show
  1. package/dist/audio/audioFxAutomation.d.ts +63 -0
  2. package/dist/audio/audioFxAutomation.d.ts.map +1 -0
  3. package/dist/audio/audioFxAutomation.js +219 -0
  4. package/dist/audio/audioFxAutomation.js.map +1 -0
  5. package/dist/audio/audioFxGraph.d.ts +73 -0
  6. package/dist/audio/audioFxGraph.d.ts.map +1 -0
  7. package/dist/audio/audioFxGraph.js +649 -0
  8. package/dist/audio/audioFxGraph.js.map +1 -0
  9. package/dist/audio/audioFxTail.d.ts +28 -0
  10. package/dist/audio/audioFxTail.d.ts.map +1 -0
  11. package/dist/audio/audioFxTail.js +95 -0
  12. package/dist/audio/audioFxTail.js.map +1 -0
  13. package/dist/audio/audioFxWorklets.d.ts +8 -0
  14. package/dist/audio/audioFxWorklets.d.ts.map +1 -0
  15. package/dist/audio/audioFxWorklets.js +263 -0
  16. package/dist/audio/audioFxWorklets.js.map +1 -0
  17. package/dist/audioAutomation.d.ts +191 -0
  18. package/dist/audioAutomation.d.ts.map +1 -0
  19. package/dist/audioAutomation.js +488 -0
  20. package/dist/audioAutomation.js.map +1 -0
  21. package/dist/audioCarve.d.ts +216 -0
  22. package/dist/audioCarve.d.ts.map +1 -0
  23. package/dist/audioCarve.js +608 -0
  24. package/dist/audioCarve.js.map +1 -0
  25. package/dist/audioFx.d.ts +182 -0
  26. package/dist/audioFx.d.ts.map +1 -0
  27. package/dist/audioFx.js +813 -0
  28. package/dist/audioFx.js.map +1 -0
  29. package/dist/audioFxCopy.d.ts +89 -0
  30. package/dist/audioFxCopy.d.ts.map +1 -0
  31. package/dist/audioFxCopy.js +340 -0
  32. package/dist/audioFxCopy.js.map +1 -0
  33. package/dist/audioFxEq.d.ts +75 -0
  34. package/dist/audioFxEq.d.ts.map +1 -0
  35. package/dist/audioFxEq.js +153 -0
  36. package/dist/audioFxEq.js.map +1 -0
  37. package/dist/audioFxJobs.d.ts +52 -0
  38. package/dist/audioFxJobs.d.ts.map +1 -0
  39. package/dist/audioFxJobs.js +92 -0
  40. package/dist/audioFxJobs.js.map +1 -0
  41. package/dist/audioFxPresets.d.ts +91 -0
  42. package/dist/audioFxPresets.d.ts.map +1 -0
  43. package/dist/audioFxPresets.js +320 -0
  44. package/dist/audioFxPresets.js.map +1 -0
  45. package/dist/audioFxProfiles.d.ts +65 -0
  46. package/dist/audioFxProfiles.d.ts.map +1 -0
  47. package/dist/audioFxProfiles.js +209 -0
  48. package/dist/audioFxProfiles.js.map +1 -0
  49. package/dist/audioLeveller.d.ts +62 -0
  50. package/dist/audioLeveller.d.ts.map +1 -0
  51. package/dist/audioLeveller.js +208 -0
  52. package/dist/audioLeveller.js.map +1 -0
  53. package/dist/canaryRegistry.d.ts.map +1 -1
  54. package/dist/canaryRegistry.js +8 -0
  55. package/dist/canaryRegistry.js.map +1 -1
  56. package/dist/compiler/compositionScoping.d.ts +3 -0
  57. package/dist/compiler/compositionScoping.d.ts.map +1 -1
  58. package/dist/compiler/compositionScoping.js +34 -11
  59. package/dist/compiler/compositionScoping.js.map +1 -1
  60. package/dist/compiler/htmlBundler.d.ts.map +1 -1
  61. package/dist/compiler/htmlBundler.js +42 -2
  62. package/dist/compiler/htmlBundler.js.map +1 -1
  63. package/dist/editing/affordances.d.ts +3 -0
  64. package/dist/editing/affordances.d.ts.map +1 -1
  65. package/dist/editing/affordances.js +1 -0
  66. package/dist/editing/affordances.js.map +1 -1
  67. package/dist/generated/audio-fx-runtime-inline.d.ts +3 -0
  68. package/dist/generated/audio-fx-runtime-inline.d.ts.map +1 -0
  69. package/dist/generated/audio-fx-runtime-inline.js +7 -0
  70. package/dist/generated/audio-fx-runtime-inline.js.map +1 -0
  71. package/dist/generated/runtime-inline.js +1 -1
  72. package/dist/generated/runtime-inline.js.map +1 -1
  73. package/dist/hyperframe.runtime.iife.js +238 -28
  74. package/dist/runtime/applyVariableBindings.d.ts +45 -0
  75. package/dist/runtime/applyVariableBindings.d.ts.map +1 -0
  76. package/dist/runtime/applyVariableBindings.js +194 -0
  77. package/dist/runtime/applyVariableBindings.js.map +1 -0
  78. package/dist/runtime/audioAutomationVolume.d.ts +17 -0
  79. package/dist/runtime/audioAutomationVolume.d.ts.map +1 -0
  80. package/dist/runtime/audioAutomationVolume.js +49 -0
  81. package/dist/runtime/audioAutomationVolume.js.map +1 -0
  82. package/dist/runtime/media.d.ts.map +1 -1
  83. package/dist/runtime/media.js +17 -1
  84. package/dist/runtime/media.js.map +1 -1
  85. package/dist/runtime/variableScope.d.ts +9 -0
  86. package/dist/runtime/variableScope.d.ts.map +1 -0
  87. package/dist/runtime/variableScope.js +21 -0
  88. package/dist/runtime/variableScope.js.map +1 -0
  89. package/package.json +51 -6
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Declarative variable bindings — the no-script consumption channel for
3
+ * composition variables (values are fixed for the page's lifetime, so this is
4
+ * seek-safe and deterministic):
5
+ *
6
+ * - `data-var-src="id"` — sets the element's `src` from the variable value
7
+ * (a URL string or an image value `{url}`). Only allowed on media elements
8
+ * (img/video/audio/source) and only for safe URL protocols — a src on a
9
+ * script-executing tag or a `javascript:`/`data:text/html` value is refused.
10
+ * The authored src stays as the fallback when the variable resolves to nothing.
11
+ * - `data-var-text="id"` — sets the element's OWN text from a scalar variable
12
+ * value. Elements with element children keep them: only the direct text
13
+ * node is replaced, mirroring the SDK's setOwnText semantics — a text
14
+ * binding must never delete nested clips or animation targets.
15
+ * - Every scalar variable (and a font value's family name) is applied as a
16
+ * `--{id}` CSS custom property on its composition root, so CSS bindings
17
+ * like `color: var(--accent)` respond to render/preview overrides instead
18
+ * of only the persisted default.
19
+ *
20
+ * Values resolve against the element's owning composition — the same scope
21
+ * chain the color-grading runtime uses: `__hfVariablesByComp[compId]` for
22
+ * inlined sub-compositions, then the top-level merged `getVariables()`.
23
+ *
24
+ * Applied at init AND re-applied after the composition loader inlines
25
+ * external / template sub-compositions (their DOM and per-instance scoped
26
+ * values don't exist at init). Idempotent: re-applying writes the same
27
+ * values.
28
+ */
29
+ /**
30
+ * Strip characters that could smuggle additional declarations or markup out of
31
+ * a var() substitution site. A scalar value folded into `background: var(--x)`
32
+ * or `background-image: url(var(--x))` must not be able to close the declaration
33
+ * and inject a new one (`red; background: url(//evil?data=…)`) — none of these
34
+ * characters is legal in a scalar variable value (string, number, color, font
35
+ * family), so removing them is lossless for real inputs and neutralizes the
36
+ * declaration/URL-exfiltration channel.
37
+ *
38
+ * Exported because the static compiler bakes the same scalars into a stylesheet
39
+ * at build time and has to reach the same result: a value that the runtime
40
+ * strips but a compile-time emit passes through would make the rendered MP4
41
+ * differ from the preview, which is the more dangerous of the two directions.
42
+ */
43
+ export declare function sanitizeCssValue(value: string): string;
44
+ export declare function applyVariableBindings(doc: Document): void;
45
+ //# sourceMappingURL=applyVariableBindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyVariableBindings.d.ts","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AA0CH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAsFD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CA8BzD"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Declarative variable bindings — the no-script consumption channel for
3
+ * composition variables (values are fixed for the page's lifetime, so this is
4
+ * seek-safe and deterministic):
5
+ *
6
+ * - `data-var-src="id"` — sets the element's `src` from the variable value
7
+ * (a URL string or an image value `{url}`). Only allowed on media elements
8
+ * (img/video/audio/source) and only for safe URL protocols — a src on a
9
+ * script-executing tag or a `javascript:`/`data:text/html` value is refused.
10
+ * The authored src stays as the fallback when the variable resolves to nothing.
11
+ * - `data-var-text="id"` — sets the element's OWN text from a scalar variable
12
+ * value. Elements with element children keep them: only the direct text
13
+ * node is replaced, mirroring the SDK's setOwnText semantics — a text
14
+ * binding must never delete nested clips or animation targets.
15
+ * - Every scalar variable (and a font value's family name) is applied as a
16
+ * `--{id}` CSS custom property on its composition root, so CSS bindings
17
+ * like `color: var(--accent)` respond to render/preview overrides instead
18
+ * of only the persisted default.
19
+ *
20
+ * Values resolve against the element's owning composition — the same scope
21
+ * chain the color-grading runtime uses: `__hfVariablesByComp[compId]` for
22
+ * inlined sub-compositions, then the top-level merged `getVariables()`.
23
+ *
24
+ * Applied at init AND re-applied after the composition loader inlines
25
+ * external / template sub-compositions (their DOM and per-instance scoped
26
+ * values don't exist at init). Idempotent: re-applying writes the same
27
+ * values.
28
+ */
29
+ import { readVariablesForElement } from "./variableScope.js";
30
+ import { isScalarVariableValue as isScalar } from "@hyperframes/parsers/composition";
31
+ // data-var-src only rebinds media `src` on media elements. A user-controlled
32
+ // variable value assigned to a src is an XSS surface on tags whose src executes
33
+ // (`<iframe src="javascript:…">`, `<script src="data:…">`, `<embed>`), so the
34
+ // binding is scoped to elements where `src` is purely a media reference.
35
+ const VAR_SRC_TAGS = new Set(["img", "video", "audio", "source"]);
36
+ function resolveUrl(value) {
37
+ if (typeof value === "string" && value.length > 0)
38
+ return value;
39
+ if (value !== null && typeof value === "object") {
40
+ const url = value.url;
41
+ if (typeof url === "string" && url.length > 0)
42
+ return url;
43
+ }
44
+ return null;
45
+ }
46
+ /**
47
+ * Protocol allowlist for a resolved media URL. Relative URLs (no scheme) resolve
48
+ * against the page origin and are always safe. Absolute URLs are restricted to
49
+ * http(s)/blob and image data: URIs — defense-in-depth alongside VAR_SRC_TAGS,
50
+ * blocking `javascript:`, `data:text/html`, `file:`, etc. even if a future tag
51
+ * slips past the element guard. Control chars are stripped before the scheme
52
+ * test because browsers ignore them when parsing the URL (`java\tscript:`).
53
+ */
54
+ function isSafeMediaUrl(url) {
55
+ // Browsers ignore ASCII control chars/whitespace when parsing a URL, so strip
56
+ // them before reading the scheme (defeats `java\tscript:` style bypasses).
57
+ // oxlint-disable-next-line no-control-regex -- control chars are the target here
58
+ const normalized = url.replace(/[\u0000-\u0020]/g, "");
59
+ const scheme = /^([a-z][a-z0-9+.-]*):/i.exec(normalized);
60
+ if (!scheme)
61
+ return true;
62
+ const proto = scheme[1]?.toLowerCase();
63
+ if (!proto)
64
+ return false;
65
+ if (proto === "https" || proto === "http" || proto === "blob")
66
+ return true;
67
+ if (proto === "data")
68
+ return /^data:image\//i.test(normalized);
69
+ return false;
70
+ }
71
+ /**
72
+ * Strip characters that could smuggle additional declarations or markup out of
73
+ * a var() substitution site. A scalar value folded into `background: var(--x)`
74
+ * or `background-image: url(var(--x))` must not be able to close the declaration
75
+ * and inject a new one (`red; background: url(//evil?data=…)`) — none of these
76
+ * characters is legal in a scalar variable value (string, number, color, font
77
+ * family), so removing them is lossless for real inputs and neutralizes the
78
+ * declaration/URL-exfiltration channel.
79
+ *
80
+ * Exported because the static compiler bakes the same scalars into a stylesheet
81
+ * at build time and has to reach the same result: a value that the runtime
82
+ * strips but a compile-time emit passes through would make the rendered MP4
83
+ * differ from the preview, which is the more dangerous of the two directions.
84
+ */
85
+ export function sanitizeCssValue(value) {
86
+ return value.replace(/[;{}<>\r\n]/g, "");
87
+ }
88
+ /** CSS custom-property value for a variable, or null when not CSS-applicable. */
89
+ function cssValueFor(value) {
90
+ if (isScalar(value))
91
+ return String(value);
92
+ if (value !== null && typeof value === "object") {
93
+ // Font values apply their family name; the face itself must be loaded by
94
+ // the composition (or the media pipeline).
95
+ const name = value.name;
96
+ if (typeof name === "string" && name.length > 0)
97
+ return name;
98
+ }
99
+ return null;
100
+ }
101
+ function valuesForElement(el, cache) {
102
+ const scope = el.closest("[data-composition-id]");
103
+ const cached = cache.get(scope);
104
+ if (cached)
105
+ return cached;
106
+ const values = readVariablesForElement(el);
107
+ cache.set(scope, values);
108
+ return values;
109
+ }
110
+ /**
111
+ * Replace the element's own text while preserving element children (nested
112
+ * clips, animation-target spans). Mirrors the SDK's setOwnText: write the
113
+ * first direct text node, clear the others; append when none exists.
114
+ */
115
+ function setOwnTextPreservingChildren(el, text) {
116
+ if (el.childElementCount === 0) {
117
+ el.textContent = text;
118
+ return;
119
+ }
120
+ let written = false;
121
+ for (const node of Array.from(el.childNodes)) {
122
+ if (node.nodeType !== Node.TEXT_NODE)
123
+ continue;
124
+ node.nodeValue = written ? "" : text;
125
+ written = true;
126
+ }
127
+ if (!written) {
128
+ el.insertBefore(el.ownerDocument.createTextNode(text), el.firstChild);
129
+ }
130
+ }
131
+ /**
132
+ * Composition root, matching the SDK's findRoot chain exactly — the SDK
133
+ * persists `--{id}` defaults on this element, so the runtime must write
134
+ * overrides to the SAME element or an inline default on a descendant would
135
+ * shadow an override applied higher up.
136
+ */
137
+ function findTopRoot(doc) {
138
+ return (doc.querySelector("[data-hf-root]") ??
139
+ doc.getElementById("stage") ??
140
+ doc.body?.firstElementChild ??
141
+ doc.body);
142
+ }
143
+ function applyCssCustomProperties(doc, cache) {
144
+ // Top-level root plus every inlined sub-composition root; custom props
145
+ // inherit, so descendants of each root see its scope's values.
146
+ const roots = new Set();
147
+ const topRoot = findTopRoot(doc);
148
+ if (topRoot)
149
+ roots.add(topRoot);
150
+ for (const el of Array.from(doc.querySelectorAll("[data-composition-id]"))) {
151
+ roots.add(el);
152
+ }
153
+ for (const root of roots) {
154
+ const values = valuesForElement(root, cache);
155
+ for (const [id, value] of Object.entries(values)) {
156
+ const css = cssValueFor(value);
157
+ if (css !== null && root instanceof HTMLElement) {
158
+ root.style.setProperty(`--${id}`, sanitizeCssValue(css));
159
+ }
160
+ }
161
+ }
162
+ }
163
+ export function applyVariableBindings(doc) {
164
+ const cache = new Map();
165
+ applyCssCustomProperties(doc, cache);
166
+ for (const el of Array.from(doc.querySelectorAll("[data-var-src]"))) {
167
+ const id = el.getAttribute("data-var-src")?.trim();
168
+ if (!id)
169
+ continue;
170
+ // Only media elements may take a variable-driven src (see VAR_SRC_TAGS) — a
171
+ // src on <iframe>/<script>/<embed> is a code-execution sink, not a media ref.
172
+ if (!VAR_SRC_TAGS.has(el.tagName.toLowerCase())) {
173
+ console.warn(`[hyperframes] Ignoring data-var-src on <${el.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(VAR_SRC_TAGS).join("/")}.`);
174
+ continue;
175
+ }
176
+ const url = resolveUrl(valuesForElement(el, cache)[id]);
177
+ if (url === null)
178
+ continue;
179
+ if (!isSafeMediaUrl(url)) {
180
+ console.warn(`[hyperframes] Ignoring data-var-src="${id}": unsafe URL protocol.`);
181
+ continue;
182
+ }
183
+ el.setAttribute("src", url);
184
+ }
185
+ for (const el of Array.from(doc.querySelectorAll("[data-var-text]"))) {
186
+ const id = el.getAttribute("data-var-text")?.trim();
187
+ if (!id)
188
+ continue;
189
+ const value = valuesForElement(el, cache)[id];
190
+ if (isScalar(value))
191
+ setOwnTextPreservingChildren(el, String(value));
192
+ }
193
+ }
194
+ //# sourceMappingURL=applyVariableBindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyVariableBindings.js","sourceRoot":"","sources":["../../src/runtime/applyVariableBindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The volume lane's gain for an element at a moment in its clip.
3
+ *
4
+ * Volume is not scheduled onto the gain AudioParam the way FX parameters are.
5
+ * The runtime rewrites that gain every tick from `data-volume` and the GSAP
6
+ * seeked value, which would erase a scheduled envelope within a frame — so the
7
+ * lane feeds the same per-tick path the probed `volumeKeyframes` already use,
8
+ * and the render still bakes it into the samples.
9
+ */
10
+ /**
11
+ * Gain the lane asks for at `relTime` clip-local seconds, or null when the
12
+ * element has no volume lane and the caller should fall back to its own rules.
13
+ */
14
+ export declare function elementVolumeLaneGain(el: {
15
+ getAttribute?(name: string): string | null;
16
+ }, relTime: number): number | null;
17
+ //# sourceMappingURL=audioAutomationVolume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioAutomationVolume.d.ts","sourceRoot":"","sources":["../../src/runtime/audioAutomationVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAiCH;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE;IAAE,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,EAClD,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAQf"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * The volume lane's gain for an element at a moment in its clip.
3
+ *
4
+ * Volume is not scheduled onto the gain AudioParam the way FX parameters are.
5
+ * The runtime rewrites that gain every tick from `data-volume` and the GSAP
6
+ * seeked value, which would erase a scheduled envelope within a frame — so the
7
+ * lane feeds the same per-tick path the probed `volumeKeyframes` already use,
8
+ * and the render still bakes it into the samples.
9
+ */
10
+ import { HF_AUDIO_AUTOMATION_ATTR, parseAutomation, sampleAutomationLane, VOLUME_TARGET, } from "../audioAutomation.js";
11
+ /**
12
+ * Parsed lanes by the attribute text they came from. Reparsing on every tick
13
+ * would run the JSON parser 60 times a second per track for a value that only
14
+ * changes when the author edits it.
15
+ */
16
+ const cache = new Map();
17
+ const CACHE_LIMIT = 64;
18
+ function laneFromAttr(raw) {
19
+ const hit = cache.get(raw);
20
+ if (hit !== undefined)
21
+ return hit;
22
+ let lane = null;
23
+ try {
24
+ lane = parseAutomation(raw).lanes.find((l) => l.target === VOLUME_TARGET) ?? null;
25
+ }
26
+ catch {
27
+ // Unreadable automation plays the track flat rather than silencing it.
28
+ lane = null;
29
+ }
30
+ if (cache.size > CACHE_LIMIT)
31
+ cache.clear();
32
+ cache.set(raw, lane);
33
+ return lane;
34
+ }
35
+ /**
36
+ * Gain the lane asks for at `relTime` clip-local seconds, or null when the
37
+ * element has no volume lane and the caller should fall back to its own rules.
38
+ */
39
+ export function elementVolumeLaneGain(el, relTime) {
40
+ const raw = (typeof el.getAttribute === "function" ? el.getAttribute(HF_AUDIO_AUTOMATION_ATTR) : null) ??
41
+ "";
42
+ if (!raw)
43
+ return null;
44
+ const lane = laneFromAttr(raw);
45
+ if (!lane || lane.points.length === 0)
46
+ return null;
47
+ return sampleAutomationLane(lane, relTime);
48
+ }
49
+ //# sourceMappingURL=audioAutomationVolume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioAutomationVolume.js","sourceRoot":"","sources":["../../src/runtime/audioAutomationVolume.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,aAAa,GAEd,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;AACzD,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,IAAI,GAA4B,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,IAAI,IAAI,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;QACvE,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,GAAG,WAAW;QAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,EAAkD,EAClD,OAAe;IAEf,MAAM,GAAG,GACP,CAAC,OAAO,EAAE,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,EAAE,CAAC;IACL,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGtF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAS3D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAK5D;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,mFAAmF;IACnF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAChD,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IACzF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,OAAO,CAAC;CAClF,GAAG;IACF,aAAa,EAAE,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IAC1D,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,CA8CA;AA+CD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAK9D;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAOtE;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;iFAC6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE;;+EAE2E;IAC3E,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,OAAO,CAAC;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CAgOP"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAItF,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAS3D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAK5D;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,GAAG,MAAM,GAAG,IAAI,CAUhB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,mFAAmF;IACnF,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE;IAChD,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,MAAM,GAAG,IAAI,CAAC;IACzF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,KAAK,OAAO,CAAC;CAClF,GAAG;IACF,aAAa,EAAE,KAAK,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;IAC1D,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,CA8CA;AA+CD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,CAK9D;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAOtE;AAGD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB;iFAC6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE;;+EAE2E;IAC3E,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,OAAO,CAAC;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CA8OP"}
@@ -1,5 +1,6 @@
1
1
  import { swallow } from "./diagnostics.js";
2
2
  import { interpolateVolumeGain } from "./mediaVolumeEnvelope.js";
3
+ import { elementVolumeLaneGain } from "./audioAutomationVolume.js";
3
4
  import { normalizePlaybackRate } from "./playbackRate.js";
4
5
  export function readElementPlaybackRate(el) {
5
6
  const authored = Number.parseFloat(el.getAttribute("data-playback-rate") ?? "");
@@ -180,7 +181,22 @@ export function syncRuntimeMedia(params) {
180
181
  const previousRuntimeVolume = lastRuntimeAppliedVolume.get(el);
181
182
  const currentElementVolume = clampVolume(el.volume);
182
183
  let authorVolume;
183
- if (clip.volumeKeyframes && clip.volumeKeyframes.length > 0) {
184
+ // An explicit volume lane owns the fader. It is checked before the probed
185
+ // keyframes because the two would otherwise fight, and it is the one the
186
+ // author drew — `lint` warns when a track carries both.
187
+ // Clip-local, NOT `relTime`. A lane's `t` is "seconds from the start of
188
+ // the clip" (see HfAutomationPoint), and the render honours that: the wav
189
+ // is already cut with `-ss mediaStart`, so its t=0 IS the clip's start.
190
+ // `relTime` is MEDIA time — it carries mediaStart, scales by playbackRate
191
+ // and wraps on a loop — so feeding it here played the envelope at a
192
+ // different position than it renders, or ran it off the end entirely on a
193
+ // trimmed clip. The FX lanes on this same feature use clip-local elapsed;
194
+ // there is one time base, and this is it.
195
+ const laneGain = elementVolumeLaneGain(el, params.timeSeconds - clip.start);
196
+ if (laneGain !== null) {
197
+ authorVolume = clampVolume(laneGain);
198
+ }
199
+ else if (clip.volumeKeyframes && clip.volumeKeyframes.length > 0) {
184
200
  // Keyframes probed from the GSAP timeline — same source as the renderer.
185
201
  // Use the interpolated envelope value directly; no need to track GSAP changes.
186
202
  // Index by elapsed time on the TIMELINE since the clip began, which is what
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/runtime/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Resolve the composition-variable values an element should see: the scoped
3
+ * per-instance table for inlined sub-compositions, then the top-level merged
4
+ * getVariables(), then the raw render-injection global. Shared by every
5
+ * runtime consumer of variables (color grading, declarative bindings) so the
6
+ * scope chain can never diverge between channels.
7
+ */
8
+ export declare function readVariablesForElement(element: Element): Record<string, unknown>;
9
+ //# sourceMappingURL=variableScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableScope.d.ts","sourceRoot":"","sources":["../../src/runtime/variableScope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWjF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Resolve the composition-variable values an element should see: the scoped
3
+ * per-instance table for inlined sub-compositions, then the top-level merged
4
+ * getVariables(), then the raw render-injection global. Shared by every
5
+ * runtime consumer of variables (color grading, declarative bindings) so the
6
+ * scope chain can never diverge between channels.
7
+ */
8
+ export function readVariablesForElement(element) {
9
+ const win = window;
10
+ const scope = element.closest("[data-composition-id]");
11
+ const compositionId = scope?.getAttribute("data-composition-id")?.trim() ?? "";
12
+ const scoped = compositionId ? win.__hfVariablesByComp?.[compositionId] : undefined;
13
+ if (scoped)
14
+ return scoped;
15
+ const fromHelper = win.__hyperframes?.getVariables?.();
16
+ if (fromHelper && typeof fromHelper === "object") {
17
+ return fromHelper;
18
+ }
19
+ return win.__hfVariables ?? {};
20
+ }
21
+ //# sourceMappingURL=variableScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableScope.js","sourceRoot":"","sources":["../../src/runtime/variableScope.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,GAAG,GAAG,MAAyB,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,KAAK,EAAE,YAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC;IACvD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperframes/core",
3
- "version": "0.7.107",
3
+ "version": "0.7.109",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -78,6 +78,50 @@
78
78
  "import": "./dist/compiler/index.js",
79
79
  "types": "./dist/compiler/index.d.ts"
80
80
  },
81
+ "./audio-fx": {
82
+ "import": "./dist/audioFx.js",
83
+ "types": "./dist/audioFx.d.ts"
84
+ },
85
+ "./audio-fx-copy": {
86
+ "import": "./dist/audioFxCopy.js",
87
+ "types": "./dist/audioFxCopy.d.ts"
88
+ },
89
+ "./audio-fx-profiles": {
90
+ "import": "./dist/audioFxProfiles.js",
91
+ "types": "./dist/audioFxProfiles.d.ts"
92
+ },
93
+ "./audio-fx-jobs": {
94
+ "import": "./dist/audioFxJobs.js",
95
+ "types": "./dist/audioFxJobs.d.ts"
96
+ },
97
+ "./audio-fx-eq": {
98
+ "import": "./dist/audioFxEq.js",
99
+ "types": "./dist/audioFxEq.d.ts"
100
+ },
101
+ "./audio-leveller": {
102
+ "import": "./dist/audioLeveller.js",
103
+ "types": "./dist/audioLeveller.d.ts"
104
+ },
105
+ "./audio-fx-presets": {
106
+ "import": "./dist/audioFxPresets.js",
107
+ "types": "./dist/audioFxPresets.d.ts"
108
+ },
109
+ "./audio-fx-tail": {
110
+ "import": "./dist/audio/audioFxTail.js",
111
+ "types": "./dist/audio/audioFxTail.d.ts"
112
+ },
113
+ "./audio-fx-runtime": {
114
+ "import": "./dist/generated/audio-fx-runtime-inline.js",
115
+ "types": "./dist/generated/audio-fx-runtime-inline.d.ts"
116
+ },
117
+ "./audio-carve": {
118
+ "import": "./dist/audioCarve.js",
119
+ "types": "./dist/audioCarve.d.ts"
120
+ },
121
+ "./audio-automation": {
122
+ "import": "./dist/audioAutomation.js",
123
+ "types": "./dist/audioAutomation.d.ts"
124
+ },
81
125
  "./color-grading": {
82
126
  "import": "./dist/colorGrading.js",
83
127
  "types": "./dist/colorGrading.d.ts"
@@ -222,9 +266,9 @@
222
266
  "bpm-detective": "^2.0.5",
223
267
  "linkedom": "^0.18.12",
224
268
  "postcss": "^8.5.8",
225
- "@hyperframes/lint": "0.7.107",
226
- "@hyperframes/studio-server": "0.7.107",
227
- "@hyperframes/parsers": "0.7.107"
269
+ "@hyperframes/lint": "0.7.109",
270
+ "@hyperframes/parsers": "0.7.109",
271
+ "@hyperframes/studio-server": "0.7.109"
228
272
  },
229
273
  "devDependencies": {
230
274
  "@types/jsdom": "^28.0.0",
@@ -239,14 +283,15 @@
239
283
  "esbuild": "^0.25.12"
240
284
  },
241
285
  "scripts": {
242
- "build": "bun run build:hyperframes-runtime && bun run build:position-edits-render && tsc && tsx scripts/rewrite-esm-extensions.ts",
243
- "test": "bun run check:position-edits-render && vitest run",
286
+ "build": "bun run build:hyperframes-runtime && bun run build:position-edits-render && bun run build:audio-fx-runtime && tsc && tsx scripts/rewrite-esm-extensions.ts",
287
+ "test": "bun run check:position-edits-render && bun run build:audio-fx-runtime && vitest run",
244
288
  "test:watch": "vitest",
245
289
  "test:coverage": "vitest run --coverage",
246
290
  "test:runtime-coverage": "vitest run --coverage src/runtime",
247
291
  "typecheck": "tsc --noEmit && bun run typecheck:runtime",
248
292
  "typecheck:runtime": "tsc --noEmit -p tsconfig.runtime.json",
249
293
  "lint:runtime-preview-guards": "bun scripts/lint-runtime-preview-guards.ts",
294
+ "build:audio-fx-runtime": "tsx scripts/build-audio-fx-runtime.ts",
250
295
  "build:hyperframes-runtime": "tsx scripts/build-hyperframes-runtime-artifact.ts",
251
296
  "build:position-edits-render": "tsx scripts/build-position-edits-render.ts",
252
297
  "check:position-edits-render": "bun run build:position-edits-render && git diff --exit-code -- src/generated/position-edits-render-inline.ts",