@@ -10,48 +10,56 @@ First release.
1010
1111### Added
1212
13- - ` deckrender <input> ` renders PPTX, PPT, PDF, Keynote, DOCX, DOC, HTML, Markdown
14- and URLs to images or PDF; PPTX and PPT also render to video.
15- - Route table with ` direct ` , ` derived ` , ` passthrough ` and ` local ` classes. Chained
16- routes report every backend task in ` --json ` 's ` route ` field.
17- - ` html ` renders to video through ` html2pptx → ppt2video ` , verified end to end.
18- - ` .pages ` and ` .numbers ` render through a zero-dependency local engine that
19- extracts the document's embedded first-page preview, since DeckOps has no
20- converter for either format. Both the single-file and directory-bundle shapes
21- iWork writes are accepted. ` --format pdf ` wraps the JPEG in a single-page PDF.
22- - ` not_implemented ` error code for combinations that are planned but not built
23- (` .xlsx ` to image/pdf, ` .pdf ` and ` .key ` to video). ` deckrender formats ` marks
24- these ` soon ` , so "not yet" is distinguishable from "never".
25- - Page selection (` --pages ` , ` --page ` ), sizing (` --width ` , ` --scale ` ),
26- encoding (` --image-format png|jpg|webp ` ) and ` --quality ` presets.
13+ - ` deckrender <input> ` renders a document to images, PDF or video:
14+
15+ | Input | → image | → pdf | → video |
16+ | ------------------- | ------- | ----- | ------- |
17+ | ` .pptx ` ` .ppt ` | ✅ | ✅ | ✅ |
18+ | ` .pdf ` | ✅ | ✅ | 🕓 |
19+ | ` .key ` | ✅ | ✅ | 🕓 |
20+ | ` .docx ` ` .doc ` | ✅ | ✅ | — |
21+ | ` .xlsx ` | 🕓 | 🕓 | — |
22+ | ` .pages ` ` .numbers ` | ✅ | ✅ | — |
23+ | ` .html ` and URLs | ✅ | ✅ | ✅ |
24+ | ` .md ` | ✅ | — | — |
25+
26+ - Input from a file, an ` http(s) ` URL, or stdin. iWork documents are accepted
27+ both as a single file and as the directory bundle Finder shows as one document.
28+ - Page selection (` --pages ` , ` --page ` ), sizing (` --width ` , ` --scale ` ), encoding
29+ (` --image-format png|jpg|webp ` ) and ` --quality ` presets.
2730- Profiles: ` web ` , ` presentation ` , ` print ` , ` thumbnail ` .
28- - Output layouts: directory, single file, templated frames, zip, stdout.
31+ - Output as a directory, a single file, numbered frames, a zip, or stdout.
2932- ` --json ` result envelope, ` --quiet ` , ` --verbose ` , and exit codes 0/1/2/3.
30- - Credentials shared with DeckHTML and DeckOps through ` ~/.deckflow/credentials ` ,
31- with a five-level resolution chain and ` config list ` source reporting.
32- - Guest mode: rendering works with no credentials; a 401 triggers browser login
33- and retries the request.
34- - Pluggable ` RenderEngine ` interface; the cloud engine over ` @deckops/sdk ` is the
35- only implementation in this release.
33+ - ` deckrender formats ` prints the support matrix; ` --json ` adds the detail
34+ tooling needs.
35+ - Credentials shared with the other DeckFlow CLIs through
36+ ` ~/.deckflow/credentials ` , resolved through a five-level chain that
37+ ` deckrender config list ` reports the source of.
38+ - Guest mode: rendering works with no credentials at all. A ` 401 ` triggers
39+ browser login and retries the request.
3640- Programmatic API (` render ` , ` createRenderer ` ) exported from the same package.
3741
38- ### Verification
42+ ### Notes
3943
40- - ` scripts/conformance.mjs ` renders every file in ` tests/test-data/ ` through every
41- output format against the live backend and diffs the result against the
42- documented matrix. All 24 combinations match.
44+ - Pages and Numbers render the preview embedded in the document, which covers
45+ the ** first page only** . Everything else renders in full.
46+ - HTML to PDF and video is laid out as slides rather than by a browser. The
47+ result carries a ` caveat ` in ` --json ` and a warning on stderr.
48+ - 🕓 combinations report ` not_implemented ` with a message naming what is
49+ blocking them, so "not yet" is distinguishable from "never".
50+ - An option the backend cannot honour fails with ` unsupported_option ` instead of
51+ being silently dropped — rendering something other than what was asked for is
52+ worse than an error. Values inherited from a profile or config file are the
53+ exception: those are dropped with a warning.
54+ - ` --fps ` , ` --duration ` and ` --transition ` are not accepted yet; there are no
55+ video parameters to map them onto.
4356
44- ### Notes
57+ ### Verification
4558
46- - Options the backend cannot honour fail with ` unsupported_option ` rather than
47- being silently ignored. Values inherited from a profile or config file are
48- dropped with a warning instead.
49- - There is no ` --mode ` flag. Rendering runs in the DeckFlow cloud. The
50- ` RenderEngine ` interface is in place for the local engine, but a switch with
51- only one working position is not worth exposing.
52- - ` html -> pdf ` routes through PPTX and carries a fidelity caveat. A native path
53- arrives with the local engine.
54- - ` --fps ` , ` --duration ` and ` --transition ` fail: the backend video task accepts
55- no parameters.
59+ Every combination in the matrix above was confirmed end to end against the live
60+ backend by ` scripts/conformance.mjs ` , which renders real documents through every
61+ output and diffs the result against the documented matrix. Several conversions
62+ that looked plausible from the type definitions turned out not to work, so the
63+ matrix reflects measurement rather than inference.
5664
5765[ 0.1.0 ] : https://github.com/deckflow/deckrender/releases/tag/v0.1.0
0 commit comments