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

9h 21m 27s logged

Okay, yes I forgot to devlog… or commit

This was an absolute lock-in but I don’t wanna rank low on storytelling, so I’ll make this one detailed lol.

Wallpaper Switcher

  • Six presets, default plus five gradients: nebula, deep blue, solar flare, aurora, mono
  • Clicking a swatch fades the desktop background over 0.6s instead of snapping
  • Choice persists via localStorage so it survives a refresh
  • markActiveWallpaperSwatch re-reads storage and re-marks the active swatch every time the window reopens

NGC Catalogue Browser

  • Started as a hardcoded Messier list, which I scrapped once I found Datastro’s public deep sky objects dataset (~220k NGC/IC/Messier entries, CORS-open, no key)
  • Search input debounces 350ms before hitting the API, results sort by magnitude
  • Clicking a result fills the detail panel: type, constellation, magnitude, coordinates
  • Dataset uses the Historically Corrected NGC scheme (GPair, OCl, SNR, Cl+N), so I wrote a bucket function that checks substrings to map raw types into galaxy, nebula, cluster, or other for the filter dropdown
  • Built an 8-object offline fallback (Andromeda, Orion Nebula, Ring Nebula, Pleiades, etc) that kicks in silently if the fetch fails, with a small offline warning shown in the list :stardance_star_purple:

Did You Know Notifications

  • Toast-style pings slide in from the right with a random space fact
  • First one fires after 4 seconds, then every 60-120 seconds at random
  • 18 facts in the pool right now, the neutron star teaspoon one still gets me
  • Caught a bug where fast in/out window clicks could call scheduleNotifications twice and stack two loops, doubling the ping rate
  • Fixed it with a notifStarted flag so the loop only ever starts once

Window Resizing And Snapping

  • Built right before the wallpaper stuff, resize first then snap
  • Every window gets a drag handle in the bottom right corner, clamped to a minimum width and height
  • Handle calls stopPropagation on mousedown so resizing doesn’t also trigger the window drag
  • Snap shows a dashed preview box near screen edges, locks into that rect on release
  • Found a bug writing this up: a top-right zone gets detected but has no rect defined for it, so it falls back to snapping full width across the top instead of a proper quadrant.
0
1

Comments 0

No comments yet. Be the first!