Repository navigation
feat: order flow, WebGL2 rendering, and extension points - #41
Merged
Merged
Conversation
Adds the order-flow stack and a WebGL2 backend to @bloxwap/chart, and rebuilds the landing-page playground around them. Library: - Extension points: series registry, host panes (stacked/docked) and pane primitives drawn behind or above the series. - Depth: DepthBook model, maintained L2 book manager (snapshot + diff deltas, gap resync, retry backoff) and the datafeed depth channel. - Inline order book: ladder or mirrored layout, docked or overlaid on the plot edge, theme-token colors, side-colored labels, bold best levels, per-row label culling and an optional true-spread label. - Liquidity heatmap with multi-stop color ramps; trade tape, trade prints, footprint series and delta/CVD indicators; session volume profile/TPO pane. - Visible-range volume profile: round-price rows sized to the screen, mirrored up/down volume, POC outline, theme tokens and tweened transitions on a frame scheduler. - WebGL2 renderer (renderer: 'webgl2') with automatic Canvas2D fallback. - chart.scale.scrollPrice and vertical plot panning while autoscale is off; new range-profile and order-book icons. - Fix: a throwing onBook no longer strands buffered depth deltas. Playground / landing page: - Controls move from the header into the left rail; a right-edge disclosure picks the volume profile, the full order book, or none. - Order book from Hyperliquid l2Book (Binance REST is geo-blocked), stitching two precisions for full depth plus the bbo feed for the true spread; WebGL2 on by default (?renderer=canvas2d to compare). - Mark, last-close and heatmap overlays are settings toggles, off by default. Test suite: 1849 tests, 100% line/branch/function coverage. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This was referenced Sep 30, 2026
Closed
Merged
joeblau
added a commit
that referenced
this pull request
Sep 30, 2026
- Set @bloxwap/chart (and the workspace apps) to 0.2.0 for the order-flow and WebGL2 release (#41) - Landing page: the hero, playground intro and third feature card now cover live order books, volume profiles, heatmaps, footprint and WebGL2 - Docs, README, llms.txt, OpenAPI and the site's structured data name 0.2.0; llms.txt and the structured-data description gain order flow Co-authored-by: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the order-flow stack and a WebGL2 backend to
@bloxwap/chart, and rebuilds the landing-page playground around them.Refs #33, #34, #35, #36, #37, #38, #39, #40
Library
DepthBookmodel, a maintained L2 book manager (snapshot + diff deltas, sequence-gap resync, retry backoff) and the datafeed depth channel (pushDepth/subscribeDepth).'up'/'down'/'side'theme tokens, vivid side-colored labels over a dim tint, bold best levels, per-row label culling, and an optionalspreadcallback for the true spread when levels are aggregated.minOpacity.attachRangeProfile): round-price rows sized to the screen, mirrored up/down volume, POC outline, theme tokens, and tweened transitions on a frame scheduler.renderer: 'webgl2'with automatic Canvas2D fallback.chart.scale.scrollPrice(dy)and vertical plot panning while autoscale is off. Autoscale stays on by default, so drags keep the bars in frame.range-profileandorder-bookicons.onBookthrow while the depth manager drains buffered deltas no longer strands the deltas behind it.Playground / landing page
l2Book. Binance REST returns HTTP 451 from the US. The feed stitches two precisions for full depth and uses thebbofeed for the true spread.?renderer=canvas2dcompares against Canvas2D.Test plan
npm run coverage: 1849 tests pass, 100% line/branch/function coverage on every file🤖 Generated with Claude Code