v0.4.0 — Design template engine + narrative engine
via54Design v0.4.0 — 2026-06-08
A complete design template engine + narrative engine in a single Go binary.
One sentence of human inspiration → 90-second story → video script / PPTX deck / image prompt (17 platforms).
✨ New
- 🎬 Narrative engine — 4 formal models (three-act, hero's-journey, cognitive-arc, problem-solution) with shot list, Fountain script, beat timeline
- 📖 Prompt engine v2.2 — 16-dimension control, negative bank, token weight, reference image attachment, 17 platforms (midjourney/flux/dalle3/sd3/ideogram/recraft/seedance/gemini/jimeng + 6 video)
- 🎨 Design engine — 31 color schemes (8 Chinese traditional, 6 Japanese, 6 classic, 6 Adobe, 5 extras), 12 typography sets, 3 responsive layouts
- 📄 Pure-Go export pipeline — PPTX (editable), SVG (vector scenes), JSON, Markdown (Marp-compatible) — zero external dependencies
- 🔌 MCP Server — 18 tools, independent binary (
via54-mcp), stdio + HTTP/SSE modes for Claude Desktop / Cursor / VS Code / Copilot - 🌐 HTMX Web UI — 5 intent-driven panes (Design / Prompt / Presentation / Video / Forge), 16 JSON + 10 HTMX fragment endpoints, zero JavaScript
- 🖥️ Cross-platform — 5 architectures (macOS Intel/ARM, Linux x64/ARM, Windows), one ZIP per platform with CLI + MCP bundled
- 🎯 Interactive CLI menu —
via54(no args) drops into a Chinese-language wizard with prompts for every option - 🛠 Setup scripts —
hack/setup_macos.sh(Homebrew),hack/setup_linux.sh(apt/dnf/pacman auto-detect) - 🧪 20-round test suite —
test_20_rounds.pycovers build, smoke, determinism, edge cases, stress, integration
🐛 Fixed
- Propagated
ResolveLayout/ResolveColor/ResolveTypographyerrors in template engine (was silently ignored, causing confusing "open :" errors) - Added platform validation in prompt command (rejects unknown platforms with a helpful list)
- Restored stderr exit code 1 in failure paths across commands
- Fixed all 17
onclick→addEventListenerbindings in the Web UI
📚 Docs
- Bilingual README — full Chinese version + English version (Shakespeare / Wilde / Lu You quotes for prose sections)
- AGENTS.md — AI working context for Claude Code / Cursor / Windsurf / Copilot / Cline
- REPOSITORY_SETUP.md — manual GitHub settings reference
- MAINTAINING.md — triage workflow + conventional commits + release process
- SECURITY.md — 90-day coordinated disclosure policy
- ACKNOWLEDGMENTS.md — Shakespeare / Wilde / Lu You / Donne attributions + dependency list
🔧 Internal
- Removed all Python/Node.js runtime scripts; migrated to pure Go (PPTX/SVG/JSON/Markdown/TTS all native)
- Unified
baseDir()intointernal/util/FindBaseDir()shared by CLI + MCP server - Added
internal/prompt/module split into 6 files (types/generator/templates/quality/version/render) - Switched Web UI to HTMX 1.9.12 — 0 JavaScript, 0 build step
- Added
.gitattributesto fix GitHub Linguist statistics (Python test file now correctly classified) - SPDX license headers on all 58 Go source files (100%)
📦 Downloads
| Platform | Architecture | ZIP |
|---|---|---|
| macOS | Intel (amd64) | via54-darwin-amd64.zip |
| macOS | Apple Silicon (arm64) | via54-darwin-arm64.zip |
| Linux | x86_64 | via54-linux-amd64.zip |
| Linux | ARM64 (RPi / Graviton) | via54-linux-arm64.zip |
| Windows | x86_64 | via54-windows-amd64.zip |
Each ZIP contains both via54 (CLI) and via54-mcp (MCP Server) binaries.
Full changelog: v0.3.0...v0.4.0