Commit graph

55 commits

Author SHA1 Message Date
Kayshen-X 7d1c01cee7 feat(ui,ai): enhance chat panel and design generation feedback
- Introduce a "Thinking..." indicator in the AI chat panel to improve user experience during processing.
- Update chat message styles for better spacing and alignment.
- Implement batch undo functionality for number input adjustments to streamline user interactions.
- Refactor canvas event handling to ensure accurate history tracking during drag operations.
- Add keyboard shortcuts for agent settings and improve canvas selection handling during history state restoration.
2026-02-20 13:33:54 +08:00
Kayshen-X 4119bd8f6d feat(canvas): enhance canvas tool management and layer panel functionality
- Implement improved tool state management for drawing and selection tools, ensuring proper handling of canvas selection and event propagation.
- Refactor layer panel to support drag-and-drop functionality with visual indicators for drop positions (above, below, inside).
- Update layer item component to handle visibility and locking states more intuitively, enhancing user experience during layer manipulation.
- Introduce new keyboard shortcuts for selecting all top-level nodes, aligning with manual selection behavior.
- Enhance the README to reflect new features and improvements in the canvas and layer management systems.
2026-02-19 17:25:52 +08:00
Kayshen-X 22bcd8a713 chore: update documentation and add MIT License
Enhance CLAUDE.md with detailed architecture, key modules, and AI configuration. Introduce LICENSE file with MIT License terms. Remove obsolete Header component to streamline the codebase.
2026-02-18 22:35:15 +08:00
Kayshen-X 01cc22412e feat(editor): scaffold core canvas engine and editor layout
Set up the Fabric.js v7 canvas integration with bidirectional sync
to a Zustand document store. Includes drawing tools (select, rectangle,
ellipse, line, text, frame, hand), viewport pan/zoom, smart guides,
dimension labels, and the main editor layout with toolbar and status bar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 21:49:16 +08:00
Kayshen-X c009ab7925 Initialize OpenPencil project with essential files and configurations
- Added .cta.json for project settings including TypeScript, Tailwind, and Bun as package manager.
- Created .gitignore to exclude common build and environment files.
- Introduced bun.lock for dependency management.
- Added CLAUDE.md for guidance on using Claude Code with the project.
- Set up package.json with scripts for development, build, and testing.
- Created README.md outlining project features, tech stack, and getting started instructions.
- Configured TypeScript with tsconfig.json for strict type checking.
- Established Vite configuration in vite.config.ts for project bundling.
- Added VSCode settings to exclude generated files from linting.
- Included public assets such as favicon and logos.
- Implemented initial routing structure in src/router.tsx and generated route tree in src/routeTree.gen.ts.
- Developed canvas functionality with multiple files for object management and event handling in src/canvas.
- Styled the application using Tailwind CSS in src/styles.css.
2026-02-17 21:14:16 +08:00