0008. Data-loading orchestration is outside the renderer freeze
本页只有英文版,按原文显示。
- Status: Accepted
- Date: 2026-10-09
- Deciders: tseka
- Amends: ADR 0005
Context
ADR 0005 froze packages/core/src/engine/** to protect rendering. History loading also lives under engine/data/ (chartDataManager.ts, scrollCompensator.ts, incrementalLoadHint.ts). It currently produces a visible defect:
- one 500-bar first page that does not fill the viewport;
- empty slots right-aligned and labelled T-N;
- gap pages loaded one at a time, each with its own flash.
That is loading orchestration, not drawing.
Decision
These may change, with tests:
engine/data/**loading policy: first-request size, alignment of short data, gap prefetch and batching, load hints.data/**(provider, buffer, live).- The decision of whether the time axis shows placeholder past-slot labels.
These stay frozen:
engine/renderers/**drawing codeengine/scale/**controllers/**foundation/tokens/fonts.ts
Consequences
- Loading fixes ship as normal PRs with unit tests on the orchestration.
- Any change to how bars are drawn still needs its own ADR.
0007. Brand accent: Instrument Cobalt
KCQ had no brand color. ADR 0001 kept the wordmark and left the accent open. The method agreed on was to benchmark domestic and international competitors,…
0009. Renderer-freeze exception for canvas allocation and indicator loading
The 2026-10-10 runtime audit found two costs inside the frozen renderer area.