Prepare UJL Crafter for public preview with critical refactorings and deployment setup
Description
This change prepares the UJL Crafter for its first public preview by implementing critical refactorings and deployment improvements.
Key Changes
Critical Refactorings:
-
ID Management: All AST nodes now have required
idfields for reliable node identification - Clipboard Operations: New cross-browser clipboard API with Safari fallbacks
- Tree Utilities: Refactored tree manipulation utilities into reusable, UI-agnostic functions
Editor Enhancements:
- Added Backspace key support for delete operations
- Improved event handling and node selection
- Enhanced keyboard shortcuts
Deployment:
- Replaced
adapter-autowithadapter-staticfor simple static hosting - Added early preview disclaimer dialog
- Added preview links in documentation
Documentation:
- Updated showcase document with improved descriptions
- Updated schema tests for new content
- Removed emojis from README files for consistency
Breaking Changes
-
Required IDs: All UJLC documents must now have
meta.idfor all nodes. Existing documents without IDs need to be updated.
Technical Details
- New files:
packages/crafter/src/lib/tools/clipboard.ts,packages/crafter/src/lib/tools/ujlc-tree.ts - Removed:
packages/crafter/src/lib/components/app/sidebar-left/editor/nav-tree/ujlc-tree-utils.ts - Updated: All core modules, adapters, and editor components for required IDs
- New dependency:
@sveltejs/adapter-static
Definition of Done
Testing
-
I have tested this change locally -
All existing tests pass -
I have run pnpm lintandpnpm check - ID management verified across all components
- Clipboard operations tested in Chrome, Firefox, and Safari
- Tree utilities tested for immutability and correctness
- Editor keyboard shortcuts verified
Checklist
-
I have performed a self-review of my own code -
I have commented my code, particularly in hard-to-understand areas -
I have made corresponding changes to the documentation -
My changes generate no new warnings