行为冻结物理拆分;保留 initTradingView/dispose 对外 API;无打包器。node --check 全绿。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.5 KiB
1.5 KiB
ENGINEERING_SPEC — ECR-008 chart_tv 拆分
ECR: ECR-008
Level: L3 · 行为冻结
Date: 2026-08-07
Goal
物理拆分主站 Lightweight Charts 绘制单体,不改变可见行为。
Module map
| File | Responsibility |
|---|---|
chart_tv_lifecycle.js |
disposeTradingViewCharts;cleanup 数组与 chart.remove |
chart_tv_shell.js |
chartTvBuildShell(ctx):容器、createChart、K 线主系列 |
chart_tv_indicators.js |
chartTvRenderIndicators(ctx):成交量 / ATR / ChanMACD |
chart_tv_chan.js |
chartTvRenderChan(ctx):笔 / 线段 / 中枢(含未完成与 BI) |
chart_tv_overlays.js |
chartTvRenderOverlays(ctx):结构区、威科夫、BSP/分型、布林等 |
chart_tv_finalize.js |
chartTvFinalize(ctx):时间轴同步、bindSync、视图恢复、tooltip |
chart_tv.js |
initTradingView:组 ctx → 顺序调用上述步骤 |
Context object
ctx 至少携带:symbol、timeframe、symbolConfig、周期开关、candles、各 chart/container、showMacd。全局 currentData / tvWidget 仍按现网约定使用。
HTML load order
lifecycle → shell → indicators → chan → overlays → finalize → chart_tv.js → chart_sync.js → …
Tests
node --check各新文件 + 门面- 人工:首屏、自动刷新、威科夫开关、三周期笔段中枢、Cycle Summary
Out of scope
Live 验证批跑、威科夫算法调参、analyze JSON 快照、chart_sync 大改。