Skip to content

feat: complete GPU footprint labels and backend benchmarks - #42

Merged
joeblau merged 1 commit into
mainfrom
feat/complete-order-flow-tasks
Sep 30, 2026
Merged

joeblau merged 1 commit into
mainfrom
feat/complete-order-flow-tasks

Conversation

@joeblau

@joeblau joeblau commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

PR #41 added the order-flow stack, but #40 still lacked GPU text and a real browser comparison. Footprint bid×ask labels now use a bounded glyph atlas with instanced quads; Canvas2D remains the fallback. Separate RGB/alpha blending preserves opacity when the GL canvas is composited.

Adds a Chrome benchmark for both backends at 1,000, 50,000 and 144,000 retained depth points. The largest workload spans 24 hours at one snapshot per minute, 50 levels per side. Recorded WebGL2 pan/zoom held ~60 animation FPS, with p95 CPU submission of 12.2/12.8 ms; Canvas2D reached ~24 FPS. These are rAF/CPU measurements on an M3 Max, not compositor FPS or a guarantee at finer history resolution. Raw results and reproduction commands are in packages/chart/PERFORMANCE.md.

Validation:

  • npm run coverage: 1,855 tests pass; 100% line, branch and function coverage.
  • All package entry points import in Node.
  • Chrome pixel checks at 1×/2× verify glyph bounds, color, opacity, atlas reuse and no GL errors.
  • Browser backend benchmark: 90 frames per workload, backend and retained-history assertions.

Closes #40. Closes #36.

@joeblau
joeblau merged commit 5aa0eb9 into main Sep 30, 2026
4 checks passed
This was referenced Sep 30, 2026
@joeblau
joeblau deleted the feat/complete-order-flow-tasks branch September 30, 2026 02:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

WebGL2 renderer backend Liquidity heatmap (Bookmap-style)

1 participant