@jokerized/decksmith 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,7 +6,7 @@ storyboard rendered to a 9:16 short or an MP4 without replanning.
6
6
 
7
7
  Rendering is bought, not built. A deck is a
8
8
  [HyperFrames](https://github.com/heygen-com/hyperframes) composition (Apache-2.0, pinned
9
- at 0.8.27), so the animation runtime, the headless capture and the FFmpeg encode are
9
+ at 0.8.35), so the animation runtime, the headless capture and the FFmpeg encode are
10
10
  upstream's. What DeckSmith owns is the part nothing else does well: turning a document
11
11
  into a *good explanation*, and being able to check that the explanation is true to its
12
12
  source.
@@ -99,6 +99,12 @@ decksmith unpack talk.deck -o reopened/
99
99
  presenter does — freezes each hold for exactly its sentence's length, then plays out
100
100
  whatever the scene actually ends on. Needs Chromium and ffmpeg, and needs the
101
101
  `timing.json` that `build` writes.
102
+
103
+ Subtitles ride alongside by default, because a burned-in band is a decision taken away
104
+ from the viewer. `--subtitles burn` makes it part of the picture, and it is only
105
+ accepted over a deck built with `--reserve-captions` — the layout is fixed at build
106
+ time, so a deck that made no room cannot be given any an hour later, and the band would
107
+ land on the slide's own text. `render` refuses that rather than shipping it.
102
108
  - **drift** — renders the deck twice and compares every frame. `--identical` fails on any
103
109
  differing byte, which is only honest for an image-free deck with no camera — the demo
104
110
  deck is not one, and fails it on both hyperframes pins (see
@@ -242,8 +248,12 @@ artifact. Three are worth reading as patterns rather than bugs:
242
248
  seam. And, at 9:16, burned captions sitting on top of the slide's own text on 54% of
243
249
  sampled frames, because `marginV` was measured to clear *player chrome* and nothing ever
244
250
  guaranteed it cleared the *composition*. Both in
245
- [`.planning/EXPERIMENT-010-reconcile.md`](.planning/EXPERIMENT-010-reconcile.md); the
246
- caption one is **still open**.
251
+ [`.planning/EXPERIMENT-010-reconcile.md`](.planning/EXPERIMENT-010-reconcile.md). The
252
+ caption one is **closed**: `build --reserve-captions` gives the band its own strip and
253
+ `fidelity` fails a deck that draws into it. It is worth reading for how it closed —
254
+ the plan written to fix it asserted that every archetype lays out into `contentH`, ten
255
+ of them do not, and the first fix therefore changed the worst stop by nothing at all.
256
+ The new gate is what caught that; every other gate stayed green through it.
247
257
 
248
258
  `verify` is good at mechanics — overflow, overlap, contrast, motion, determinism. It has
249
259
  no opinion about whether a slide communicates. Across four experiments it passed, in