Skip to content

fix: heatmap defaults, price zoom, bubbles, go-live scale + release v1.3.1.1 - #8

Merged
nazmiefearmutcu merged 5 commits into
mainfrom
fix/win-arm64-import-gate
Aug 1, 2026
Merged

fix: heatmap defaults, price zoom, bubbles, go-live scale + release v1.3.1.1#8
nazmiefearmutcu merged 5 commits into
mainfrom
fix/win-arm64-import-gate

Conversation

@nazmiefearmutcu

Copy link
Copy Markdown
Owner

Graph fixes from the audit (4 commits) + release prep for v1.3.1.1:

  • Defaults: tolerance 15→5, percentile 99→97 → heatmap visible by default (~76% of active cells, walls saturated)
  • Price zoom: row span unbounded like the time axis (MAX_ROW_SPAN 1M); framing stays grid-locked
  • Go Live: re-pins TIME only, preserves the user's price scale and follow mode
  • Bubbles: 3–44px → 2.5–20px
  • Ramps: INFERNO/CLASSIC tops are saturated gold/yellow (no white to blend into the price line)
  • Liveness: 20Hz partial flusher (was ~4/s between feed bursts); equity 429 crash-loop guard; 1s keyless grid cadence
  • Release v1.3.1.1: version label bump (package.json/pyproject/server version), README links, workflow tag regex now accepts vX.Y.Z.W

Tests: client 586/586, server 406/406, e2e 20/20.

The p99 white point plus the 15-tolerance floor pushed the median active
cell below the visibility floor (only ~26% of active cells rendered).
Tolerance 5 (floor ~0.0128) with the p97 white point keeps ~76% visible,
the median cell at LUT 51, and walls saturated. normPercentile now reads
DEFAULT_PERCENTILE so the two defaults cannot drift.
…scale

Price zoom-out was capped at the grid height while the time axis could
zoom out to 1M columns; row span now shares the same MAX_ROW_SPAN limit
(1,048,576), so the whole book fits on screen. Go Live no longer routes
through camera.reset(): it re-pins TIME to the live edge and preserves
the user's price zoom and follow mode.
Bubble radii 3-44px -> 2.5-20px so volume prints stop hiding the price
line. The INFERNO and CLASSIC ramp tops are now saturated gold/yellow
(255,216,40 / 255,228,32) instead of white, so a max-density wall can
never blend into the white price line; the legend keeps its single
source of truth (the dead hardcoded CSS gradient is gone).
_partial_flush only ran when a feed event arrived, so after each 250ms
burst the forming column froze at ~4 updates/s. A 20Hz flusher task now
emits it continuously (measured 4->23/s sim, 4->19/s binance, zero
stalls). Equity startup fetch is wrapped against 429s (the packaged app
had a 125-cycle crash loop) and keyless grids advance at 1s instead of
the 10s poll cadence.
Hotfix label on top of v1.3.1. The release identity (tag, title, README
download links) is v1.3.1.1; the app bundle version stays 1.3.1 because
Tauri and Cargo require strict semver, so installer filenames are
unchanged. The release workflow now also triggers on vX.Y.Z.W tags.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@nazmiefearmutcu
nazmiefearmutcu merged commit 9ca214b into main Aug 1, 2026
1 check passed
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.

1 participant