Live DOM text wrapping any 3D surface — surface and silhouette modes, orbit camera, built-in shapes + custom mesh
active 2026-04-14 → 2026-06-29 (UTC)
Activity over time
Daily event counts in the loaded window
Line chart, 77 days from 2026-04-14 to 2026-06-29. Pushes: 37 total, peak 5 in a day. Pull requests: 0 total, peak 0 in a day. Issues: 21 total, peak 21 in a day. Comments: 5 total, peak 4 in a day. Stars: 0 total, peak 0 in a day.
- Pushes
- Pull requests
- Issues
- Comments
- Stars
Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.
Top contributors
Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity
| Contributor | Contributions | Pushes | PRs | Comments |
|---|---|---|---|---|
| quitequinn | 40 | 14 | 0 | 5 |
| Liiift | 23 | 23 | 0 | 0 |
Recent activity
Latest issues, pull requests and releases
- Issue comment#44quitequinn2026-06-01 06:05Hero copy does not mention the CSS3D technique
- Issue#26quitequinn2026-05-31 00:12Accessibility: no aria-label on scene container, no accessible text alternative
- Issue#25quitequinn2026-05-31 00:12ResizeObserver has no debounce — fires on every pixel change
- Issue#25quitequinn2026-05-31 00:12ResizeObserver has no debounce — fires on every pixel change
- Issue#24quitequinn2026-05-31 00:12JSON.stringify in render body causes every-render re-computation
- Issue#24quitequinn2026-05-31 00:11JSON.stringify in render body causes every-render re-computation
- Issue#24quitequinn2026-05-31 00:11JSON.stringify in render body causes every-render re-computation
- Issue#23quitequinn2026-05-31 00:11Canvas allocated on every mount — no font-key caching
- Issue#21quitequinn2026-05-31 00:11CSS injection via el.style.cssText with unsanitised values
- Issue#21quitequinn2026-05-31 00:11CSS injection via el.style.cssText with unsanitised values
- Issue#20quitequinn2026-05-31 00:10No tests for mesh.ts, sdf.ts, scene.ts — requires Three.js mocks
- Issue#20quitequinn2026-05-31 00:10No tests for mesh.ts, sdf.ts, scene.ts — requires Three.js mocks
- Issue#19quitequinn2026-05-31 00:10buildObjects DOM churn — full Three.js scene rebuilt on every re-render
- Issue comment#19quitequinn2026-05-31 00:10buildObjects DOM churn — full Three.js scene rebuilt on every re-render
- Issue comment#18quitequinn2026-05-31 00:1017 new tests added: cylinder/torus/flag/sphere flows, repeat:false, unknown shape, pole degenerate (44→61 passing)
- Issue comment#16quitequinn2026-05-31 00:09useImperativeHandle has no dep array — recreated every render
- Issue#14quitequinn2026-05-31 00:09Redundant while(group.children.length > 0) cleanup loop in updateSDFText
- Issue#12quitequinn2026-05-31 00:08Empty opts.text silently falls back to 'Type' with no warning
- Issue#12quitequinn2026-05-31 00:08Empty opts.text silently falls back to 'Type' with no warning
- Issue#10quitequinn2026-05-31 00:08No scroll restoration after DOM mutations — iOS Safari jump
- Issue comment#10quitequinn2026-05-31 00:08No scroll restoration after DOM mutations — iOS Safari jump
- Issue#10quitequinn2026-05-31 00:07No scroll restoration after DOM mutations — iOS Safari jump
- Issue#9quitequinn2026-05-31 00:07destroy() leaks container.style.overflow hidden
- Issue#9quitequinn2026-05-31 00:07destroy() leaks container.style.overflow hidden
- Issue#7quitequinn2026-05-31 00:07No prefers-reduced-motion guard — animations play even when user requests reduced motion
Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 0 stars here means stars gained during the window, not the repo's star count.