Skip to content

Latest commit

 

History

History
250 lines (183 loc) · 11.9 KB

README.md

File metadata and controls

250 lines (183 loc) · 11.9 KB

CanvasAnvil hero

CanvasAnvil

AI-powered multi-canvas creation for diagrams, interior design, presentations and images.

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, presentation production and free-form image work into one workspace, in Chinese or English.

🔷 Diagram 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

Diagram example: academic research framework
Academic Research Framework
Diagram example: intelligent Q&A system architecture
Intelligent Q&A System Architecture
Diagram example: project implementation roadmap
Project Implementation Roadmap
Diagram 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 PDF or image-based PPT. The deck template sets the style and colour palette; each slide gets a layout of its own.

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

🖌️ Free Canvas

A whiteboard for images: describe a picture in one sentence and it lands on the board. Circle what to change, write a note beside it, press the wand, and a new version appears next to the original. Every version is kept, and the version strip shows what each one changed and when.

Showcase

Free Canvas: an image from one sentence
An Image from One Sentence
Free Canvas: marking up the image
Mark It Up on the Board
Free Canvas: a new version from the marks
A New Version from the Marks
Free Canvas: comparing versions
Compare the Versions

🎨 Creative Canvases

Workspace Focus Typical output
Diagram structured diagram generation and partial editing flowcharts, architecture diagrams, logic diagrams
Interior Design interior planning, drawing coordination, and delivery packaging concept boards, 2D drawings, render briefs, material lists
PPT structured presentation generation and export presentations, pitch decks, report slides
Free Canvas text-to-image and edit-by-annotation on a whiteboard posters, illustrations, revised versions of an image

🌈 Release

Current release: v2.2.0 (2026-10-26). See CHANGELOG.md for the full list.

Four canvases

  • Diagram, Interior Design and PPT, plus the new Free Canvas: text-to-image on a whiteboard, editing by drawing on the picture, and a version strip for every image.
  • The Flow canvas is now called Diagram everywhere, from the UI to the code, prompts and the diagram-skill bundle. Saved selections and chat histories carry over.
  • The poster, product and infographic canvases and the embedded pptist-lab editor are gone. The editable-PPTX export is hidden from the menu for now; its code is kept.

A friendlier interface

  • Every chat panel opens with a short guide and example requests instead of a blank column.
  • The homepage has a clear way in, one button style throughout, and lays out cleanly from 1024px laptop windows to large monitors, in both languages.
  • Switch between Chinese and English from the top bar of any workspace; every string, error message and screen-reader label follows.
  • Quieter details: neutral disabled buttons that say why they are disabled, loading skeletons, and gentle motion that respects the system's reduced-motion setting.

Better results

  • Free Canvas reads the annotation at the picture's full resolution, takes written notes verbatim, and quotes the exact text to change — edits land where they were marked.
  • PPT slides take only the style and colours from the template, not its layout, so a deck no longer repeats one arrangement.
  • Image size options that the server used to drop silently now reach the model.

Lighter and cleaner

  • PPT templates went from 285 MB to 34 MB, with small thumbnails for the picker; the bundled SVG editor from 18 MB to 4 MB; example images from 42 MB to 12 MB.
  • The repository separates client/, server/, contracts/ and resources/, every workspace has the same three layers (docs/architecture.md), TypeScript strict mode is on, and the initial load dropped from 2.89 MB to roughly 700 KB.
  • Over 450 tests (npm test) cover the pure logic; npm run lint reports no errors.

🌐 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.

  • diagram-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 lint: run ESLint
  • npm test: run the test suite
  • 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 及开源项目相关内容。

智构开源社微信群二维码