NATIVE PREVIEW / 0.3

From brief
to editable deck.

Compilation, Doctor, preview and export run locally. Source builds require Rust 1.95+.

git clone https://github.com/OthmaneBlial/Storyboard-Studio.git
cd Storyboard-Studio
cargo build --release --locked
./target/release/storyboard build examples/startup-pitch.md -o pitch.pptx

Install on your local PATH with cargo install --path crates/storyboard-cli --locked. Check the actual platform and native generation in releases.

Write a brief

Use one H1 for the deck, H2 for slide conclusions, H3 for cards, and Notes: for speaker notes. Metadata before the first slide records audience, objective, owner, next action, theme and synthetic status.

# A bounded research pilot
Audience: Product leadership
Objective: Decide whether to pilot
Owner: Research lead
Next action: Approve the pilot
Theme: midnight
Synthetic: true

## Handoffs need a traceable decision
Keep excerpts beside the decisions they inform.
Notes: Synthetic example. Review the assumptions.

Structured briefs and typed story JSON are also accepted. The author owns all claims and decisions. Unsupported fields and versions fail explicitly.

Desktop workspace

npm --prefix apps/desktop ci
npm --prefix apps/desktop run tauri -- build

Use the brief editor, story map, slide properties, Doctor, evidence, themes, brand import, preview and export. Projects autosave locally. Native dialogs and actual file drops grant import access.

⌘/Ctrl K opens the palette; ⌘/Ctrl Enter compiles; ⌘/Ctrl O opens; ⌘/Ctrl E exports. Arrow keys navigate slides outside editors. Preview provides thumbnails, zoom, fit, grid and fullscreen.

Install your platform's Tauri prerequisites. Node is authoring/build tooling, not a compiled-app runtime.

Review the argument

storyboard doctor pitch.story.json --json
storyboard inspect pitch.story.json --layout
storyboard diff old.story.json new.story.json

Doctor reports missing ownership/action, weak progression, repeated or dense copy, unsupported claims and unreviewed evidence. Findings have a stable code, severity, slide and concrete action.

Evidence presence, author confirmation and factual truth remain distinct. Claim links must resolve; author confirmation requires an owner, excerpt and real checked date. URLs and local evidence files are not fetched automatically.

Export and verify

storyboard render pitch.story.json --theme editorial -o deck.pptx
storyboard verify deck.receipt.json
storyboard validate deck.pptx --json
storyboard preview deck.story.json -o preview.html

The bundle contains editable PowerPoint, story JSON and receipt. Native text, shapes, tables and charts remain editable. Charts include workbooks; images are embedded. Notes and hyperlinks are preserved.

Receipts check hashes, package structure, theme/story binding and replayed diagnostics. They are unsigned consistency records, not truth or authorship verification. --force replaces existing regular bundles.

Local themes and logos

storyboard themes --json
storyboard render pitch.story.json --brand examples/brand/kit.json -o branded.pptx

A kit contains a name, full theme and optional PNG/JPEG logo relative to the kit directory. Import it through the desktop. Colors, type sizes and spacing are validated. Native layout measures bundled OFL Carlito regular/bold fonts; arbitrary fonts and complex script shaping have current limits.

Optional drafting

storyboard draft brief.md \
  --endpoint http://127.0.0.1:11434/v1/chat/completions \
  --model YOUR_LOCAL_MODEL --allow-send -o draft.md

OpenAI-compatible endpoints include local Ollama and LM Studio. Gemini uses --provider gemini with its full models/MODEL:generateContent endpoint. Read a key from STORYBOARD_API_KEY or --api-key-env.

Only explicitly approved input text, up to 64 KiB, is sent with drafting instructions. No images or project history are attached. Desktop keys remain in the session; returned drafts require author review.

Inspect the project

Story v3 is strict JSON. Project v1 (.storyboard) wraps brief, story, full theme, stable ID and save time. CLI and desktop share validation. Canonical .story.md wraps the full typed JSON in one storyboard-story-v3 fence for lossless interchange.

Move assets/ with image projects or exported stories. PowerPoint embeds images and opens independently. Old generations are rejected explicitly.

All twenty gallery decks were rendered in LibreOffice with per-slide authored text checks. ZIP/XML checks and those reports do not certify every viewer or completely validate ECMA-376 schemas. Native chart viewers can place labels differently.

Full format contract · Roadmap · Security