Skip to content

Latest commit

ย 

History

130 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CanvasAnvil hero

CanvasAnvil

AI-powered multi-canvas creation for Flow, CAD, and PPT.

version license React TypeScript Vite workspaces PRs welcome

Canvases | PPT Showcase | Video Tutorial | Skills | Quick Start | Chinese

โญ If CanvasAnvil helps your workflow, please star the repo and fork it for your own canvas experiments.

CanvasAnvil brings diagramming, interior design workflows, and presentation production into one unified workspace.

๐Ÿ”ท Flow Canvas

Turn structured prompts into clear diagrams for research, systems, delivery plans, and teaching maps, then keep refining layout, labels, and node relationships in one place.

Showcase

Flow example: academic research framework
Academic Research Framework
Flow example: intelligent Q&A system architecture
Intelligent Q&A System Architecture
Flow example: project implementation roadmap
Project Implementation Roadmap
Flow example: course design mind map
Course Design Mind Map

๐Ÿ  Interior Design Canvas

Move from concept framing to drawable outputs by combining planning boards, 2D layouts, render briefs, and material-list delivery in one workflow.

Showcase

CAD renovation plan layout
Renovation Plan Layout
CAD floor finish plan
Floor Finish Plan
CAD reflected ceiling plan
Reflected Ceiling Plan
CAD wall setting out plan
Wall Setting-Out Plan
CAD MEP plan
MEP Coordination Plan
CAD elevation index and interior elevations
Elevation Index + Interior Elevations
CAD detail drawings
Detail Drawings

๐Ÿ“‘ PPT Canvas

Generate full presentations through a controlled pipeline: outline first, visual production second, then export as editable PPT, PDF, or image-based PPT.

Showcase

AI content creation workflow deck preview AI Content Creation Workflow Intelligent collaboration growth deck preview Intelligent Collaboration Growth
AI-driven business innovation deck preview AI-Driven Business Innovation Low-carbon smart campus transformation deck preview Low-Carbon Smart Campus Transformation

๐ŸŽจ Creative Canvases

Workspace Focus Typical output
Flow structured diagram generation and partial editing flowcharts, architecture diagrams, logic diagrams
CAD interior planning, drawing coordination, and delivery packaging concept boards, 2D drawings, render briefs, material lists
PPT structured presentation generation and mixed export workflows presentations, pitch decks, editable decks, report slides

๐ŸŒˆ Release

Current release: v2.1.0

Unreleased on this branch โ€” a structural refactor of the whole project, plus the fixes that came out of it. See CHANGELOG.md for the full list.

Narrowed

  • Three canvases only: Flow, Interior Design and PPT. The poster, product and infographic canvases are gone.
  • The embedded pptist-lab editor is gone; editable decks export directly as .pptx.
  • One OpenAI-compatible request path. The provider list is gone from the app and from the cad-skill and ppt-skill bundles, which had carried a nine-vendor image registry of their own โ€” eight of them with no reachable endpoint.
  • The Next.js port that shadowed the Vite client is gone, along with roughly 900 lines of unreachable code the old PptWorkspace was hiding.

Restructured

  • The repository now separates client/, server/, contracts/ and resources/, and every workspace has the same three layers: pure modules, per-feature hooks, one file per screen. Written down in docs/architecture.md.
  • PptCanvas.tsx went from 5,300 lines to roughly 2,250 and renders no UI of its own.
  • The shared UI kit, storage layer, file pipeline, chat plumbing and i18n each exist once instead of per workspace.
  • TypeScript strict mode is on and the bundle is split: initial load dropped from 2.89 MB to roughly 700 KB raw.
  • 260 tests (npm test, node:test) cover the pure logic the refactor had to preserve.

PPT workflow

  • Editable export is immediate. It used to open a text-box review and then spend three model calls per slide; a two-slide deck took over five minutes, and now takes about a second.
  • The planner is given the deck template and writes slide descriptions that match it. It used to invent its own palette, which then outvoted the template at render time โ€” a deck built on a dark template came out white.
  • Material images attached to a slide, and pictures attached in the chat panel, now actually reach the image model. Both were being dropped before the API call.
  • The chat toolbar has two toggles for pinning whether a message edits the current slide image or redraws it; leaving both off keeps the router in charge.
  • The slideshow has a way in again โ€” it was complete but had no entry point.

Fixed

Twenty-one defects found along the way, including an infinite render loop in every chat panel, four CAD catch blocks that swallowed a failed patch apply, and server-side debug logging that wrote entire conversations to the console.

๐ŸŒ Online Access

Current online access URL:

Video Tutorial

๐Ÿงฐ Skills

CanvasAnvil includes dedicated local skills for each canvas so workflows stay opinionated, repeatable, and easier to maintain.

  • flow-skill ยท Diagram generation and packaging Outputs clean diagram assets and skips standalone HTML preview by default.
  • cad-skill ยท Interior-delivery workflow Exports drawing bundles and a CSV material list for downstream delivery.
  • ppt-skill ยท Full presentation production Enforces outline review before generation and supports editable PPT, PDF, and image-based PPT output.

All skills use the host text model by default. Only image generation requires explicit provider configuration.

๐Ÿš€ Quick Start

  1. Install dependencies
npm install
  1. Start local development
npm run dev

Default URL: http://127.0.0.1:8001

CanvasAnvil deploys as a single service. See deploy/README.md for detailed deployment configuration.

  1. Run type checks
npm run check
  1. Build for production
npm run build

๐Ÿงช Common Commands

  • npm run dev: start the app on 8001
  • npm run check: run TypeScript checks
  • npm run build: build the production bundle

๐Ÿ“ Development Notes

  • Every model call uses the OpenAI HTTP protocol. To use another vendor, point the base URL in Settings at their OpenAI-compatible endpoint โ€” there is no provider list to pick from.
  • AI configuration is read from local app settings; the text and image channels are configured separately.
  • Local development depends on the API service for /api/chat and /api/ppt-ai.
  • After changing local API route wiring in vite.config.ts, restart the dev server.
  • server/** uses relative imports: vite.config.ts imports the dev middleware so npm run dev serves the API in-process, and Vite loads its own config through plain Node, which does not know the @/ alias.
  • Set PROMPT_LOG_DIR to write assembled prompts to disk; it is off by default because the log contains the user's content.

๐Ÿ“š Docs

โš–๏ธ License

CanvasAnvil is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE for the full license text.

๐Ÿ’Œ Contact

  • 3524962421@qq.com

๐Ÿ’ฌ Community

ๆฌข่ฟŽๅŠ ๅ…ฅใ€Œๆ™บๆž„ๅผ€ๆบ็คพใ€็พค่Š๏ผŒไธ€่ตทไบคๆต CanvasAnvil ๅŠๅผ€ๆบ้กน็›ฎ็›ธๅ…ณๅ†…ๅฎนใ€‚

ๆ™บๆž„ๅผ€ๆบ็คพๅพฎไฟก็พคไบŒ็ปด็ 

About

CanvasAnvil is an AI multi-canvas creation platform for flowcharts, interior design, presentations, posters, infographics, and product storytelling.

Topics

Resources

Contributing

Stars

93 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages