@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.
- package/dist/audio/audioFxAutomation.d.ts +63 -0
- package/dist/audio/audioFxAutomation.d.ts.map +1 -0
- package/dist/audio/audioFxAutomation.js +219 -0
- package/dist/audio/audioFxAutomation.js.map +1 -0
- package/dist/audio/audioFxGraph.d.ts +73 -0
- package/dist/audio/audioFxGraph.d.ts.map +1 -0
- package/dist/audio/audioFxGraph.js +649 -0
- package/dist/audio/audioFxGraph.js.map +1 -0
- package/dist/audio/audioFxTail.d.ts +28 -0
- package/dist/audio/audioFxTail.d.ts.map +1 -0
- package/dist/audio/audioFxTail.js +95 -0
- package/dist/audio/audioFxTail.js.map +1 -0
- package/dist/audio/audioFxWorklets.d.ts +8 -0
- package/dist/audio/audioFxWorklets.d.ts.map +1 -0
- package/dist/audio/audioFxWorklets.js +263 -0
- package/dist/audio/audioFxWorklets.js.map +1 -0
- package/dist/audioAutomation.d.ts +191 -0
- package/dist/audioAutomation.d.ts.map +1 -0
- package/dist/audioAutomation.js +488 -0
- package/dist/audioAutomation.js.map +1 -0
- package/dist/audioCarve.d.ts +216 -0
- package/dist/audioCarve.d.ts.map +1 -0
- package/dist/audioCarve.js +608 -0
- package/dist/audioCarve.js.map +1 -0
- package/dist/audioFx.d.ts +182 -0
- package/dist/audioFx.d.ts.map +1 -0
- package/dist/audioFx.js +813 -0
- package/dist/audioFx.js.map +1 -0
- package/dist/audioFxCopy.d.ts +89 -0
- package/dist/audioFxCopy.d.ts.map +1 -0
- package/dist/audioFxCopy.js +340 -0
- package/dist/audioFxCopy.js.map +1 -0
- package/dist/audioFxEq.d.ts +75 -0
- package/dist/audioFxEq.d.ts.map +1 -0
- package/dist/audioFxEq.js +153 -0
- package/dist/audioFxEq.js.map +1 -0
- package/dist/audioFxJobs.d.ts +52 -0
- package/dist/audioFxJobs.d.ts.map +1 -0
- package/dist/audioFxJobs.js +92 -0
- package/dist/audioFxJobs.js.map +1 -0
- package/dist/audioFxPresets.d.ts +91 -0
- package/dist/audioFxPresets.d.ts.map +1 -0
- package/dist/audioFxPresets.js +320 -0
- package/dist/audioFxPresets.js.map +1 -0
- package/dist/audioFxProfiles.d.ts +65 -0
- package/dist/audioFxProfiles.d.ts.map +1 -0
- package/dist/audioFxProfiles.js +209 -0
- package/dist/audioFxProfiles.js.map +1 -0
- package/dist/audioLeveller.d.ts +62 -0
- package/dist/audioLeveller.d.ts.map +1 -0
- package/dist/audioLeveller.js +208 -0
- package/dist/audioLeveller.js.map +1 -0
- package/dist/canaryRegistry.d.ts.map +1 -1
- package/dist/canaryRegistry.js +8 -0
- package/dist/canaryRegistry.js.map +1 -1
- package/dist/compiler/compositionScoping.d.ts +3 -0
- package/dist/compiler/compositionScoping.d.ts.map +1 -1
- package/dist/compiler/compositionScoping.js +34 -11
- package/dist/compiler/compositionScoping.js.map +1 -1
- package/dist/compiler/htmlBundler.d.ts.map +1 -1
- package/dist/compiler/htmlBundler.js +42 -2
- package/dist/compiler/htmlBundler.js.map +1 -1
- package/dist/editing/affordances.d.ts +3 -0
- package/dist/editing/affordances.d.ts.map +1 -1
- package/dist/editing/affordances.js +1 -0
- package/dist/editing/affordances.js.map +1 -1
- package/dist/generated/audio-fx-runtime-inline.d.ts +3 -0
- package/dist/generated/audio-fx-runtime-inline.d.ts.map +1 -0
- package/dist/generated/audio-fx-runtime-inline.js +7 -0
- package/dist/generated/audio-fx-runtime-inline.js.map +1 -0
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +238 -28
- package/dist/runtime/applyVariableBindings.d.ts +45 -0
- package/dist/runtime/applyVariableBindings.d.ts.map +1 -0
- package/dist/runtime/applyVariableBindings.js +194 -0
- package/dist/runtime/applyVariableBindings.js.map +1 -0
- package/dist/runtime/audioAutomationVolume.d.ts +17 -0
- package/dist/runtime/audioAutomationVolume.d.ts.map +1 -0
- package/dist/runtime/audioAutomationVolume.js +49 -0
- package/dist/runtime/audioAutomationVolume.js.map +1 -0
- package/dist/runtime/media.d.ts.map +1 -1
- package/dist/runtime/media.js +17 -1
- package/dist/runtime/media.js.map +1 -1
- package/dist/runtime/variableScope.d.ts +9 -0
- package/dist/runtime/variableScope.d.ts.map +1 -0
- package/dist/runtime/variableScope.js +21 -0
- package/dist/runtime/variableScope.js.map +1 -0
- 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;
|
|
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"}
|
package/dist/runtime/media.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
226
|
-
"@hyperframes/
|
|
227
|
-
"@hyperframes/
|
|
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",
|