TODO: April 23, 2025 Pixel grid texture in trinity version has way too much moire base64 string image support Create examples Matrix as background Matrix as layer of composition (look up old issue for this) Matrix as transparent layer Matrix as transition Tweened, blended fade in/out from top to bottom Revisit list of features, properties of config (see below) Maybe reconstruct config into a list of value receivers A receiver can either update an existing uniform or kick off a full rebuild of the pipeline Encode EVERY param as a URL variable Naive implementation FIRST, THEN see how bad it can get GUI time Wiggle the mouse, GUI show/hide appears (see below) Investigations moving off of regl arbitrary text (only in a branch) alternative bloom implementations Investigate JS data source API for creating raindrops and other matrix-y structures Create more examples Custom font example Matrix as object with params passed into it? What else? Ask folks Audio Porting to other platforms, ie. screen savers Open issues: skipIntro with negative fallSpeed yields unexpected behavior, and there's no intended behavior ------------ old TODO: Live config update roadmap Modify regl pass async build(config, inputs) loads all required stuff async resize - adjusts the sizes run — performs the GPU operation Rewrite main code to accept changes to config Build a Tweakpane for config https://cocopon.github.io/tweakpane Show a gear emoji in the top right on mouse move Hide after three seconds If tapped, show the tweakpane Seems like bloom size and resolution impact the REGL and WebGPU bloom implementations differently Move high pass into WebGPU bloom Dithering bug on mobile? Looks like a subtle fade occurring at a per-second interval Write an explanation of the rain pass (and include images) Compute Volumetric quads Fullscreen quad and spacial mapping MSDFs Audio system Toggle (or number representing frequency) Load the sound effect Play it multiple times with delay Random pan Random volume? Randomize pitch a little? Playdate version Audio system Falling sound Launch sound Undocking sound Docking sound Maybe crank sounds? Not sure yet Support Resurrections SDF bevel and "lights" https://shaderfun.com/2018/07/23/signed-distance-fields-part-8-gradients-bevels-and-noise/ Get the "normals" and color right Note: even completely dark glyphs can have glint on their edges "Golden hour" Stuff MSDF-derived normal vectors from rain pass frag into two of its output channels Anomaly mode toggles between this and anomaly streaks WebGPU Try https://github.com/brendan-duncan/wgsl_reflect Get rid of end pass once it's possible to copy a bgra8unorm to a canvas texture Switch to rgba32float somehow? Why isn't this straightforward? Try shorthand Share a bind group and layout just for time? Try using a buffer for the stripe pass 1D texture Improve loop support Idea: Build a UI Replace versions with presets Simple changes update the values Complex changes replace the pipeline Make it a form, so it's accessible Then, make it look cool like the UI from the old site Maybe pay someone to make Mac/Windows screensavers Zion Control's matrix variant From Reloaded gpu-buffer, working title Support type aliasing (type Q = array) Support shorthand (vec4f) Build mocha tests, example project Give it its own repo, microsite