Skip to content

chore(design-sync): add PixelForge — PS-style editor UI as a second DS#98

Merged
lyfuci merged 1 commit into
mainfrom
chore/design-sync-pixelforge
Jun 23, 2026
Merged

chore(design-sync): add PixelForge — PS-style editor UI as a second DS#98
lyfuci merged 1 commit into
mainfrom
chore/design-sync-pixelforge

Conversation

@lyfuci

@lyfuci lyfuci commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Syncs the image editor's Photoshop-style web UI as a second, separate
Claude Design project — PixelForge — Image Editor UI Kit — distinct from the
base shadcn/ui kit. Same repo, parallel config, no src/app changes.

Synced (30 components, window.PixelForge)

  • Chrome: MenuBar, OptionsBar, ToolsPalette, StatusBar
  • Panels: Layers, Properties, History, Actions, Paths, LayerComps, Adjust, Brushes
  • Dialogs: New Document, Image/Canvas Size, Fill, Stroke, Adjustment, Filter, Layer Style, Warp Text, Rotate, Select Modify, Color Picker, Shortcuts
  • Widgets: Slider, CurvesEditor, ContextMenu, DropZone

29 ship rich preview cards; SaveForWebDialog is a floor card (its live <canvas> preview needs the running editor). Skipped (need a live canvas/pixels/state): Canvas, Workspace, RightSidebar, ChannelsPanel, ReplaceColorDialog, ColorRangeDialog.

How

  • pixelforge.config.json (globalName PixelForge, out dir pf-bundle); a synth entry that self-initializes react-i18next in English so t() renders real copy with no provider; cssEntry = the app's index + ImageEditor CSS chunks (the .pf-* chrome lives in the editor route chunk).
  • Previews use an html.dark frame so portaled dialogs render dark too.
  • .d.ts ship as loose contracts (editor-shaped props) by design — usage lives in each prompt.md + the PixelForge conventions header.

Process

A 6-agent audit selected the sync set (28 SYNC / 6 SKIP); a 7-agent fan-out authored + graded every preview. Render check clean (30/30), all graded good. Shared .design-sync/previews/ are name-disjoint from the base kit. lint, build, and 388 tests green.

🤖 Generated with Claude Code

Sync the image editor's Photoshop-style web UI as a SECOND, separate Claude
Design project ("PixelForge — Image Editor UI Kit"), distinct from the base
shadcn/ui kit. Built from the same repo via a parallel config; no app/src
changes.

What's synced (30 components): the signature PS chrome (MenuBar, OptionsBar,
ToolsPalette, StatusBar), dockable panels (Layers/Properties/History/Actions/
Paths/LayerComps/Adjust/Brushes), the full CC-style dialog set, and widgets
(Slider/CurvesEditor/ContextMenu/DropZone). 29 with rich preview cards;
SaveForWebDialog ships a floor card (its live <canvas> needs the editor).
Skipped (need a live canvas/pixels/state): Canvas, Workspace, RightSidebar,
ChannelsPanel, ReplaceColorDialog, ColorRangeDialog.

How:
- pixelforge.config.json (globalName PixelForge, out dir pf-bundle), a synth
  entry that self-initializes react-i18next in English so t() renders real copy
  with no provider, and cssEntry = the app's index + ImageEditor CSS chunks
  (the .pf-* chrome lives in the editor route chunk).
- Previews use an html.dark frame so portaled dialogs render dark too.
- .d.ts ship as loose contracts (editor-shaped props) by design; usage lives in
  each prompt.md + the PixelForge conventions header.

A 6-agent audit picked the sync set; a 7-agent fan-out authored + graded every
preview. Render check clean (30/30), all graded good. Shared .design-sync/
previews are name-disjoint from the base kit. lint, build, and 388 tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012gT1Vn216uvrJRGC8DbvVZ
@lyfuci lyfuci merged commit 5b1a430 into main Jun 23, 2026
2 checks passed
@lyfuci lyfuci deleted the chore/design-sync-pixelforge branch June 23, 2026 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant