feat: add MycroZine Generator shape with 5-phase workflow

Implements interactive 8-page zine creation tool:
- Phase 1: Ideation - chat UI for topic/content planning
- Phase 2: Drafts - generates 8 pages, spawns on canvas
- Phase 3: Feedback - approve/edit individual pages
- Phase 4: Finalizing - regenerate pages with feedback
- Phase 5: Complete - print layout download, template save

Features:
- Style selector (punk-zine, minimal, collage, retro, academic)
- Tone selector (rebellious, playful, informative, poetic)
- Chat-based ideation workflow
- Page grid with approval/feedback UI
- LocalStorage template persistence
- Punk green (#00ff00) theme

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2025-12-15 19:35:28 -05:00
parent eb778a1848
commit 0256f97034
3 changed files with 1163 additions and 0 deletions

View File

@ -19,6 +19,8 @@ import { unfurlBookmarkUrl } from "../utils/unfurlBookmarkUrl"
import { handleInitialPageLoad } from "@/utils/handleInitialPageLoad"
import { MycrozineTemplateTool } from "@/tools/MycrozineTemplateTool"
import { MycrozineTemplateShape } from "@/shapes/MycrozineTemplateShapeUtil"
import { MycroZineGeneratorTool } from "@/tools/MycroZineGeneratorTool"
import { MycroZineGeneratorShape } from "@/shapes/MycroZineGeneratorShapeUtil"
import {
registerPropagators,
ChangePropagator,
@ -144,6 +146,7 @@ const customShapeUtils = [
EmbedShape,
SlideShape,
MycrozineTemplateShape,
MycroZineGeneratorShape,
MarkdownShape,
PromptShape,
ObsNoteShape,
@ -168,6 +171,7 @@ const customTools = [
EmbedTool,
SlideShapeTool,
MycrozineTemplateTool,
MycroZineGeneratorTool,
MarkdownTool,
PromptShapeTool,
GestureTool,

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
import { BaseBoxShapeTool } from "tldraw"
export class MycroZineGeneratorTool extends BaseBoxShapeTool {
static override id = "MycroZineGenerator"
static override initial = "idle"
override shapeType = "MycroZineGenerator"
}