Skip to content

Releases: djayuffe/wireframe-scroller

v4.39 - Optimised, plus a two-track soundtrack

Choose a tag to compare

@djayuffe djayuffe released this 11 Oct 04:50

Performance

Measured on an Apple M1 Pro at Retina resolution:

v4.38 v4.39
Scenes over 16.7 ms CPU per frame 25 of 59 0
Worst scene CPU per frame (Tanglecube) 256 ms avg, 2.9 s peak 3.2 ms avg
Edges after the effect chain up to 404,000 at most 60,000
Simplest scene, uncapped 34 fps 167 fps
Schwarz D / Tanglecube 3.8 / 2.9 fps 109 / 106 fps
Stress run, 600 BPM, 83 scene changes worst frame 8.9 ms CPU
  • Effects: sort-based duplicate removal only where duplicates can arise, a 60,000-edge budget, undo on non-finite output.
  • Scenes build on worker threads and are prefetched; the render loop never waits for a rebuild.
  • Uploads: O(edges) check, direct index upload, buffer orphaning.
  • GPU: the procedural background and art layer render in a half-resolution pass, skipped while a logo card covers the screen. --quality now helps (about +35% at 0.5).

Fixes

  • A rejected mesh no longer ends the show. Full-screen is vsynced. The beat solarize flash no longer turns black grey.

Music

  • Playlist: "Stars (4ch. version)" by cs127 (CC BY 4.0), then "Digital Rendezvous" by Drozerix (The Mod Archive 180821, Public Domain), looping; credit and tempo switch with the track, without a beat jump. WAV playback and the looping-clock fix from v4.38.

New

  • --stats (fps and CPU time per frame), --no-vsync, repeatable --music.
  • Regression tests for the edge budget, effect validity and the async scene fetch.

CI green on macOS, Linux and Windows.

v4.38 - Stars by cs127, WAV playback, tempo sync

Choose a tag to compare

@djayuffe djayuffe released this 11 Oct 03:30

New soundtrack

"Stars (4ch. version)" by cs127 is the new default track: a 4-channel ProTracker module (4:21, 125 BPM, genre "Demo Style") from The Mod Archive, module 201917, licensed under CC BY 4.0 and bundled unmodified. The credit is in the README, NOTICE, music README, and in the ticker while it plays. Thank you, cs127. The finished IT version is Stars, module 201894.

Fixes and improvements

  • The visuals lock to the module's own tempo unless --bpm is given (Silicon Dancer is 125 BPM, not the 132 the docs assumed).
  • WAV tracks now play (they were silently rejected by libopenmpt).
  • The music clock counts played time, so a looping track no longer restarts the scene sequence and logo show.
  • Golden scenes: light rays tinted gold.
  • make run (Stars), make run-silicon, make run-pulse; the fetch script verifies modules against The Mod Archive's MD5s.

CI green on macOS, Linux and Windows.

v4.37 - Golden Galaxy and Golden Cliff

Choose a tag to compare

@djayuffe djayuffe released this 10 Oct 19:38

Highlights

The two strange-attractor intros from uber256-lab, GALAXY.COM and CLIFF.COM, ported as 3D scenes with a new golden glimmer look. 59 scenes in total.

New scenes

  • 57 Golden Galaxy: de Jong map with the original constants (a=1.4, b=-2.3, c=2.4, d=-2.1), start point and a/d morph.
  • 58 Golden Cliff: Clifford map with the original constants (a=-1.4, b=1.6, c=1.0, d=0.7).

About 14,000 filament-aligned dashes per frame, drawn additively without depth test, so dense regions glow like the original's hit counting. A bounded z coordinate gives depth without changing the face-on picture, and a sparser orbit from 1.6 s earlier forms the trail.

Golden glimmer

Twinkling gold dashes, a sweeping shimmer band, four-point glints and gold horizontal and vertical streaks. Warps, colour grading and the rainbow tint are switched off for these scenes so the shape and the gold survive.

Try --scene 57 or --scene 58. CI green on macOS, Linux and Windows.

v4.36 - Unknown 3D wireframe effects

Choose a tag to compare

@djayuffe djayuffe released this 10 Oct 16:27

Highlights

16 new effects that go beyond plain warps, and 6 recipes built from them. 80 effects and 30 recipes in total.

New effects (64-79)

Hopf rotation through S3, Klein fold, hyperbolic Moebius drift in the Poincare ball, Thomas-attractor flow, Keplerian galactic disk, harmonic bloom, FCC crystal snap, tendril growth, shell cage, barbed wire, torus attractor, Moebius map, soliton wave, quaternion square, Lissajous satellites, spectral harmonics (audio driven).

New recipes

Hopf Fibration Storm, Hyperbolic Drift, Keplerian Galaxy, Barbed Crystal, Soliton Garden, Quaternion Bloom. Try --recipe 24 to --recipe 29.

Tests check every new effect is valid, deterministic and actually changes a mesh. CI green on macOS, Linux and Windows.

v4.35 - Windows support

Choose a tag to compare

@djayuffe djayuffe released this 09 Oct 19:26

Highlights

Windows is now supported: an in-tree OpenGL 4.1 function loader fetches the GL functions through glfwGetProcAddress (opengl32.dll only exports GL 1.1). CI builds and tests on macOS 15, Ubuntu 24.04 and Windows 2022; it has not been run on a physical Windows machine yet.

Also

  • CI fixes: GCC misleading-indentation, Apple clang sprintf deprecation in the vendored stb header, correct vcpkg port name.
  • MSVC warning policy (intentional narrowing and benign shadowing silenced).

v4.34 - Six new 3D objects

Choose a tag to compare

@djayuffe djayuffe released this 08 Oct 20:35

Highlights

57 scenes now. Six new showpiece objects, readable as clean shapes.

New

  • Scenes 51-56: geodesic dome, tube trefoil knot, DNA helix, atom orbits, wave terrain, Platonic compound.
  • A periodic "Pure form" window (about 40% of each ~12 s cycle) with no effect warp, so the object itself is visible.
  • --scene N option to start on any scene (0-56).
  • Downbeat solarize flash toned down.

Build: make && make run (needs CMake, GLFW; SDL2 + libopenmpt optional for music). Docs: README, ARCHITECTURE, CHANGELOG.

v4.33 - Wild shader events

Choose a tag to compare

@djayuffe djayuffe released this 08 Oct 19:44

Highlights

More art, more shaders, more surprises.

New

  • Wild events, one at a time every 6 s: swirl, radial ripples, kaleidoscope fold, mosaic crunch, datamosh block shift, liquid wobble, mirror horizon.
  • Colour grading: hue drift, downbeat solarize, neon posterize bursts.
  • Three new art styles: orbit-trap Julia fractal, op-art moire, Turing spots.

Build: make && make run (needs CMake, GLFW; SDL2 + libopenmpt optional for music). Docs: README, ARCHITECTURE, CHANGELOG.

v4.32 - Living 3D background

Choose a tag to compare

@djayuffe djayuffe released this 08 Oct 19:31

Highlights

The black-break background is now alive and three-dimensional.

New

  • Raymarched 3D metaball organism: five metaballs that melt into each other, breathe with the beat and music, with diffuse, fresnel and specular shading and a volumetric halo.
  • The whole art field swells and shears like tissue; drifting light pools make it uneven.

Build: make && make run (needs CMake, GLFW; SDL2 + libopenmpt optional for music). Docs: README, ARCHITECTURE, CHANGELOG.

v4.31 - Scroller fix, tests green

Choose a tag to compare

@djayuffe djayuffe released this 07 Oct 21:59

Highlights

The first release where the scroller fix and its test update are both in and the full suite passes.

Fixed

  • Scroller: bottom-anchored, correct glyph rows, correct character lookup, integer bit extraction, clean 5x7 font.
  • The scroller shader test now checks for integer bit extraction.

Supersedes v4.29 and v4.30.


Build: make && make run (needs CMake, GLFW; SDL2 + libopenmpt optional for music). Docs: README, ARCHITECTURE, CHANGELOG.

v4.30 - Tag only (superseded by v4.31)

Choose a tag to compare

@djayuffe djayuffe released this 07 Oct 21:58

Superseded

Use v4.31 instead. This tag contains the same scroller fix as v4.29 but was cut while the shader-convention test still failed. No other changes.


Build: make && make run (needs CMake, GLFW; SDL2 + libopenmpt optional for music). Docs: README, ARCHITECTURE, CHANGELOG.