CUT THE FLOW v2.1
Released β March 6, 2026 Β· Updated March 7, 2026
π± Mobile Responsive β Complete Redesign
- Hamburger button β fat chunky 3-bar button (
26Γ3px each), animates to Γ when drawer is open, appears only on mobile (β€768px) new
- Slide-out drawer β left-to-right panel (285px, 88vw max) with 3 sections: Γdition (Undo, Redo, Text, Color Block), Format (16:9, 9:16, 1:1, 4:5), Projet (Open, Save, AI Assistant, Export) new
- Drawer closes on backdrop tap, on button action, and automatically on window resize to desktop
- Bottom tab bar redesigned β 5 tabs: MΓ©dia, Timeline, FX, Color, Export (previously 4 tabs without FX/Color) new
- FX panel β now opens as a mobile bottom sheet from the FX tab instead of a top overlay; 4-column grid, touch-optimized button size fix
- Color Grading panel β accessible from dedicated Color tab in bottom bar new
- All bottom sheets (Media, FX, Color, Properties, AI) use
background: #050505 with border-top: 1px solid #111
π€ Pure Black Theme
- Toolbar, body, container background:
#000 (previously #0a0a0a / #1a1a1a)
- Bottom tab bar:
background: #000, border-top: 1px solid #111
- Drawer interior:
#000 background, cards #0c0c0c, dividers #111
theme-color meta tag updated to #000000
π§ Mobile Toolbar
- Toolbar height:
48px on mobile (was 40px)
- Toolbar center (all tool buttons) hidden on mobile β replaced by drawer
- Export button always visible in top-right on mobile: white background, black icon,
36Γ36px
- App logo:
margin-right: auto to push export flush right
βοΈ JavaScript
toggleMobileDrawer() β open/close drawer with burger animation, body scroll lock
closeMobileDrawer() β centralized close, resets burger aria-expanded
mobileTab() extended β now handles fx and color cases (show/hide panels + backdrop)
- Window
resize listener: auto-closes drawer when viewport exceeds 768px
π Details
Vanilla JS Β· toggleMobileDrawer / closeMobileDrawer added Β· CSS mobile section overhauled (@media max-width: 768px) Β· Zero dependencies
β Open CUT THE FLOW
π¬ Fade In / Fade Out System new
- Visual Fade Panel β dedicated toolbar button (SVG envelope icon), opens a floating panel with 4 one-click presets: No Fade, Fade In, Fade Out, In & Out
- Live SVG envelope visualizer β updates in real time as sliders move, reflects the actual fade shape (ramp up / flat / ramp down)
- Two sliders (0β5 s, step 0.1 s) for Fade In and Fade Out durations, synced bidirectionally with the Properties panel
_calcFadeOpacity(clip, t) β new helper computing 0β1 opacity from clip position in timeline
- Live preview:
_applyVideoTransform() now drives element opacity via _calcFadeOpacity()
- Fade
globalAlpha applied during export in all 7 export engines β image and video clips
fadeIn / fadeOut values persisted in .ctf, .json and Pinata saves β confirmed safe through spread-operator audit
- New JS methods:
toggleFadePanel(), updateFadePanel(), _drawFadeEnvelope(), applyFadePreset(), setFadePanelIn(), setFadePanelOut(), _syncFadePresetHighlight()
πΌοΈ Image Positioning Fix fix
- Static images dropped on the timeline were clipped to the top-left corner of the preview β
#previewImage was missing from the CSS position:absolute; top:50%; left:50% centering rule
- Conflicting inline
width:100%; height:100% style on <img id="previewImage"> removed
ποΈ Export Engines β Full Parity fix
- All 7 export engines now apply contain-fit aspect-ratio preservation,
videoScale / videoPosX / videoPosY spatial transform, and fadeIn / fadeOut opacity for both image and video clips
- Engines fixed:
webcodecs-export.js, modern-export-engine-v2.js, optimized-export.js, frame-by-frame-exporter.js, simplified-export-engine.js, modern-export-engine.js, app.js main loop
- Previously images and videos were drawn with bare
ctx.drawImage(el, 0, 0, w, h) β stretched, unpositioned, no fade
π¨ UI Design Harmonization fix
- All sliders (Fade, FX intensity, Color Grading, Properties Scale/Position/Opacity) unified to the volume-control design: rectangular thumb
8Γ12px, grey #555, hover #888, track #333 β no colored glows anywhere
- Fade panel preset buttons active state changed from cyan/blue border to white/grey β matching the Save dialog card design language
- Fade envelope SVG recolored to grey palette (
#888 stroke, #555 fill)
ZORD v0.0.1-alpha
Released β February 5, 2026 Β· Updated February 18, 2026
π New Features
- Multi-AI assistant: Claude 3 (Anthropic), GPT-4 (OpenAI), Gemini 1.5 (Google) β use your own API keys
- Image upload for AI vision analysis (GPT-4 Vision, Claude Vision)
- Web3 cloud storage via IPFS / Pinata β permanent decentralized backup
- Real-time collaboration via WebRTC (peer-to-peer, no server)
- Multi-document manager with sidebar navigation
- Professional DOCX export (bold, italic, underline, headings, lists, colors, images)
- ODT import (
.odt) β full OpenDocument parsing with styles, bold, italic, underline, headings, lists new
- RTF import (
.rtf) β basic rich-text format support new
- Digital signatures β insert pre-encoded or uploaded signatures
- Glyph panel β special characters with favorites
- Preferences pop-in with switch toggles (dark mode, spellcheck, invisible chars, typography corrections)
- Progressive Web App β installable on desktop & mobile
π§ Fixes critical
- DOCX import crash fixed:
activeDocId is not defined β corrected bare variable references to __activeDocId and __documents in _importHtmlIntoNewDoc()
- ODT import returning βfile appears emptyβ: XML namespace bug β
<office:body> and <office:text> were looked up in the wrong namespace (text: instead of office:)
- Pagination after import:
handlePagination() now runs correctly with a two-pass approach (200ms + 600ms) for large documents
- Save/autosave moved inside pagination callback β documents are persisted after reflow, not before
- IndexedDB persistence: fixed unconditional overwrite, beforeunload skipping saves, emergency backup premature deletion, migration data loss
maybeInitializeDefaultDocument() no longer wipes editor content after loading saved documents
- IDB fallback timestamp uses epoch instead of
new Date() β prevents empty doc from appearing βnewerβ than real data
- Dark mode switch toggles: knob now visible in dark mode (
dark:bg-neutral-900)
π¨ UI & UX
- Real A4 pagination (210Γ297mm) with live page thumbnails
- Save pop-in reordered: .zord β JSON β Pinata β .docx β .doc
- Open pop-in: all format buttons at full opacity β no format pre-selected on open
- Save/Open modals: consistent icon styling, neutral gray icons, Word label
.doc / .docx
- Responsive mobile toolbar + swipeable drawer + floating zoom controls
- Light/Dark theme with smooth transitions
user-select: none on all modals to prevent accidental drag/import
- Apply button closes preferences pop-in with visual feedback (processing β success β close)
π Details
Quill.js 1.3.6 Β· Tailwind CSS 3.x Β· Vanilla JS Β· Mammoth.js Β· JSZip Β· IndexedDB + localStorage dual persistence Β· 30-step undo history
β Open ZORD
SUPER PRINT v0.0.3-alpha
Released β February 10, 2026 Β· Updated February 18, 2026
π New Features
- Scribus
.sla file import beta β text frames, shapes, polylines with automatic coordinate conversion and multi-page support
- Chemin de fer (page sorter) with drag-and-drop reordering + βApply and closeβ button
- ODT import fully rewritten β structured parsing, list/table support, inline images extraction
- Pen Tool (BΓ©zier) β professional vector drawing, Illustrator/Figma-style handles
π§ Fixes critical
- Main JS crash fixed:
TypeError: Cannot read properties of undefined (reading 'forEach') β ASI ambiguity caused ['blockFill',...].forEach() to chain onto previous statement. Added defensive semicolons and null guards on getElementById
- Removed missing
mask-handle-guard.js script tag β was causing 404 error on every page load
- PWA service worker registration guarded for
file:// protocol β no more console errors when opening locally
- Manifest CORS error fixed:
<link rel="manifest"> now conditional, only loads over HTTP/HTTPS
- Spread β Single mode: objects no longer lost β synchronous handler rewrite with safety snapshot and anti-overwrite protection
- Master page typography now applies correctly β
exitEditing() before serialization, forced visibility on textbox objects
- ODT/DOCX import crash fixed β
newPage() now creates synchronous temporary canvases instead of relying on async rendering
- IDML import: fallback selector for cross-browser compatibility + guard bypass fix for post-import save
- Assets panel memory leak:
applyCompFormat() now performs full document purge before applying new composition
deepCleanupCanvas(): no longer destroys image sources (_element.src = '' removed)
- View mode (single/spread) now persisted across all 8 save/load points
- Page numbering settings: proper defaults for legacy projects
π¨ UI & UX
- A4, A5, Letter + custom dimensions with configurable margins and bleed
- Single page & Spread (double-page) display modes
- Pasteboard (extended work area) around pages
- Drawing tools: text, image, rectangle, circle, star, freeform, SVG import
- Object manipulation: transform panel, proportional lock, grouping, z-index layers
π Details
Fabric.js 5.3.0 Β· jsPDF Β· JSZip Β· PDF.js Β· Paper.js Β· Mammoth.js Β· Hypher Β· ~43,690 lines JS
β Open SUPER PRINT