Gallery

Changelog

Oil Mixing — Visual Techniques · GitHub

18commits
158effects
24days
March 6, 2026
Feature Add performance rating (1-10) with filter, sort, and card badge
  • Each effect now has a perf field rated 1-10 based on resource intensity
  • Gallery adds pill filters (Light / Medium / Heavy) with color-coded styling
  • Color-coded card badge showing performance rating
  • "By Performance" sort option for desktop and mobile
2a11f25
Fix Fix viewer overlay: hotzone for iframe mouse capture, proper history navigation
  • Add invisible hotzone div that catches mouse hover even over the iframe
  • Change enterViewer() from replaceState to pushState so browser back button returns to gallery
  • Back button and Escape both call history.back() for proper unwinding
dca9f07
Fix Fix bugs and consolidate spaghetti: collab sync, FLIP cleanup, ES6 compat
  • Fix panel.js setParam() not calling notifyExternalListeners (broke collab sync)
  • Replace ES2020 optional chaining (?.) with ES6-compatible null checks
  • Add transitionend cleanup to FLIP animation to prevent stale inline styles
  • Consolidate spore particles & mycelium connections into main IIFE
1b5f714
February 14, 2026
Enhance Homepage redesign: hero entrance, scroll reveals, 3D tilt, FLIP transitions
  • Cinematic hero with staggered word reveal + dissolve animation
  • IntersectionObserver scroll-triggered card reveals with per-row stagger
  • 3D perspective tilt + cursor glow + content parallax on card hover
  • Navbar transparent-to-solid scroll behavior with height shrink
  • Viewer circular reveal via clip-path from clicked card position
  • FLIP filter/sort transitions for smooth card position animations
d6f02f4
Fix Fix mobile toggle, integrate title in nav, iframe detection, editable slider min/max
  • Fix mobile mushroom toggle tapping through to nav links
  • Detect iframe context to hide redundant chrome in list/viewer mode
  • Move effect title into panel-nav bar between prev/next buttons
  • Add clickable min/max labels on sliders with inline editing and localStorage persistence
e855585
Feature Add 4 mushroom effects, auto-hide chrome, fix mobile panel toggle
  • New effects: Mushroom Wonderland, Mycelium Network, Fairy Ring, Spore Cosmos
  • Bioluminescent card pulses, macro spore particles, forest floor gradient
  • Panel overlay chrome auto-hides after 3s idle, revealed on interaction
  • Clear button wipes canvas in-place instead of reloading
  • Mobile toggle fixed — eliminated double-toggle from touch+click
defbfbc
February 13, 2026
Feature Expand mushroom ecosystem: 3 new effects, garden enhancements, gallery UI polish
  • New effects: Spore Drift (wind-driven particles with god rays), Spore Prints (radial mandala), Psychedelic Fractals (recursive breathing geometry)
  • Garden gains Panel integration, lifecycle decay, spore germination, nutrient flow
  • Gallery adds growth animation on card hover, cursor spore trail, click burst
cff4b57
Feature Add interactive mushroom garden and effect-page decorations
  • New mushroom-garden.html: standalone canvas toy with click-to-plant, mycelium threads, spore particles
  • Mushroom decorations on all effect pages (title, vignette corners, back link hover)
  • Navbar mushroom emoji link to garden page
6f166b2
Enhance Add mushroom-themed decorations across gallery and panel UI
  • Bioluminescent mushroom silhouettes, floating spore particles, corner clusters
  • Nav accents, card hover mushrooms, mycelium grid texture
  • Bio-glow scrollbar and panel mushroom emoji toggle
478e68e
Feature Add bioluminescent mushrooms effect, genetic evolution lab, and collaborative viewing
  • New canvas effect 151: mycelium network with fruiting bodies, glow, and spore particles
  • Genetic parameter evolution engine (genetic.js) + evolution lab UI (evolve.html)
  • BroadcastChannel-based collaborative param sync (collab.js) via ?collab=channelName
  • Panel API extensions: onParamChange, setParam, getParams, getSchema
afff4f1
Fix Fix mobile panel: add close button, backdrop, swipe-to-close, and larger touch targets
  • Close (×) button in header, tap-to-dismiss backdrop overlay
  • Swipe-right-to-close gesture
  • Gear button enlarged to 44×44px minimum touch target with safe edge offset
c8f0c00
Enhance Remove live iframe previews from gallery cards
  • Strip entire live preview system (~135 lines) that loaded up to 12 simultaneous iframes
  • Typography-only cards already look complete; 30% opacity previews weren't worth the CPU/GPU cost
6c886b0
February 12, 2026
Fix Fix nav overlay position and add Clear button to restart effects
  • Move panel-nav to right:12px and shift below panel header when open
  • Add Clear button that saves params and reloads the page fresh
  • C keyboard shortcut for Clear
790a1ad
Feature Comprehensive upgrade: gallery redesign, panel enhancements, recording, and 50 new effects
  • Rewrite gallery as sidebar + iframe layout with search, sort, filter, keyboard navigation
  • Panel navigation, URL sharing, presets, FPS counter, undo, keyboard shortcuts
  • WebM recording support (recorder.js) with enhanced screenshots
  • 50 new Canvas 2D effects (101-150) across 10 thematic categories: biology, astronomy, fluid dynamics, weather, geology, math, optics, physics
c1080ad
Fix Fix NaN black-screen bug caused by undefined _speedMult on first frame
  • params._speedMult is undefined before Panel.init() runs
  • Added fallback (params._speedMult || 1) across all 22 affected effect files
8b74775
Feature Add pause/speed controls and enhanced panel to all 100 effects
  • Wire up pause (_paused) and speed (_speedMult) in every effect's render loop
  • CSS-only files get MutationObserver toggling animation-play-state and duration scaling
  • Panel enhancements: randomize, export/import, screenshot, fullscreen
0b53e1f
Infra Add wrangler.jsonc for Cloudflare deployment
49d0d88
Init Initial commit: 100 visual effects with shared control panel
  • 100 standalone HTML effect files (Canvas 2D, WebGL, CSS, SVG)
  • panel.js: shared control panel with sliders, toggles, color pickers, selects
  • panel.css: dark glass theme with lime/purple accents
  • index.html: gallery landing page
  • All effects expose adjustable parameters via side panel (P key or gear icon)
  • localStorage persistence for saved settings
0d7e500