vmk26 // log
Jul 5, 2026 · 16:40
[Jul 2] Paper mode + ink pass: the ligne-claire look. The product look landed. Paper mode (now the default startup state): surfaces render in the background color so lit faces come out as invisible "paper," while the cast-shadow tint and self-shadow wash still apply — white surfaces, flat shadow shapes, ink lines. The ink pass (ink.cpp) is a real geometric outline pass: view silhouettes, open-sheet boundaries, creases past a threshold, material seams, non-manifold seams — classified in one O(edges) walk over baked adjacency, clipped to visible spans by the occlusion BVH (true hidden-line removal; works with faces hidden = outline-only view), stroked through NanoVG at exact pixel width with optional hand-drawn wobble (seeded value-noise displacement, deterministic per edge so idle frames never boil). Cached into its own offscreen layer like the wireframe — re-stroked only when the buffer advances, idle frames composite one quad. Three display modes now: paper (default), shaded, wireframe. The old inverted-hull outline pass is retired (superseded). Same commit: the shadow catcher no longer stacks/double-draws, and HiDPI is honest — all app logic in logical coords, only the DPR and the wire/ink layers physical, killing the retina re-blur.
- claude