v0.10.4
Changes since v0.10.3
Features
- Unified indicator query pipeline: Adds bounded Agent queries backed by registered indicator calculators. Charts and Agents share an indicator result pool with stable instance IDs, timestamps, warm-up metadata, and independent parameters.
- Annotation tools: Adds Fibonacci retracement, rectangle, and arrow primitives with toolbar and AI runtime integration.
- Korean market session: Adds the Korea market configuration with the Asia/Seoul timezone and a 09:00-15:30 regular session.
- Performance color roles: Adds positive, negative, and neutral performance tokens; the range toolbar now shows first-to-last close return.
Fixes
- Indicator scale and MACD: Derives decimals from the display range and normalizes rounded zero values. MACD bars share the committed scale range, fixing
-0.00output and mismatched coordinates. - Volume axis ticks: Publishes visible volume ranges from the committed frame projection, restoring dynamic ticks for active volume panes.
- Asia-market MACD colors: Corrects base positive and negative histogram colors so the Asia-market setting produces the expected MACD colors.
- Type and build contracts: Fixes vue-tsc contract errors and derives build aliases from Core exports to prevent path drift across preview, Electron, and tests.
Architecture & Refactoring
- Indicator state and Worker protocol: Routes indicator results through ChartStateKernel using data and config revisions as source identity. The Worker protocol now returns pure calculation results at v4, and renderers read committed frame-level state.
- Indicator configuration model change: Runtime descriptors replace
defaultConfigwithdefaultParams; presentation options are declared throughpresentation.defaultOptions. - Drawing and semantic configuration API changes: Removes legacy DrawingToolType aliases,
semanticConfig, andSemanticChartController; usetoKLineChartPropsto map semantic JSON into chart props. - Market-data Buffer consolidation: SeriesRepository now owns K-line and timeshare Buffers, and comparison series can continue history pagination as the main chart requires earlier ranges.
- React bindings use the Web Component adapter: The React package now uses the SSR-safe KLineChartWC and no longer exports the direct-Core chart factory, hooks, or KLineChart component.
- Rendering backend organization: Moves WebGPU, WebGL2, and Canvas2D backends into
rendering/backendand updates rendering boundaries and pipeline documentation.
Documentation
- Indicator and rendering module docs: Adds the indicators module README and refreshes the rendering pipeline and module README with boundaries, data flow, and extension guidance.