reframe-video 0.6.28 → 0.6.29
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/assets/sfx/LICENSE.md +4 -2
- package/dist/bin.js +0 -2
- package/dist/cli.js +0 -2
- package/guides/edsl-guide.md +8 -2
- package/package.json +1 -1
package/assets/sfx/LICENSE.md
CHANGED
|
@@ -14,5 +14,7 @@ Verified against each asset page's license field on 2026-06-11.
|
|
|
14
14
|
| bgm-song21.mp3 | [Mysterious Ambience (song21)](https://opengameart.org/content/mysterious-ambience-song21) | cynicmusic (pixelsphere.org) | multi-licensed; used under its CC0 option |
|
|
15
15
|
|
|
16
16
|
CC0 requires no attribution; this file records provenance anyway.
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
These files are loaded only by an explicit `file:` cue (e.g.
|
|
18
|
+
`{ sfx: undefined, file: "whoosh.wav" }`). A bare `sfx:` name always uses the
|
|
19
|
+
procedural synthesizer (so its pitch/auto-variation applies) — it is no longer
|
|
20
|
+
auto-overridden by a same-named `.wav` here.
|
package/dist/bin.js
CHANGED
|
@@ -2452,8 +2452,6 @@ async function resolveCueFile(cue, sceneDir) {
|
|
|
2452
2452
|
`audio cue file "${p}" not found (tried absolute, scene-relative, assets/sfx/)`
|
|
2453
2453
|
);
|
|
2454
2454
|
}
|
|
2455
|
-
const vendored = join(VENDORED, `${cue.source.name}.wav`);
|
|
2456
|
-
if (existsSync2(vendored)) return vendored;
|
|
2457
2455
|
const { name, params } = cue.source;
|
|
2458
2456
|
return writeCached(`${name}-${fnv1a(JSON.stringify(params))}`, () => synthSfx(name, params));
|
|
2459
2457
|
}
|
package/dist/cli.js
CHANGED
|
@@ -1944,8 +1944,6 @@ async function resolveCueFile(cue, sceneDir) {
|
|
|
1944
1944
|
`audio cue file "${p}" not found (tried absolute, scene-relative, assets/sfx/)`
|
|
1945
1945
|
);
|
|
1946
1946
|
}
|
|
1947
|
-
const vendored = join(VENDORED, `${cue.source.name}.wav`);
|
|
1948
|
-
if (existsSync(vendored)) return vendored;
|
|
1949
1947
|
const { name, params } = cue.source;
|
|
1950
1948
|
return writeCached(`${name}-${fnv1a(JSON.stringify(params))}`, () => synthSfx(name, params));
|
|
1951
1949
|
}
|
package/guides/edsl-guide.md
CHANGED
|
@@ -581,8 +581,14 @@ up). `params.gainDb` trims a single hit.
|
|
|
581
581
|
**bgm beds** (`bgm.synth`): `ambient-pad` `lofi` `pulse` `tension` `uplift` — or
|
|
582
582
|
`bgm.file` for your own. **Mixing**: any cue takes `fadeIn`/`fadeOut` (seconds) and `pan`
|
|
583
583
|
(-1 left … 0 centre … +1 right). A `video` clip's audio takes `fadeIn` and `pan` too
|
|
584
|
-
(clip fade-out isn't supported yet). The bed auto-ducks under cues (`bgm.duck`).
|
|
585
|
-
|
|
584
|
+
(clip fade-out isn't supported yet). The bed auto-ducks under cues (`bgm.duck`).
|
|
585
|
+
|
|
586
|
+
**Recorded samples** are a separate layer from the synth palette: use a `file:` cue to
|
|
587
|
+
play a CC0 file from `assets/sfx/` — keyboard typing (`keypress-*.wav`, also driven by
|
|
588
|
+
`textTypeCues`), `footstep_*`, and the Kenney UI pack (`click_*`/`confirmation_*`/
|
|
589
|
+
`select_*`/…). A bare `sfx:` name always synthesizes (so it pitch-varies); pass
|
|
590
|
+
`file: "whoosh.wav"` to play the recorded version instead. Audition the procedural set
|
|
591
|
+
with `examples/scenes/sfx-showcase.ts` and the samples with `sample-showcase.ts`.
|
|
586
592
|
|
|
587
593
|
## Rules
|
|
588
594
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "reframe-video",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.29",
|
|
4
4
|
"description": "Declarative motion graphics that AI can write and humans can tweak — human edits survive AI regeneration. Deterministic mp4 renders from a plain-data scene format.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"motion-graphics",
|