# guitargnar > A deterministic guitar engine. Every scale on the fretboard, mapped as sound. guitargnar is an interactive guitar engine and scale library built by Matthew Scott (Project Lavos LLC, Louisville, KY). It pairs a deterministic exercise generator (1,397,760 in-key exercises -- 13 scales, 16 patterns, 14 tunings, 5 positions, never random) with an auto-playing, scroll-driven cinematic rendered in real-time WebGPU. This is not a template or tutorial project. It is a production application with a custom rendering pipeline, original WGSL shaders, and a scale archive backed by a REST API. ## Creator - Name: Matthew Scott - Entity: Project Lavos LLC (Kentucky, filed 2/20/2026) - Portfolio: https://projectlavos.com - Instagram: @projectlavos - GitHub: github.com/guitargnarr ## Pages - [Home](https://guitargnar-site.vercel.app/): Auto-playing scroll cinematic (fretboard intro, the maker emerging from an entropy field, a re-crystallizing lattice, CTA) - [Scales Archive](https://guitargnar-site.vercel.app/scales): Complete guitar scale reference with interactive fretboard diagrams - [Scale Detail](https://guitargnar-site.vercel.app/scales/dorian): Individual scale pages with positions, intervals, and theory - [Lab](https://guitargnar-site.vercel.app/lab): Experimental guitar tools and generators ## Technical Depth The homepage is an auto-playing scroll cinematic rendered across two layered canvases. On load it plays itself (a decoupled, eased progress driver) and hands off to native scroll on any input: 1. **Fretboard intro** (progress 0.00-0.46): React Three Fiber scene with procedural neck geometry, GlowDiscs on scale positions, and cinematic lighting; the camera dollies down the neck. Fades via material opacity and emissive intensity scaling. 2. **The reveal** (progress ~0.43-0.56): the maker's portrait, background-keyed and composited into the entropy field with a depth pocket, over the caption "The system is deterministic. The playing never is." 3. **Entropy field** (progress 0.40-1.00): a real-time particle system that begins as an ordered crystal lattice, shatters to chaos for the reveal, then RE-CRYSTALLIZES into an ordered lattice for the "Enter the Lab" finale. Rendering paths: - **Desktop (WebGPU)**: 2048 particles in a 64^3 density field. WGSL compute/render shaders: physics simulation, density splatting, Beer-Lambert volumetric raymarching with trilinear interpolation, blackbody color from a 1D LUT texture. - **Desktop (WebGL2 fallback)**: CPU physics with GPU point-sprite rendering, Gaussian blur pass, atmospheric post-processing. - **Mobile**: Standalone WebGL2 fullscreen-quad atmosphere shader with 4-octave fBm noise, triple Gaussian cloud simulation, chromatic horizon streak, teal vignette. All transitions are driven by a shared `progressState` (mutable global, no React re-renders). Camera interpolation, material opacity, canvas alpha, and z-index stacking are coordinated per-frame. ## For the full technical specification, see: - [Full LLM context](https://guitargnar-site.vercel.app/llms-full.txt)