Skip to content

v0.4.0 — Design template engine + narrative engine

Choose a tag to compare

@veawho veawho released this 08 Jun 07:12

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 menuvia54 (no args) drops into a Chinese-language wizard with prompts for every option
  • 🛠 Setup scriptshack/setup_macos.sh (Homebrew), hack/setup_linux.sh (apt/dnf/pacman auto-detect)
  • 🧪 20-round test suitetest_20_rounds.py covers build, smoke, determinism, edge cases, stress, integration

🐛 Fixed

  • Propagated ResolveLayout/ResolveColor/ResolveTypography errors 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 onclickaddEventListener bindings 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() into internal/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 .gitattributes to 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