Skip to content

Foundation code quality refactor#3

Merged
mdadul merged 1 commit into
mainfrom
cursor/foundation-code-quality-refactor
Jun 17, 2026
Merged

Foundation code quality refactor#3
mdadul merged 1 commit into
mainfrom
cursor/foundation-code-quality-refactor

Conversation

@mdadul

@mdadul mdadul commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Refactors the editor into testable lib/ modules, focused hooks, and thin UI panels (properties, export, layers, assets, canvas).
  • Extracts shared utilities for z-order sorting, additive selection, image fit, background rendering, and active-screen store mutations.
  • Adds characterization tests for the export renderer, layer panel logic, and canvas helpers (94 tests total).

Test plan

  • npm test (94 passing)
  • npm run build
  • Manual: Cmd/Ctrl+click multi-select on canvas matches layers panel
  • Manual: layer panel context menu, drag reorder, visibility/lock toggles
  • Manual: asset library upload, search, assign to device, add to canvas
  • Manual: export dialog quick/advanced tabs still render and download

Made with Cursor

Thin LayersPanel and AssetsPanel behind testable hooks, consolidate z-order sorting and additive selection, and add renderer characterization tests to make the foundation refactor safer to extend.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying framekit with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5d3d9f3
Status: ✅  Deploy successful!
Preview URL: https://e38329fa.framekit.pages.dev
Branch Preview URL: https://cursor-foundation-code-quali.framekit.pages.dev

View logs

@mdadul mdadul marked this pull request as ready for review June 17, 2026 20:01
@mdadul mdadul merged commit a3d3dd1 into main Jun 17, 2026
2 checks passed
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