You are browsing as a guest. Sign up (or log in) to start making projects!

2h 24m 49s logged

Devlog #7 — File lifecycle, Z-Retro polish, Glass vibrancy, and shell QoL

This stretch was about making Ztionix feel like one system instead of a pile of separate apps. Files on the desktop should do something, windows should feel premium, and Z-Retro should behave like a real emulator shelf — not a demo page with a canvas in it.

File lifecycle (the big one)

Desktop drag-and-drop was already importing into the VFS, but it felt disconnected: files appeared in generic slots, icons didn’t match types, and opening a ROM while Z-Retro was already running did nothing useful.

So I built a proper file lifecycle:

  • fileTypeHandlers.ts — one place for extension → app routing (Editor, ZMusic, Z-Retro, Paint, Video, etc.)
  • Unknown files — notification + “Open in Editor?” instead of silently failing or guessing wrong
  • Desktop drop polish — icons spawn under the cursor, not the next grid slot
  • Desktop icons — show the target app’s icon (music note, retro pad, editor pen…) instead of generic file glyphs
  • Singleton reopen — ZMusic and Z-Retro don’t spawn a second WASM instance; they call init({ path }) and swap the track/ROM in the existing window

Double-click on the desktop, double-click in Files, and open in Terminal all go through the same path now.

Alt+Q window switcher

Browser Alt+Tab is useless here, and the old instant-cycle felt cheap. Alt+Q opens a centered switcher: tap Q again to cycle, release Alt to focus. Flat dark UI, no glass blur — matches Minimal more than the new Glass theme.

Z-Retro upgrades

Z-Retro got a lot of love:

  • Save / Load toolbar buttons (VFS save states under ROMs/saves/)
  • Close prompt when a game is running — Save & Close, Just Close, or No; no prompt on the library screen
  • Library thumbnails — screenshot captured at save time (while the frame is live, before state serialization); card shows the save-game shot, not a black auto-grab
  • Controls button fix — opens the real control menu, not Restart

Themes & appearance

  • Glass theme overhaul — macOS-style vibrancy: blur(40px) saturate(150%), edge-lit borders, deep layered shadows, frosted chrome vs solid inputs/emulator canvas
  • Minimal + custom wallpaper — presets stay pure black; custom upload/URL works on Minimal too
  • Font scale — Settings slider 75–150% via root --font-scale and rem-based typography (fixed the bug where html { font-size: 1rem } was stomping the scale)

Terminal

  • zfetch / neofetch — system info panel with Ztionix branding
  • Selectable output, Ctrl+C copies selection

Bug fixes worth naming

  • Window drag release glitch (transform commit before removing .dragging)
  • Glass/minimal theme edge cases
  • Font scale actually applying globally after the root CSS fix
0
21

Comments 0

No comments yet. Be the first!