v 2.0.0 - Beta 1
Pre-releaseπ Features
-
NEW HTML Block Component with comprehensive capabilities
- Shadow DOM Architecture for secure encapsulation and CSS scoping
- Live HTML/CSS/JavaScript Editor with real-time preview
- CSS Variables System with automatic control generation (color pickers, sliders, switches)
- JavaScript Variables System with 8 typed controls (string, number, boolean, color, gradient, url, object, array)
- Custom Actions System with button generation from JavaScript comments
- SafeDOM API for secure DOM manipulation preventing "Illegal invocation" errors
- Custom Components for Data Editing: ArrayEditor and ObjectEditor with intuitive UI
- Real-time Variable Updates with automatic UI refresh
- Integration with Export System for static image generation
-
New Routing System with React Router for better navigation and state management
- Separated Routes:
/newfor project creation and/editorfor editing - Professional New Project Panel: Photoshop-style interface without templates
- Context-Aware UI: Menu options and UI elements only appear when relevant
- Smart Navigation: Automatic redirection between routes based on application state
- Separated Routes:
-
Enhanced Project Management
- Custom Project Names: Workspaces now use the exact project name entered by user
- No Auto-Creation: Eliminated automatic workspace creation on app startup
- Smart TabBar: Only appears when projects exist, hidden in new project view
- Contextual Controls: Editing options disabled outside editor context
-
Improved User Experience
- Cleaner Interface: TabBar and add tab button hidden in new project view
- Logical Menu System: File menu options disabled when no workspace is active
- Professional Workflow: Similar to professional design applications
- Performance Optimization: Editor components only loaded when needed
-
Add a redesigned hierarchy panel with searchable layers, filters, contextual layer actions, and cleaner workspace-oriented UI
-
Add layer groups/folders with nested hierarchy, collapse state, visibility/lock controls, duplication, rename, and drag-and-drop reordering
-
Add grouped Moveable editing so hierarchy groups can be transformed together directly on the canvas
-
Add hierarchy multi-selection with standard click, Shift range selection, and additive Alt/Ctrl/Cmd selection for batch layer actions
-
Migrate to Tailwind CSS v4 with new CSS-based configuration
-
Migrate to Vite 8 for improved build performance
-
Migrate to ESLint 9 with flat config system
-
Migrate to Zustand from easy-peace and build a multistore system
-
Add new window styles to CodeBlock: Pixel, Konsole, GTK, GNOME, RETRO and Paper
-
Improve macOS window style with realistic traffic light buttons and proper spacing
-
Improve Windows 11 window style with accurate title bar and window controls
-
Enhance Paper window style with better textures, gradients, and paper tear effect
-
Add automatic color setting for Paper theme (#fbfaf7) and disable window color picker
-
Add rounded corners and shadows to various window styles for better realism
-
Add blur effect for workspace backgrounds
-
Add noise texture overlay for workspace backgrounds
-
New Mesh Gradient Dynamic Background Effect
-
New Lava Lamp Background Effect
-
New Galaxy and Starfield Background Effect
-
Add "Create Dynamic Background" from Image, Phone, and Window block context menus using extracted image colors
-
New App Design with glassmorphism effects
-
Redesign TabBar with design guide styling
-
Add context menu to tabs with bulk closing options: Close, Close others, Close to the right, Close to the left
π Fixes
- Fix grouped Moveable crashes caused by invalid multi-target configuration in hierarchy-driven group selection
- Fix control position feedback loops caused by store-to-local property synchronization while dragging active controls
- Fix 800+ ESLint errors (formatting, unused variables, and other linting issues)
- Fix TypeScript strict mode error in ProjectWizard.tsx (explicit comparison for any types)
- Fix Editor component not displaying by default (showWizard state initialization)
- Fix theme toggle not working by centralizing theme state in AppContext and updating CSS for class-based dark mode
- Fix code duplication in new window styles by using common SyntaxHighlighter
- Fix window color picker showing for Paper theme when it should be disabled
- Fix TypeScript and ESLint formatting issues across codebase
- Fix InfiniteViewer zoom being too aggressive when using Ctrl + mouse wheel scroll (added wheelScale and maxPinchWheel parameters)
- Fix ControlMenu Portal not rendering when RightPanel hasn't mounted yet (added useEffect to wait for #menu element)
- Fix ControlMenu disappearing when switching tabs in RightPanel (Portal container now persists within tab)
- Fix Moveable component appearing in exported images (added isExporting state to hide Moveable during export)
- Fix TypeScript errors in workspace store interface for addWorkspace function
- Fix workspace name inheritance from project creation dialog
- Fix TabBar rendering when no workspaces exist
- Fix menu options appearing in inappropriate contexts
- Fix automatic workspace creation on application startup
π Changes
- Refactor hierarchy actions into the central store so layer visibility, lock, delete, duplicate, grouping, and structural reorder flow through shared editor logic
- Update TypeScript moduleResolution to "bundler" for better ESM support
- Remove old ESLint config files (.eslintrc.js, .eslintrc.json)
- Remove test message from App.tsx
- Refactor CodeBlock to use common SyntaxHighlighter for all styles to prevent duplication and enable proper stretching
- Update Tailwind CSS v4 gradient syntax (bg-linear-to-_ instead of bg-gradient-to-_)
- Refactored App Architecture: Moved from dialog-based to routing-based navigation
- Updated Workspace Store: Modified addWorkspace to accept custom project names
- Enhanced MenuBar Logic: Added route-based conditional rendering
- Improved TabBar Behavior: Context-aware visibility based on workspace state
- Streamlined User Flow: Clear separation between project creation and editing phases
π¦ Dependencies
- Update vite: 5.1.5 β 8.0.0
- Update @vitejs/plugin-react: 4.2.1 β 6.0.0
- Update vite-plugin-electron: 0.28.4 β 0.29.0
- Update vite-plugin-pwa: 0.16.4 β 0.20.0
- Update eslint: 8.57.0 β 9.15.0
- Update eslint-plugin-react: 7.34.0 β 7.37.0
- Update @typescript-eslint/eslint-plugin: 6.1.0 β 8.15.0
- Add @typescript-eslint/parser: 8.15.0
- Update eslint-config-prettier: 8.5.0 β 9.1.0
βοΈ Configuration
- Add @tailwindcss/vite plugin to vite.config.ts
- Create eslint.config.js with flat config format
- Update tsconfig.json moduleResolution to "bundler"
- Added React Router DOM for navigation management
- Created new NewProject.tsx component with professional UI
- Updated App.tsx with routing configuration
- Modified MenuBar.tsx for context-aware menu options
- Enhanced TabBar.tsx with conditional rendering logic
Full Changelog: v1.12.0...v2.0.0-beta1