feat: Add canvas snapshots to save and restore full canvas state

Implements save/restore system that captures HTML base, injected CSS,
executed scripts, and floating Vue windows with their full definitions.
Adds 4 MCP tools, backend CRUD API, Pinia store, and script logger.
This commit is contained in:
2026-02-14 23:08:33 -06:00
parent 5fd57ba70f
commit 3f15aa590b
13 changed files with 641 additions and 119 deletions

View File

@@ -85,6 +85,17 @@ export function runMigrations(db: Database) {
)
`)
// Canvas snapshots table
db.run(`
CREATE TABLE IF NOT EXISTS canvas_snapshots (
id TEXT PRIMARY KEY,
name TEXT NOT NULL,
data TEXT NOT NULL,
thumbnail TEXT,
created_at INTEGER NOT NULL
)
`)
// Voice recordings table (for training custom speech models)
db.run(`
CREATE TABLE IF NOT EXISTS voice_recordings (