Zigmoon Apps

Releases & Changelog

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