@363045841yyt/klinechart-core 0.8.14 → 0.9.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/README.zh-CN.md +44 -43
- package/dist/components/anchoredVwap/createAnchoredVwapController.js +1 -1
- package/dist/components/anchoredVwap/createAnchoredVwapController.js.map +1 -1
- package/dist/components/anchoredVwap/types.d.ts +1 -1
- package/dist/components/anchoredVwap/types.d.ts.map +1 -1
- package/dist/components/crosshairSync/createCrosshairSync.d.ts +1 -1
- package/dist/components/crosshairSync/createCrosshairSync.d.ts.map +1 -1
- package/dist/components/crosshairSync/createCrosshairSync.js +1 -1
- package/dist/components/crosshairSync/createCrosshairSync.js.map +1 -1
- package/dist/components/footprint/createFootprintController.js +1 -1
- package/dist/components/footprint/createFootprintController.js.map +1 -1
- package/dist/components/footprint/types.d.ts +1 -1
- package/dist/components/footprint/types.d.ts.map +1 -1
- package/dist/components/mtfOverlay/createMtfController.js +1 -1
- package/dist/components/mtfOverlay/createMtfController.js.map +1 -1
- package/dist/components/mtfOverlay/types.d.ts +1 -1
- package/dist/components/mtfOverlay/types.d.ts.map +1 -1
- package/dist/components/orderBookHeatmap/createHeatmapController.js +1 -1
- package/dist/components/orderBookHeatmap/createHeatmapController.js.map +1 -1
- package/dist/components/orderBookHeatmap/createOrderBookState.js.map +1 -1
- package/dist/components/orderBookHeatmap/types.d.ts +1 -1
- package/dist/components/orderBookHeatmap/types.d.ts.map +1 -1
- package/dist/components/volumeProfile/createVolumeProfileController.js +1 -1
- package/dist/components/volumeProfile/createVolumeProfileController.js.map +1 -1
- package/dist/components/volumeProfile/types.d.ts +1 -1
- package/dist/components/volumeProfile/types.d.ts.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +83 -106
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/createDrawingController.js +1 -1
- package/dist/controllers/createDrawingController.js.map +1 -1
- package/dist/controllers/createIndicatorSelectorController.js +1 -1
- package/dist/controllers/createIndicatorSelectorController.js.map +1 -1
- package/dist/controllers/createToolbarController.js +1 -1
- package/dist/controllers/createToolbarController.js.map +1 -1
- package/dist/controllers/index.d.ts +2 -2
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +1 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +41 -22
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/controllers/types.js +1 -1
- package/dist/data/baostock.d.ts.map +1 -0
- package/dist/data/baostock.js +103 -0
- package/dist/data/baostock.js.map +1 -0
- package/dist/data/binance.d.ts.map +1 -0
- package/dist/data/binance.js.map +1 -0
- package/dist/data/dataBuffer.d.ts +36 -0
- package/dist/data/dataBuffer.d.ts.map +1 -0
- package/dist/data/dataBuffer.effects.d.ts +21 -0
- package/dist/data/dataBuffer.effects.d.ts.map +1 -0
- package/dist/data/dataBuffer.effects.js.map +1 -0
- package/dist/data/dataBuffer.js +182 -0
- package/dist/data/dataBuffer.js.map +1 -0
- package/dist/data/dataBufferTypes.d.ts +42 -0
- package/dist/data/dataBufferTypes.d.ts.map +1 -0
- package/dist/data/dataBufferTypes.js.map +1 -0
- package/dist/data/depthConnector.d.ts.map +1 -0
- package/dist/data/depthConnector.js.map +1 -0
- package/dist/data/depthTypes.d.ts.map +1 -0
- package/dist/data/depthTypes.js.map +1 -0
- package/dist/data/fetchScheduler.d.ts +13 -0
- package/dist/data/fetchScheduler.d.ts.map +1 -0
- package/dist/data/fetchScheduler.js +56 -0
- package/dist/data/fetchScheduler.js.map +1 -0
- package/dist/data/fetcherDefinitionRegistry.d.ts.map +1 -0
- package/dist/data/fetcherDefinitionRegistry.js.map +1 -0
- package/dist/data/gotdx.d.ts.map +1 -0
- package/dist/data/gotdx.js +217 -0
- package/dist/data/gotdx.js.map +1 -0
- package/dist/data/hundred-mock.d.ts.map +1 -0
- package/dist/data/hundred-mock.js.map +1 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/kLineDataStore.d.ts +21 -0
- package/dist/data/kLineDataStore.d.ts.map +1 -0
- package/dist/data/kLineDataStore.js +77 -0
- package/dist/data/kLineDataStore.js.map +1 -0
- package/dist/data/router.d.ts.map +1 -0
- package/dist/data/router.js.map +1 -0
- package/dist/data/thousand-mock.d.ts.map +1 -0
- package/dist/data/thousand-mock.js.map +1 -0
- package/dist/data/timeKeyIndex.d.ts.map +1 -0
- package/dist/data/timeKeyIndex.js.map +1 -0
- package/dist/data/timeShareBuffer.d.ts +27 -0
- package/dist/data/timeShareBuffer.d.ts.map +1 -0
- package/dist/data/timeShareBuffer.js +101 -0
- package/dist/data/timeShareBuffer.js.map +1 -0
- package/dist/data/tradingview.d.ts.map +1 -0
- package/dist/data/tradingview.js +116 -0
- package/dist/data/tradingview.js.map +1 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js.map +1 -0
- package/dist/engine/chart.d.ts +93 -61
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +367 -199
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/chartTypes.d.ts +1 -1
- package/dist/engine/chartTypes.d.ts.map +1 -1
- package/dist/engine/controller/interaction.d.ts +40 -57
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +190 -209
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/controller/markerInteraction.d.ts +9 -11
- package/dist/engine/controller/markerInteraction.d.ts.map +1 -1
- package/dist/engine/controller/markerInteraction.js +17 -73
- package/dist/engine/controller/markerInteraction.js.map +1 -1
- package/dist/engine/controller/tooltipPosition.d.ts +3 -0
- package/dist/engine/controller/tooltipPosition.d.ts.map +1 -1
- package/dist/engine/controller/tooltipPosition.js +15 -1
- package/dist/engine/controller/tooltipPosition.js.map +1 -1
- package/dist/engine/data/chartDataManager.d.ts +51 -31
- package/dist/engine/data/chartDataManager.d.ts.map +1 -1
- package/dist/engine/data/chartDataManager.js +303 -177
- package/dist/engine/data/chartDataManager.js.map +1 -1
- package/dist/engine/data/comparisonManager.d.ts +13 -19
- package/dist/engine/data/comparisonManager.d.ts.map +1 -1
- package/dist/engine/data/comparisonManager.js +79 -140
- package/dist/engine/data/comparisonManager.js.map +1 -1
- package/dist/engine/data/incrementalLoadHint.d.ts +6 -5
- package/dist/engine/data/incrementalLoadHint.d.ts.map +1 -1
- package/dist/engine/data/incrementalLoadHint.js +76 -58
- package/dist/engine/data/incrementalLoadHint.js.map +1 -1
- package/dist/engine/data/scrollCompensator.d.ts +4 -2
- package/dist/engine/data/scrollCompensator.d.ts.map +1 -1
- package/dist/engine/data/scrollCompensator.js +6 -28
- package/dist/engine/data/scrollCompensator.js.map +1 -1
- package/dist/engine/drawing/DragHandler.d.ts +1 -1
- package/dist/engine/drawing/DragHandler.d.ts.map +1 -1
- package/dist/engine/drawing/DrawingState.d.ts +11 -4
- package/dist/engine/drawing/DrawingState.d.ts.map +1 -1
- package/dist/engine/drawing/DrawingState.js +30 -10
- package/dist/engine/drawing/DrawingState.js.map +1 -1
- package/dist/engine/drawing/HitTester.d.ts +1 -1
- package/dist/engine/drawing/HitTester.d.ts.map +1 -1
- package/dist/engine/drawing/PreviewRenderer.d.ts +1 -1
- package/dist/engine/drawing/PreviewRenderer.d.ts.map +1 -1
- package/dist/engine/drawing/coordinateUtils.d.ts +1 -1
- package/dist/engine/drawing/coordinateUtils.d.ts.map +1 -1
- package/dist/engine/drawing/index.d.ts +11 -8
- package/dist/engine/drawing/index.d.ts.map +1 -1
- package/dist/engine/drawing/index.js +12 -29
- package/dist/engine/drawing/index.js.map +1 -1
- package/dist/engine/drawing/interaction.d.ts +7 -5
- package/dist/engine/drawing/interaction.d.ts.map +1 -1
- package/dist/engine/drawing/interaction.js +25 -22
- package/dist/engine/drawing/interaction.js.map +1 -1
- package/dist/engine/drawing/plugin.d.ts +3 -3
- package/dist/engine/drawing/plugin.d.ts.map +1 -1
- package/dist/engine/drawing/plugin.js +1 -1
- package/dist/engine/drawing/plugin.js.map +1 -1
- package/dist/engine/drawing/toolConfig.d.ts +1 -1
- package/dist/engine/drawing/toolConfig.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/bands.d.ts +1 -1
- package/dist/engine/indicators/calculators/bands.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/movingAverages.d.ts +1 -1
- package/dist/engine/indicators/calculators/movingAverages.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/oscillators.d.ts +1 -1
- package/dist/engine/indicators/calculators/oscillators.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/patterns.d.ts +1 -1
- package/dist/engine/indicators/calculators/patterns.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/volatility.d.ts +1 -1
- package/dist/engine/indicators/calculators/volatility.d.ts.map +1 -1
- package/dist/engine/indicators/calculators/volume.d.ts +1 -1
- package/dist/engine/indicators/calculators/volume.d.ts.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.d.ts +32 -21
- package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -1
- package/dist/engine/indicators/chartIndicatorManager.js +149 -148
- package/dist/engine/indicators/chartIndicatorManager.js.map +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.d.ts +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.d.ts.map +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.js +1 -1
- package/dist/engine/indicators/indicatorDefinitionRegistry.js.map +1 -1
- package/dist/engine/indicators/indicatorMetadata.d.ts +2 -2
- package/dist/engine/indicators/indicatorMetadata.d.ts.map +1 -1
- package/dist/engine/indicators/indicatorRuntime.d.ts +1 -1
- package/dist/engine/indicators/indicatorRuntime.d.ts.map +1 -1
- package/dist/engine/indicators/scheduler.d.ts +19 -2
- package/dist/engine/indicators/scheduler.d.ts.map +1 -1
- package/dist/engine/indicators/scheduler.js +57 -9
- package/dist/engine/indicators/scheduler.js.map +1 -1
- package/dist/engine/indicators/soa.d.ts +1 -1
- package/dist/engine/indicators/soa.d.ts.map +1 -1
- package/dist/engine/indicators/state/atrState.d.ts +1 -1
- package/dist/engine/indicators/state/atrState.d.ts.map +1 -1
- package/dist/engine/indicators/state/atrState.js +1 -1
- package/dist/engine/indicators/state/atrState.js.map +1 -1
- package/dist/engine/indicators/state/bollState.d.ts +1 -1
- package/dist/engine/indicators/state/bollState.d.ts.map +1 -1
- package/dist/engine/indicators/state/bollState.js +1 -1
- package/dist/engine/indicators/state/bollState.js.map +1 -1
- package/dist/engine/indicators/state/cciState.d.ts +1 -1
- package/dist/engine/indicators/state/cciState.d.ts.map +1 -1
- package/dist/engine/indicators/state/cciState.js +1 -1
- package/dist/engine/indicators/state/cciState.js.map +1 -1
- package/dist/engine/indicators/state/chaikinVolState.d.ts +1 -1
- package/dist/engine/indicators/state/chaikinVolState.d.ts.map +1 -1
- package/dist/engine/indicators/state/chaikinVolState.js +1 -1
- package/dist/engine/indicators/state/chaikinVolState.js.map +1 -1
- package/dist/engine/indicators/state/cmfState.d.ts +1 -1
- package/dist/engine/indicators/state/cmfState.d.ts.map +1 -1
- package/dist/engine/indicators/state/cmfState.js +1 -1
- package/dist/engine/indicators/state/cmfState.js.map +1 -1
- package/dist/engine/indicators/state/demaState.d.ts +1 -1
- package/dist/engine/indicators/state/demaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/demaState.js +1 -1
- package/dist/engine/indicators/state/demaState.js.map +1 -1
- package/dist/engine/indicators/state/donchianState.d.ts +1 -1
- package/dist/engine/indicators/state/donchianState.d.ts.map +1 -1
- package/dist/engine/indicators/state/donchianState.js +1 -1
- package/dist/engine/indicators/state/donchianState.js.map +1 -1
- package/dist/engine/indicators/state/eneState.d.ts +1 -1
- package/dist/engine/indicators/state/eneState.d.ts.map +1 -1
- package/dist/engine/indicators/state/eneState.js +1 -1
- package/dist/engine/indicators/state/eneState.js.map +1 -1
- package/dist/engine/indicators/state/expmaState.d.ts +1 -1
- package/dist/engine/indicators/state/expmaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/expmaState.js +1 -1
- package/dist/engine/indicators/state/expmaState.js.map +1 -1
- package/dist/engine/indicators/state/fastkState.d.ts +1 -1
- package/dist/engine/indicators/state/fastkState.d.ts.map +1 -1
- package/dist/engine/indicators/state/fastkState.js +1 -1
- package/dist/engine/indicators/state/fastkState.js.map +1 -1
- package/dist/engine/indicators/state/fibState.d.ts +1 -1
- package/dist/engine/indicators/state/fibState.d.ts.map +1 -1
- package/dist/engine/indicators/state/fibState.js +1 -1
- package/dist/engine/indicators/state/fibState.js.map +1 -1
- package/dist/engine/indicators/state/hmaState.d.ts +1 -1
- package/dist/engine/indicators/state/hmaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/hmaState.js +1 -1
- package/dist/engine/indicators/state/hmaState.js.map +1 -1
- package/dist/engine/indicators/state/hvState.d.ts +1 -1
- package/dist/engine/indicators/state/hvState.d.ts.map +1 -1
- package/dist/engine/indicators/state/hvState.js +1 -1
- package/dist/engine/indicators/state/hvState.js.map +1 -1
- package/dist/engine/indicators/state/ichimokuState.d.ts +1 -1
- package/dist/engine/indicators/state/ichimokuState.d.ts.map +1 -1
- package/dist/engine/indicators/state/ichimokuState.js +1 -1
- package/dist/engine/indicators/state/ichimokuState.js.map +1 -1
- package/dist/engine/indicators/state/kamaState.d.ts +1 -1
- package/dist/engine/indicators/state/kamaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/kamaState.js +1 -1
- package/dist/engine/indicators/state/kamaState.js.map +1 -1
- package/dist/engine/indicators/state/keltnerState.d.ts +1 -1
- package/dist/engine/indicators/state/keltnerState.d.ts.map +1 -1
- package/dist/engine/indicators/state/keltnerState.js +1 -1
- package/dist/engine/indicators/state/keltnerState.js.map +1 -1
- package/dist/engine/indicators/state/kstState.d.ts +1 -1
- package/dist/engine/indicators/state/kstState.d.ts.map +1 -1
- package/dist/engine/indicators/state/kstState.js +1 -1
- package/dist/engine/indicators/state/kstState.js.map +1 -1
- package/dist/engine/indicators/state/maState.d.ts +1 -1
- package/dist/engine/indicators/state/maState.d.ts.map +1 -1
- package/dist/engine/indicators/state/maState.js +1 -1
- package/dist/engine/indicators/state/maState.js.map +1 -1
- package/dist/engine/indicators/state/macdState.d.ts +1 -1
- package/dist/engine/indicators/state/macdState.d.ts.map +1 -1
- package/dist/engine/indicators/state/mfiState.d.ts +1 -1
- package/dist/engine/indicators/state/mfiState.d.ts.map +1 -1
- package/dist/engine/indicators/state/mfiState.js +1 -1
- package/dist/engine/indicators/state/mfiState.js.map +1 -1
- package/dist/engine/indicators/state/momState.d.ts +1 -1
- package/dist/engine/indicators/state/momState.d.ts.map +1 -1
- package/dist/engine/indicators/state/momState.js +1 -1
- package/dist/engine/indicators/state/momState.js.map +1 -1
- package/dist/engine/indicators/state/obvState.d.ts +1 -1
- package/dist/engine/indicators/state/obvState.d.ts.map +1 -1
- package/dist/engine/indicators/state/obvState.js +1 -1
- package/dist/engine/indicators/state/obvState.js.map +1 -1
- package/dist/engine/indicators/state/parkinsonState.d.ts +1 -1
- package/dist/engine/indicators/state/parkinsonState.d.ts.map +1 -1
- package/dist/engine/indicators/state/parkinsonState.js +1 -1
- package/dist/engine/indicators/state/parkinsonState.js.map +1 -1
- package/dist/engine/indicators/state/pivotState.d.ts +1 -1
- package/dist/engine/indicators/state/pivotState.d.ts.map +1 -1
- package/dist/engine/indicators/state/pivotState.js +1 -1
- package/dist/engine/indicators/state/pivotState.js.map +1 -1
- package/dist/engine/indicators/state/pvtState.d.ts +1 -1
- package/dist/engine/indicators/state/pvtState.d.ts.map +1 -1
- package/dist/engine/indicators/state/pvtState.js +1 -1
- package/dist/engine/indicators/state/pvtState.js.map +1 -1
- package/dist/engine/indicators/state/rocState.d.ts +1 -1
- package/dist/engine/indicators/state/rocState.d.ts.map +1 -1
- package/dist/engine/indicators/state/rocState.js +1 -1
- package/dist/engine/indicators/state/rocState.js.map +1 -1
- package/dist/engine/indicators/state/rsiState.d.ts +1 -1
- package/dist/engine/indicators/state/rsiState.d.ts.map +1 -1
- package/dist/engine/indicators/state/rsiState.js +1 -1
- package/dist/engine/indicators/state/rsiState.js.map +1 -1
- package/dist/engine/indicators/state/sarState.d.ts +1 -1
- package/dist/engine/indicators/state/sarState.d.ts.map +1 -1
- package/dist/engine/indicators/state/sarState.js +1 -1
- package/dist/engine/indicators/state/sarState.js.map +1 -1
- package/dist/engine/indicators/state/stochState.d.ts +1 -1
- package/dist/engine/indicators/state/stochState.d.ts.map +1 -1
- package/dist/engine/indicators/state/stochState.js +1 -1
- package/dist/engine/indicators/state/stochState.js.map +1 -1
- package/dist/engine/indicators/state/structureState.d.ts +1 -1
- package/dist/engine/indicators/state/structureState.d.ts.map +1 -1
- package/dist/engine/indicators/state/structureState.js +1 -1
- package/dist/engine/indicators/state/structureState.js.map +1 -1
- package/dist/engine/indicators/state/supertrendState.d.ts +1 -1
- package/dist/engine/indicators/state/supertrendState.d.ts.map +1 -1
- package/dist/engine/indicators/state/supertrendState.js +1 -1
- package/dist/engine/indicators/state/supertrendState.js.map +1 -1
- package/dist/engine/indicators/state/temaState.d.ts +1 -1
- package/dist/engine/indicators/state/temaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/temaState.js +1 -1
- package/dist/engine/indicators/state/temaState.js.map +1 -1
- package/dist/engine/indicators/state/trixState.d.ts +1 -1
- package/dist/engine/indicators/state/trixState.d.ts.map +1 -1
- package/dist/engine/indicators/state/trixState.js +1 -1
- package/dist/engine/indicators/state/trixState.js.map +1 -1
- package/dist/engine/indicators/state/vmaState.d.ts +1 -1
- package/dist/engine/indicators/state/vmaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/vmaState.js +1 -1
- package/dist/engine/indicators/state/vmaState.js.map +1 -1
- package/dist/engine/indicators/state/volumeProfileState.d.ts +1 -1
- package/dist/engine/indicators/state/volumeProfileState.d.ts.map +1 -1
- package/dist/engine/indicators/state/volumeProfileState.js +1 -1
- package/dist/engine/indicators/state/volumeProfileState.js.map +1 -1
- package/dist/engine/indicators/state/vwapState.d.ts +1 -1
- package/dist/engine/indicators/state/vwapState.d.ts.map +1 -1
- package/dist/engine/indicators/state/vwapState.js +1 -1
- package/dist/engine/indicators/state/vwapState.js.map +1 -1
- package/dist/engine/indicators/state/wmaState.d.ts +1 -1
- package/dist/engine/indicators/state/wmaState.d.ts.map +1 -1
- package/dist/engine/indicators/state/wmaState.js +1 -1
- package/dist/engine/indicators/state/wmaState.js.map +1 -1
- package/dist/engine/indicators/state/wmsrState.d.ts +1 -1
- package/dist/engine/indicators/state/wmsrState.d.ts.map +1 -1
- package/dist/engine/indicators/state/wmsrState.js +1 -1
- package/dist/engine/indicators/state/wmsrState.js.map +1 -1
- package/dist/engine/indicators/state/zonesState.d.ts +1 -1
- package/dist/engine/indicators/state/zonesState.d.ts.map +1 -1
- package/dist/engine/indicators/state/zonesState.js +1 -1
- package/dist/engine/indicators/state/zonesState.js.map +1 -1
- package/dist/engine/indicators/workerProtocol.d.ts +1 -1
- package/dist/engine/indicators/workerProtocol.d.ts.map +1 -1
- package/dist/engine/layout/chartPaneLayout.d.ts +38 -4
- package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -1
- package/dist/engine/layout/chartPaneLayout.js +111 -38
- package/dist/engine/layout/chartPaneLayout.js.map +1 -1
- package/dist/engine/layout/pane.d.ts +2 -2
- package/dist/engine/layout/pane.d.ts.map +1 -1
- package/dist/engine/layout/paneRatioMath.d.ts +10 -0
- package/dist/engine/layout/paneRatioMath.d.ts.map +1 -0
- package/dist/engine/layout/paneRatioMath.js +29 -0
- package/dist/engine/layout/paneRatioMath.js.map +1 -0
- package/dist/engine/marker/registry.d.ts +10 -13
- package/dist/engine/marker/registry.d.ts.map +1 -1
- package/dist/engine/marker/registry.js +12 -26
- package/dist/engine/marker/registry.js.map +1 -1
- package/dist/engine/modes/timeShareMode.js +1 -1
- package/dist/engine/modes/timeShareMode.js.map +1 -1
- package/dist/engine/render/chartRenderer.d.ts +17 -8
- package/dist/engine/render/chartRenderer.d.ts.map +1 -1
- package/dist/engine/render/chartRenderer.js +51 -41
- package/dist/engine/render/chartRenderer.js.map +1 -1
- package/dist/engine/render/layers/candleLayer.d.ts +2 -2
- package/dist/engine/render/layers/candleLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/candleLayer.js +1 -1
- package/dist/engine/render/layers/candleLayer.js.map +1 -1
- package/dist/engine/render/layers/comparisonLineLayer.d.ts +2 -2
- package/dist/engine/render/layers/comparisonLineLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/comparisonLineLayer.js +1 -1
- package/dist/engine/render/layers/comparisonLineLayer.js.map +1 -1
- package/dist/engine/render/layers/crosshairLayer.d.ts +2 -2
- package/dist/engine/render/layers/crosshairLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/crosshairLayer.js +1 -1
- package/dist/engine/render/layers/crosshairLayer.js.map +1 -1
- package/dist/engine/render/layers/customMarkersLayer.d.ts +2 -2
- package/dist/engine/render/layers/customMarkersLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/customMarkersLayer.js +1 -1
- package/dist/engine/render/layers/customMarkersLayer.js.map +1 -1
- package/dist/engine/render/layers/extremaMarkersLayer.d.ts +2 -2
- package/dist/engine/render/layers/extremaMarkersLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/extremaMarkersLayer.js +1 -1
- package/dist/engine/render/layers/extremaMarkersLayer.js.map +1 -1
- package/dist/engine/render/layers/gridLinesLayer.d.ts +2 -2
- package/dist/engine/render/layers/gridLinesLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/gridLinesLayer.js +1 -1
- package/dist/engine/render/layers/gridLinesLayer.js.map +1 -1
- package/dist/engine/render/layers/lastPriceLabelLayer.d.ts +2 -2
- package/dist/engine/render/layers/lastPriceLabelLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/lastPriceLabelLayer.js +1 -1
- package/dist/engine/render/layers/lastPriceLabelLayer.js.map +1 -1
- package/dist/engine/render/layers/lastPriceLineLayer.d.ts +2 -2
- package/dist/engine/render/layers/lastPriceLineLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/lastPriceLineLayer.js +1 -1
- package/dist/engine/render/layers/lastPriceLineLayer.js.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.d.ts +2 -2
- package/dist/engine/render/layers/leftYAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.js +1 -1
- package/dist/engine/render/layers/leftYAxisLayer.js.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts +2 -2
- package/dist/engine/render/layers/mainIndicatorLegendLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js +1 -1
- package/dist/engine/render/layers/mainIndicatorLegendLayer.js.map +1 -1
- package/dist/engine/render/layers/yAxisLayer.d.ts +2 -2
- package/dist/engine/render/layers/yAxisLayer.d.ts.map +1 -1
- package/dist/engine/render/layers/yAxisLayer.js +1 -1
- package/dist/engine/render/layers/yAxisLayer.js.map +1 -1
- package/dist/engine/renderers/Indicator/atr.js +2 -2
- package/dist/engine/renderers/Indicator/atr.js.map +1 -1
- package/dist/engine/renderers/Indicator/boll.d.ts +1 -1
- package/dist/engine/renderers/Indicator/boll.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/boll.js +3 -3
- package/dist/engine/renderers/Indicator/boll.js.map +1 -1
- package/dist/engine/renderers/Indicator/cci.js +2 -2
- package/dist/engine/renderers/Indicator/cci.js.map +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.js +1 -1
- package/dist/engine/renderers/Indicator/chaikinVol.js.map +1 -1
- package/dist/engine/renderers/Indicator/cmf.js +1 -1
- package/dist/engine/renderers/Indicator/cmf.js.map +1 -1
- package/dist/engine/renderers/Indicator/dema.js +1 -1
- package/dist/engine/renderers/Indicator/dema.js.map +1 -1
- package/dist/engine/renderers/Indicator/donchian.js +1 -1
- package/dist/engine/renderers/Indicator/donchian.js.map +1 -1
- package/dist/engine/renderers/Indicator/ene.d.ts +1 -1
- package/dist/engine/renderers/Indicator/ene.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ene.js +3 -3
- package/dist/engine/renderers/Indicator/ene.js.map +1 -1
- package/dist/engine/renderers/Indicator/expma.d.ts +1 -1
- package/dist/engine/renderers/Indicator/expma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/expma.js +2 -2
- package/dist/engine/renderers/Indicator/expma.js.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.js +2 -2
- package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
- package/dist/engine/renderers/Indicator/fib.js +1 -1
- package/dist/engine/renderers/Indicator/fib.js.map +1 -1
- package/dist/engine/renderers/Indicator/hma.js +1 -1
- package/dist/engine/renderers/Indicator/hma.js.map +1 -1
- package/dist/engine/renderers/Indicator/hv.js +1 -1
- package/dist/engine/renderers/Indicator/hv.js.map +1 -1
- package/dist/engine/renderers/Indicator/ichimoku.js +2 -2
- package/dist/engine/renderers/Indicator/ichimoku.js.map +1 -1
- package/dist/engine/renderers/Indicator/index.d.ts +1 -1
- package/dist/engine/renderers/Indicator/index.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kama.js +1 -1
- package/dist/engine/renderers/Indicator/kama.js.map +1 -1
- package/dist/engine/renderers/Indicator/keltner.js +1 -1
- package/dist/engine/renderers/Indicator/keltner.js.map +1 -1
- package/dist/engine/renderers/Indicator/kst.js +2 -2
- package/dist/engine/renderers/Indicator/kst.js.map +1 -1
- package/dist/engine/renderers/Indicator/ma.d.ts +1 -1
- package/dist/engine/renderers/Indicator/ma.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/ma.js +2 -2
- package/dist/engine/renderers/Indicator/ma.js.map +1 -1
- package/dist/engine/renderers/Indicator/macd.js +2 -2
- package/dist/engine/renderers/Indicator/macd.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +3 -3
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mfi.js +1 -1
- package/dist/engine/renderers/Indicator/mfi.js.map +1 -1
- package/dist/engine/renderers/Indicator/mom.js +3 -3
- package/dist/engine/renderers/Indicator/mom.js.map +1 -1
- package/dist/engine/renderers/Indicator/obv.js +1 -1
- package/dist/engine/renderers/Indicator/obv.js.map +1 -1
- package/dist/engine/renderers/Indicator/parkinson.js +1 -1
- package/dist/engine/renderers/Indicator/parkinson.js.map +1 -1
- package/dist/engine/renderers/Indicator/pivot.js +1 -1
- package/dist/engine/renderers/Indicator/pivot.js.map +1 -1
- package/dist/engine/renderers/Indicator/pvt.js +1 -1
- package/dist/engine/renderers/Indicator/pvt.js.map +1 -1
- package/dist/engine/renderers/Indicator/roc.js +1 -1
- package/dist/engine/renderers/Indicator/roc.js.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.js +3 -3
- package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
- package/dist/engine/renderers/Indicator/sar.js +2 -2
- package/dist/engine/renderers/Indicator/sar.js.map +1 -1
- package/dist/engine/renderers/Indicator/scale/atr_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/atr_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/cci_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/cci_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/fastk_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/fastk_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js +6 -6
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
- package/dist/engine/renderers/Indicator/scale/kst_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/kst_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/macd_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/macd_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/mom_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/mom_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/rsi_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/rsi_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/stoch_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/stoch_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/volume_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/volume_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/wmsr_scale.d.ts +1 -1
- package/dist/engine/renderers/Indicator/scale/wmsr_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/shared/dashedLines.js +1 -1
- package/dist/engine/renderers/Indicator/shared/dashedLines.js.map +1 -1
- package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts +1 -1
- package/dist/engine/renderers/Indicator/shared/titleInfo.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/shared/titleInfo.js +1 -1
- package/dist/engine/renderers/Indicator/shared/titleInfo.js.map +1 -1
- package/dist/engine/renderers/Indicator/shared/webglBand.d.ts +1 -1
- package/dist/engine/renderers/Indicator/shared/webglBand.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.js +2 -2
- package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
- package/dist/engine/renderers/Indicator/structure.js +2 -2
- package/dist/engine/renderers/Indicator/structure.js.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.js +2 -2
- package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
- package/dist/engine/renderers/Indicator/tema.js +1 -1
- package/dist/engine/renderers/Indicator/tema.js.map +1 -1
- package/dist/engine/renderers/Indicator/trix.js +1 -1
- package/dist/engine/renderers/Indicator/trix.js.map +1 -1
- package/dist/engine/renderers/Indicator/vma.js +1 -1
- package/dist/engine/renderers/Indicator/vma.js.map +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.js +1 -1
- package/dist/engine/renderers/Indicator/volumeProfile.js.map +1 -1
- package/dist/engine/renderers/Indicator/vwap.js +1 -1
- package/dist/engine/renderers/Indicator/vwap.js.map +1 -1
- package/dist/engine/renderers/Indicator/wma.js +1 -1
- package/dist/engine/renderers/Indicator/wma.js.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.js +3 -3
- package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
- package/dist/engine/renderers/Indicator/zones.js +2 -2
- package/dist/engine/renderers/Indicator/zones.js.map +1 -1
- package/dist/engine/renderers/candle.d.ts +1 -1
- package/dist/engine/renderers/candle.d.ts.map +1 -1
- package/dist/engine/renderers/candle.js +9 -6
- package/dist/engine/renderers/candle.js.map +1 -1
- package/dist/engine/renderers/comparisonLine.d.ts +1 -1
- package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
- package/dist/engine/renderers/comparisonLine.js +1 -1
- package/dist/engine/renderers/comparisonLine.js.map +1 -1
- package/dist/engine/renderers/crosshair.d.ts +1 -1
- package/dist/engine/renderers/crosshair.d.ts.map +1 -1
- package/dist/engine/renderers/crosshair.js +3 -3
- package/dist/engine/renderers/crosshair.js.map +1 -1
- package/dist/engine/renderers/customMarkers.d.ts +1 -1
- package/dist/engine/renderers/customMarkers.d.ts.map +1 -1
- package/dist/engine/renderers/customMarkers.js +2 -2
- package/dist/engine/renderers/customMarkers.js.map +1 -1
- package/dist/engine/renderers/extremaMarkers.d.ts +1 -1
- package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
- package/dist/engine/renderers/extremaMarkers.js +7 -6
- package/dist/engine/renderers/extremaMarkers.js.map +1 -1
- package/dist/engine/renderers/gridLines.d.ts +1 -1
- package/dist/engine/renderers/gridLines.d.ts.map +1 -1
- package/dist/engine/renderers/gridLines.js +10 -4
- package/dist/engine/renderers/gridLines.js.map +1 -1
- package/dist/engine/renderers/lastPrice.d.ts +1 -1
- package/dist/engine/renderers/lastPrice.d.ts.map +1 -1
- package/dist/engine/renderers/lastPrice.js +2 -2
- package/dist/engine/renderers/lastPrice.js.map +1 -1
- package/dist/engine/renderers/leftYAxis.d.ts +1 -1
- package/dist/engine/renderers/leftYAxis.d.ts.map +1 -1
- package/dist/engine/renderers/leftYAxis.js +6 -5
- package/dist/engine/renderers/leftYAxis.js.map +1 -1
- package/dist/engine/renderers/paneTitle.d.ts +1 -1
- package/dist/engine/renderers/paneTitle.d.ts.map +1 -1
- package/dist/engine/renderers/paneTitle.js +3 -3
- package/dist/engine/renderers/paneTitle.js.map +1 -1
- package/dist/engine/renderers/subVolume.js +10 -11
- package/dist/engine/renderers/subVolume.js.map +1 -1
- package/dist/engine/renderers/timeAxis.d.ts +1 -1
- package/dist/engine/renderers/timeAxis.d.ts.map +1 -1
- package/dist/engine/renderers/timeAxis.js +3 -3
- package/dist/engine/renderers/timeAxis.js.map +1 -1
- package/dist/engine/renderers/timeShare.d.ts +1 -1
- package/dist/engine/renderers/timeShare.d.ts.map +1 -1
- package/dist/engine/renderers/timeShare.js +2 -2
- package/dist/engine/renderers/timeShare.js.map +1 -1
- package/dist/engine/renderers/yAxis.d.ts +1 -1
- package/dist/engine/renderers/yAxis.d.ts.map +1 -1
- package/dist/engine/renderers/yAxis.js +6 -5
- package/dist/engine/renderers/yAxis.js.map +1 -1
- package/dist/engine/state/chartStateKernel.d.ts +69 -0
- package/dist/engine/state/chartStateKernel.d.ts.map +1 -0
- package/dist/engine/state/chartStateKernel.js +296 -0
- package/dist/engine/state/chartStateKernel.js.map +1 -0
- package/dist/engine/state/comparisonState.d.ts +21 -0
- package/dist/engine/state/comparisonState.d.ts.map +1 -0
- package/dist/engine/state/comparisonState.js +58 -0
- package/dist/engine/state/comparisonState.js.map +1 -0
- package/dist/engine/state/contentGeometry.d.ts +13 -0
- package/dist/engine/state/contentGeometry.d.ts.map +1 -0
- package/dist/engine/state/contentGeometry.js +22 -0
- package/dist/engine/state/contentGeometry.js.map +1 -0
- package/dist/engine/state/dataManagerState.d.ts +29 -0
- package/dist/engine/state/dataManagerState.d.ts.map +1 -0
- package/dist/engine/state/dataManagerState.js +66 -0
- package/dist/engine/state/dataManagerState.js.map +1 -0
- package/dist/engine/state/dataState.d.ts +32 -0
- package/dist/engine/state/dataState.d.ts.map +1 -0
- package/dist/engine/state/dataState.js +56 -0
- package/dist/engine/state/dataState.js.map +1 -0
- package/dist/engine/state/drawingState.d.ts +24 -0
- package/dist/engine/state/drawingState.d.ts.map +1 -0
- package/dist/engine/state/drawingState.js +55 -0
- package/dist/engine/state/drawingState.js.map +1 -0
- package/dist/engine/state/immutable.d.ts +10 -0
- package/dist/engine/state/immutable.d.ts.map +1 -0
- package/dist/engine/state/immutable.js +56 -0
- package/dist/engine/state/immutable.js.map +1 -0
- package/dist/engine/state/index.d.ts +17 -0
- package/dist/engine/state/index.d.ts.map +1 -0
- package/dist/engine/state/index.js +17 -0
- package/dist/engine/state/index.js.map +1 -0
- package/dist/engine/state/indicatorState.d.ts +22 -0
- package/dist/engine/state/indicatorState.d.ts.map +1 -0
- package/dist/engine/state/indicatorState.js +68 -0
- package/dist/engine/state/indicatorState.js.map +1 -0
- package/dist/engine/state/interactionState.d.ts +86 -0
- package/dist/engine/state/interactionState.d.ts.map +1 -0
- package/dist/engine/state/interactionState.js +212 -0
- package/dist/engine/state/interactionState.js.map +1 -0
- package/dist/engine/state/markerState.d.ts +16 -0
- package/dist/engine/state/markerState.d.ts.map +1 -0
- package/dist/engine/state/markerState.js +56 -0
- package/dist/engine/state/markerState.js.map +1 -0
- package/dist/engine/state/modeState.d.ts +14 -0
- package/dist/engine/state/modeState.d.ts.map +1 -0
- package/dist/engine/state/modeState.js +20 -0
- package/dist/engine/state/modeState.js.map +1 -0
- package/dist/engine/state/optionsState.d.ts +19 -0
- package/dist/engine/state/optionsState.d.ts.map +1 -0
- package/dist/engine/state/optionsState.js +21 -0
- package/dist/engine/state/optionsState.js.map +1 -0
- package/dist/engine/state/paneState.d.ts +23 -0
- package/dist/engine/state/paneState.d.ts.map +1 -0
- package/dist/engine/state/paneState.js +86 -0
- package/dist/engine/state/paneState.js.map +1 -0
- package/dist/engine/state/settingsState.d.ts +15 -0
- package/dist/engine/state/settingsState.d.ts.map +1 -0
- package/dist/engine/state/settingsState.js +48 -0
- package/dist/engine/state/settingsState.js.map +1 -0
- package/dist/engine/state/stateKernel.d.ts +72 -0
- package/dist/engine/state/stateKernel.d.ts.map +1 -0
- package/dist/engine/state/stateKernel.js +38 -0
- package/dist/engine/state/stateKernel.js.map +1 -0
- package/dist/engine/state/subPaneState.d.ts +23 -0
- package/dist/engine/state/subPaneState.d.ts.map +1 -0
- package/dist/engine/state/subPaneState.js +79 -0
- package/dist/engine/state/subPaneState.js.map +1 -0
- package/dist/engine/state/themeState.d.ts +13 -0
- package/dist/engine/state/themeState.d.ts.map +1 -0
- package/dist/engine/state/themeState.js +18 -0
- package/dist/engine/state/themeState.js.map +1 -0
- package/dist/engine/state/viewportState.d.ts +113 -0
- package/dist/engine/state/viewportState.d.ts.map +1 -0
- package/dist/engine/state/viewportState.js +352 -0
- package/dist/engine/state/viewportState.js.map +1 -0
- package/dist/engine/state/zoomState.d.ts +22 -0
- package/dist/engine/state/zoomState.d.ts.map +1 -0
- package/dist/engine/state/zoomState.js +54 -0
- package/dist/engine/state/zoomState.js.map +1 -0
- package/dist/engine/subPaneManager.d.ts +29 -31
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +199 -190
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/engine/utils/chartZoomController.d.ts +13 -14
- package/dist/engine/utils/chartZoomController.d.ts.map +1 -1
- package/dist/engine/utils/chartZoomController.js +34 -30
- package/dist/engine/utils/chartZoomController.js.map +1 -1
- package/dist/engine/utils/zoom.d.ts +24 -2
- package/dist/engine/utils/zoom.d.ts.map +1 -1
- package/dist/engine/utils/zoom.js +22 -1
- package/dist/engine/utils/zoom.js.map +1 -1
- package/dist/engine/viewport/chartViewportManager.d.ts +7 -77
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -1
- package/dist/engine/viewport/chartViewportManager.js +49 -227
- package/dist/engine/viewport/chartViewportManager.js.map +1 -1
- package/dist/engine/viewport/viewport.d.ts +1 -1
- package/dist/engine/viewport/viewport.d.ts.map +1 -1
- package/dist/features/alerts/createAlertController.d.ts.map +1 -0
- package/dist/features/alerts/createAlertController.js +257 -0
- package/dist/features/alerts/createAlertController.js.map +1 -0
- package/dist/features/alerts/index.d.ts.map +1 -0
- package/dist/features/alerts/index.js.map +1 -0
- package/dist/features/alerts/predicates.d.ts.map +1 -0
- package/dist/features/alerts/predicates.js.map +1 -0
- package/dist/features/alerts/rollingVolume.d.ts.map +1 -0
- package/dist/features/alerts/rollingVolume.js.map +1 -0
- package/dist/features/alerts/ruleSchema.d.ts.map +1 -0
- package/dist/features/alerts/ruleSchema.js.map +1 -0
- package/dist/features/alerts/types.d.ts +169 -0
- package/dist/features/alerts/types.d.ts.map +1 -0
- package/dist/features/alerts/types.js.map +1 -0
- package/dist/features/chartTypes/heikinAshi.d.ts.map +1 -0
- package/dist/features/chartTypes/heikinAshi.js.map +1 -0
- package/dist/features/chartTypes/index.d.ts.map +1 -0
- package/dist/features/chartTypes/index.js.map +1 -0
- package/dist/features/chartTypes/pointAndFigure.d.ts.map +1 -0
- package/dist/features/chartTypes/pointAndFigure.js +159 -0
- package/dist/features/chartTypes/pointAndFigure.js.map +1 -0
- package/dist/features/chartTypes/rangeBars.d.ts.map +1 -0
- package/dist/features/chartTypes/rangeBars.js +181 -0
- package/dist/features/chartTypes/rangeBars.js.map +1 -0
- package/dist/features/chartTypes/renko.d.ts.map +1 -0
- package/dist/features/chartTypes/renko.js +207 -0
- package/dist/features/chartTypes/renko.js.map +1 -0
- package/dist/features/chartTypes/types.d.ts.map +1 -0
- package/dist/features/chartTypes/types.js.map +1 -0
- package/dist/features/indicators/alma.d.ts.map +1 -0
- package/dist/features/indicators/alma.js +36 -0
- package/dist/features/indicators/alma.js.map +1 -0
- package/dist/features/indicators/awesomeOscillator.d.ts.map +1 -0
- package/dist/features/indicators/awesomeOscillator.js +36 -0
- package/dist/features/indicators/awesomeOscillator.js.map +1 -0
- package/dist/features/indicators/dpo.d.ts.map +1 -0
- package/dist/features/indicators/dpo.js +24 -0
- package/dist/features/indicators/dpo.js.map +1 -0
- package/dist/features/indicators/fisherTransform.d.ts.map +1 -0
- package/dist/features/indicators/fisherTransform.js +44 -0
- package/dist/features/indicators/fisherTransform.js.map +1 -0
- package/dist/features/indicators/frama.d.ts.map +1 -0
- package/dist/features/indicators/frama.js +61 -0
- package/dist/features/indicators/frama.js.map +1 -0
- package/dist/features/indicators/index.d.ts.map +1 -0
- package/dist/features/indicators/index.js.map +1 -0
- package/dist/features/indicators/lsma.d.ts.map +1 -0
- package/dist/features/indicators/lsma.js +37 -0
- package/dist/features/indicators/lsma.js.map +1 -0
- package/dist/features/indicators/schaffTrendCycle.d.ts.map +1 -0
- package/dist/features/indicators/schaffTrendCycle.js +70 -0
- package/dist/features/indicators/schaffTrendCycle.js.map +1 -0
- package/dist/features/indicators/stochRSI.d.ts.map +1 -0
- package/dist/features/indicators/stochRSI.js +86 -0
- package/dist/features/indicators/stochRSI.js.map +1 -0
- package/dist/features/indicators/t3.d.ts.map +1 -0
- package/dist/features/indicators/t3.js +60 -0
- package/dist/features/indicators/t3.js.map +1 -0
- package/dist/features/indicators/ultimateOscillator.d.ts.map +1 -0
- package/dist/features/indicators/ultimateOscillator.js +59 -0
- package/dist/features/indicators/ultimateOscillator.js.map +1 -0
- package/dist/features/indicators/vidya.d.ts.map +1 -0
- package/dist/features/indicators/vidya.js +54 -0
- package/dist/features/indicators/vidya.js.map +1 -0
- package/dist/features/indicators/zlema.d.ts.map +1 -0
- package/dist/features/indicators/zlema.js +26 -0
- package/dist/features/indicators/zlema.js.map +1 -0
- package/dist/features/input/gesture.d.ts +125 -0
- package/dist/features/input/gesture.d.ts.map +1 -0
- package/dist/features/input/gesture.js +245 -0
- package/dist/features/input/gesture.js.map +1 -0
- package/dist/features/input/index.d.ts.map +1 -0
- package/dist/features/input/index.js.map +1 -0
- package/dist/features/input/keyboard.d.ts +140 -0
- package/dist/features/input/keyboard.d.ts.map +1 -0
- package/dist/features/input/keyboard.js +260 -0
- package/dist/features/input/keyboard.js.map +1 -0
- package/dist/features/mcp/chartBridge.d.ts.map +1 -0
- package/dist/features/mcp/chartBridge.js +186 -0
- package/dist/features/mcp/chartBridge.js.map +1 -0
- package/dist/features/mcp/index.d.ts.map +1 -0
- package/dist/features/mcp/index.js.map +1 -0
- package/dist/features/mcp/types.d.ts.map +1 -0
- package/dist/features/mcp/types.js.map +1 -0
- package/dist/features/replay/createReplayController.d.ts.map +1 -0
- package/dist/features/replay/createReplayController.js +249 -0
- package/dist/features/replay/createReplayController.js.map +1 -0
- package/dist/features/replay/index.d.ts.map +1 -0
- package/dist/features/replay/index.js.map +1 -0
- package/dist/features/replay/timeline.d.ts.map +1 -0
- package/dist/features/replay/timeline.js.map +1 -0
- package/dist/features/replay/types.d.ts +94 -0
- package/dist/features/replay/types.d.ts.map +1 -0
- package/dist/features/replay/types.js.map +1 -0
- package/dist/features/semantic/controller.d.ts +34 -0
- package/dist/features/semantic/controller.d.ts.map +1 -0
- package/dist/features/semantic/controller.js +164 -0
- package/dist/features/semantic/controller.js.map +1 -0
- package/dist/features/semantic/drawShape.d.ts.map +1 -0
- package/dist/features/semantic/drawShape.js.map +1 -0
- package/dist/features/semantic/index.d.ts +7 -0
- package/dist/features/semantic/index.d.ts.map +1 -0
- package/dist/features/semantic/index.js.map +1 -0
- package/dist/features/semantic/types.d.ts +300 -0
- package/dist/features/semantic/types.d.ts.map +1 -0
- package/dist/features/semantic/types.js.map +1 -0
- package/dist/features/semantic/validator.d.ts +48 -0
- package/dist/features/semantic/validator.d.ts.map +1 -0
- package/dist/features/semantic/validator.js +288 -0
- package/dist/features/semantic/validator.js.map +1 -0
- package/dist/foundation/config/chartSettings.d.ts +144 -0
- package/dist/foundation/config/chartSettings.d.ts.map +1 -0
- package/dist/foundation/config/chartSettings.js +144 -0
- package/dist/foundation/config/chartSettings.js.map +1 -0
- package/dist/foundation/plugin/ConfigManager.d.ts.map +1 -0
- package/dist/foundation/plugin/ConfigManager.js.map +1 -0
- package/dist/foundation/plugin/EventBus.d.ts.map +1 -0
- package/dist/foundation/plugin/EventBus.js.map +1 -0
- package/dist/foundation/plugin/HookSystem.d.ts.map +1 -0
- package/dist/foundation/plugin/HookSystem.js.map +1 -0
- package/dist/foundation/plugin/PluginHost.d.ts.map +1 -0
- package/dist/foundation/plugin/PluginHost.js +200 -0
- package/dist/foundation/plugin/PluginHost.js.map +1 -0
- package/dist/foundation/plugin/PluginRegistry.d.ts.map +1 -0
- package/dist/foundation/plugin/PluginRegistry.js +81 -0
- package/dist/foundation/plugin/PluginRegistry.js.map +1 -0
- package/dist/foundation/plugin/StateStore.d.ts.map +1 -0
- package/dist/foundation/plugin/StateStore.js.map +1 -0
- package/dist/foundation/plugin/index.d.ts.map +1 -0
- package/dist/foundation/plugin/index.js.map +1 -0
- package/dist/foundation/plugin/rendererPluginManager.d.ts +86 -0
- package/dist/foundation/plugin/rendererPluginManager.d.ts.map +1 -0
- package/dist/foundation/plugin/rendererPluginManager.js +332 -0
- package/dist/foundation/plugin/rendererPluginManager.js.map +1 -0
- package/dist/foundation/plugin/rendererPluginManager.test.d.ts +2 -0
- package/dist/foundation/plugin/rendererPluginManager.test.d.ts.map +1 -0
- package/dist/foundation/plugin/rendererPluginManager.test.js +35 -0
- package/dist/foundation/plugin/rendererPluginManager.test.js.map +1 -0
- package/dist/foundation/plugin/stateKeys.d.ts.map +1 -0
- package/dist/foundation/plugin/stateKeys.js.map +1 -0
- package/dist/foundation/plugin/types.d.ts +480 -0
- package/dist/foundation/plugin/types.d.ts.map +1 -0
- package/dist/foundation/plugin/types.js.map +1 -0
- package/dist/foundation/reactivity/index.d.ts +3 -0
- package/dist/foundation/reactivity/index.d.ts.map +1 -0
- package/dist/foundation/reactivity/index.js +2 -0
- package/dist/foundation/reactivity/index.js.map +1 -0
- package/dist/foundation/reactivity/signal.d.ts +202 -0
- package/dist/foundation/reactivity/signal.d.ts.map +1 -0
- package/dist/foundation/reactivity/signal.js +268 -0
- package/dist/foundation/reactivity/signal.js.map +1 -0
- package/dist/foundation/tokens/colorPresetSettings.d.ts.map +1 -0
- package/dist/foundation/tokens/colorPresetSettings.js.map +1 -0
- package/dist/foundation/tokens/fonts.d.ts.map +1 -0
- package/dist/foundation/tokens/fonts.js.map +1 -0
- package/dist/foundation/tokens/index.d.ts.map +1 -0
- package/dist/foundation/tokens/index.js.map +1 -0
- package/dist/foundation/tokens/mergeTheme.d.ts.map +1 -0
- package/dist/foundation/tokens/mergeTheme.js.map +1 -0
- package/dist/foundation/tokens/theme-base.d.ts.map +1 -0
- package/dist/foundation/tokens/theme-base.js.map +1 -0
- package/dist/foundation/tokens/theme-china.d.ts +45 -0
- package/dist/foundation/tokens/theme-china.d.ts.map +1 -0
- package/dist/foundation/tokens/theme-china.js +115 -0
- package/dist/foundation/tokens/theme-china.js.map +1 -0
- package/dist/foundation/tokens/theme-dark.d.ts.map +1 -0
- package/dist/foundation/tokens/theme-dark.js.map +1 -0
- package/dist/foundation/tokens/theme-light.d.ts.map +1 -0
- package/dist/foundation/tokens/theme-light.js.map +1 -0
- package/dist/foundation/tokens/themeToCssVars.d.ts.map +1 -0
- package/dist/foundation/tokens/themeToCssVars.js +82 -0
- package/dist/foundation/tokens/themeToCssVars.js.map +1 -0
- package/dist/foundation/tokens/types.d.ts.map +1 -0
- package/dist/foundation/tokens/types.js.map +1 -0
- package/dist/foundation/types/kLine.d.ts +4 -0
- package/dist/foundation/types/kLine.d.ts.map +1 -0
- package/dist/foundation/types/kLine.js +15 -0
- package/dist/foundation/types/kLine.js.map +1 -0
- package/dist/foundation/types/price.d.ts +43 -0
- package/dist/foundation/types/price.d.ts.map +1 -0
- package/dist/foundation/types/price.js +27 -0
- package/dist/foundation/types/price.js.map +1 -0
- package/dist/foundation/types/volumePrice.d.ts.map +1 -0
- package/dist/foundation/types/volumePrice.js.map +1 -0
- package/dist/foundation/utils/dateFormat.d.ts.map +1 -0
- package/dist/foundation/utils/dateFormat.js.map +1 -0
- package/dist/foundation/utils/kLineDraw/axis.d.ts.map +1 -0
- package/dist/foundation/utils/kLineDraw/axis.js +223 -0
- package/dist/foundation/utils/kLineDraw/axis.js.map +1 -0
- package/dist/foundation/utils/pixelAlign.d.ts.map +1 -0
- package/dist/foundation/utils/pixelAlign.js.map +1 -0
- package/dist/foundation/utils/priceToY.d.ts.map +1 -0
- package/dist/foundation/utils/priceToY.js.map +1 -0
- package/dist/foundation/utils/uuid.d.ts.map +1 -0
- package/dist/foundation/utils/uuid.js.map +1 -0
- package/dist/foundation/utils/viewportSide.d.ts +2 -0
- package/dist/foundation/utils/viewportSide.d.ts.map +1 -0
- package/dist/foundation/utils/viewportSide.js +4 -0
- package/dist/foundation/utils/viewportSide.js.map +1 -0
- package/dist/foundation/utils/volumePrice.d.ts.map +1 -0
- package/dist/foundation/utils/volumePrice.js.map +1 -0
- package/dist/index.d.ts +15 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/rendering/render/Renderer.d.ts.map +1 -0
- package/dist/rendering/render/Renderer.js.map +1 -0
- package/dist/rendering/render/SurfaceBackend.d.ts.map +1 -0
- package/dist/rendering/render/SurfaceBackend.js.map +1 -0
- package/dist/rendering/render/createWebGLRenderer.d.ts +5 -0
- package/dist/rendering/render/createWebGLRenderer.d.ts.map +1 -0
- package/dist/rendering/render/createWebGLRenderer.js +233 -0
- package/dist/rendering/render/createWebGLRenderer.js.map +1 -0
- package/dist/rendering/render/createWebGLSurfaceBackend.d.ts +4 -0
- package/dist/rendering/render/createWebGLSurfaceBackend.d.ts.map +1 -0
- package/dist/rendering/render/createWebGLSurfaceBackend.js.map +1 -0
- package/dist/rendering/render/index.d.ts.map +1 -0
- package/dist/rendering/render/index.js.map +1 -0
- package/dist/rendering/renderer-tier/detectRendererTier.d.ts.map +1 -0
- package/dist/rendering/renderer-tier/detectRendererTier.js +143 -0
- package/dist/rendering/renderer-tier/detectRendererTier.js.map +1 -0
- package/dist/rendering/renderer-tier/index.d.ts.map +1 -0
- package/dist/rendering/renderer-tier/index.js.map +1 -0
- package/dist/rendering/renderer-tier/selectBackend.d.ts.map +1 -0
- package/dist/rendering/renderer-tier/selectBackend.js +109 -0
- package/dist/rendering/renderer-tier/selectBackend.js.map +1 -0
- package/dist/rendering/renderer-tier/types.d.ts.map +1 -0
- package/dist/rendering/renderer-tier/types.js.map +1 -0
- package/dist/rendering/scene/createLayerFromPlugin.d.ts +4 -0
- package/dist/rendering/scene/createLayerFromPlugin.d.ts.map +1 -0
- package/dist/rendering/scene/createLayerFromPlugin.js +45 -0
- package/dist/rendering/scene/createLayerFromPlugin.js.map +1 -0
- package/dist/rendering/scene/createScene.d.ts.map +1 -0
- package/dist/rendering/scene/createScene.js +117 -0
- package/dist/rendering/scene/createScene.js.map +1 -0
- package/dist/rendering/scene/index.d.ts.map +1 -0
- package/dist/rendering/scene/index.js.map +1 -0
- package/dist/rendering/scene/layerRegistry.d.ts.map +1 -0
- package/dist/rendering/scene/layerRegistry.js +43 -0
- package/dist/rendering/scene/layerRegistry.js.map +1 -0
- package/dist/rendering/scene/types.d.ts +133 -0
- package/dist/rendering/scene/types.d.ts.map +1 -0
- package/dist/rendering/scene/types.js.map +1 -0
- package/dist/rendering/scheduler/createFrameBudget.d.ts +91 -0
- package/dist/rendering/scheduler/createFrameBudget.d.ts.map +1 -0
- package/dist/rendering/scheduler/createFrameBudget.js +232 -0
- package/dist/rendering/scheduler/createFrameBudget.js.map +1 -0
- package/dist/rendering/scheduler/index.d.ts.map +1 -0
- package/dist/rendering/scheduler/index.js.map +1 -0
- package/dist/scale/createPriceScale.js +1 -1
- package/dist/scale/createPriceScale.js.map +1 -1
- package/dist/scale/createTimeScale.js +1 -1
- package/dist/scale/createTimeScale.js.map +1 -1
- package/dist/scale/types.d.ts +1 -1
- package/dist/scale/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +12 -12
- package/src/__bench__/indicators.bench.ts +12 -12
- package/src/__bench__/signal.bench.ts +1 -1
- package/src/__tests__/depthPipeline.test.ts +2 -2
- package/src/__tests__/signal.test.ts +1 -1
- package/src/__tests__/stateKernel.test.ts +293 -0
- package/src/__tests__/stateKernel.types.test.ts +45 -0
- package/src/components/anchoredVwap/createAnchoredVwapController.ts +1 -1
- package/src/components/anchoredVwap/types.ts +1 -1
- package/src/components/crosshairSync/createCrosshairSync.ts +1 -1
- package/src/components/footprint/createFootprintController.ts +1 -1
- package/src/components/footprint/types.ts +1 -1
- package/src/components/mtfOverlay/createMtfController.ts +2 -2
- package/src/components/mtfOverlay/types.ts +1 -1
- package/src/components/orderBookHeatmap/createHeatmapController.ts +1 -1
- package/src/components/orderBookHeatmap/createOrderBookState.ts +1 -1
- package/src/components/orderBookHeatmap/types.ts +1 -1
- package/src/components/volumeProfile/createVolumeProfileController.ts +1 -1
- package/src/components/volumeProfile/types.ts +1 -1
- package/src/controllers/createChartController.ts +101 -162
- package/src/controllers/createDrawingController.ts +1 -1
- package/src/controllers/createIndicatorSelectorController.ts +1 -1
- package/src/controllers/createToolbarController.ts +1 -1
- package/src/controllers/index.ts +2 -8
- package/src/controllers/types.ts +50 -23
- package/src/data/__tests__/dataBuffer.test.ts +576 -0
- package/src/data/__tests__/fetchScheduler.test.ts +26 -0
- package/src/data/baostock.ts +71 -0
- package/src/data/dataBuffer.effects.ts +118 -0
- package/src/data/dataBuffer.ts +228 -0
- package/src/data/dataBufferTypes.ts +51 -0
- package/src/data/fetchScheduler.ts +65 -0
- package/src/data/fetcherDefinitionRegistry.ts +80 -0
- package/src/data/gotdx.ts +224 -0
- package/src/data/kLineDataStore.ts +96 -0
- package/src/data/timeShareBuffer.ts +135 -0
- package/src/data/tradingview.ts +79 -0
- package/src/engine/__tests__/chart.dpr.test.ts +168 -3
- package/src/engine/__tests__/subPaneManager.test.ts +118 -121
- package/src/engine/chart.ts +512 -301
- package/src/engine/chartTypes.ts +1 -1
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +173 -13
- package/src/engine/controller/interaction.ts +207 -230
- package/src/engine/controller/markerInteraction.ts +20 -80
- package/src/engine/controller/tooltipPosition.ts +22 -1
- package/src/engine/data/__tests__/chartDataManager.incrementalLoad.test.ts +128 -0
- package/src/engine/data/__tests__/comparisonManager.test.ts +110 -0
- package/src/engine/data/__tests__/contentGeometry.parity.test.ts +70 -0
- package/src/engine/data/__tests__/scrollCompensator.geometry.test.ts +184 -0
- package/src/engine/data/chartDataManager.ts +362 -202
- package/src/engine/data/comparisonManager.ts +92 -174
- package/src/engine/data/fetchBatchScheduler.ts +1 -1
- package/src/engine/data/incrementalLoadHint.ts +96 -63
- package/src/engine/data/scrollCompensator.ts +11 -32
- package/src/engine/draw/__tests__/pixelAlign.spec.ts +1 -1
- package/src/engine/drawing/DragHandler.ts +1 -1
- package/src/engine/drawing/DrawingState.ts +32 -11
- package/src/engine/drawing/HitTester.ts +1 -1
- package/src/engine/drawing/PreviewRenderer.ts +1 -1
- package/src/engine/drawing/__tests__/drawingState.workCopy.test.ts +78 -0
- package/src/engine/drawing/__tests__/drawingStore.projection.test.ts +38 -0
- package/src/engine/drawing/coordinateUtils.ts +1 -1
- package/src/engine/drawing/index.ts +18 -36
- package/src/engine/drawing/interaction.ts +27 -23
- package/src/engine/drawing/plugin.ts +5 -5
- package/src/engine/drawing/toolConfig.ts +1 -1
- package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +105 -4
- package/src/engine/indicators/calculators/bands.ts +1 -1
- package/src/engine/indicators/calculators/movingAverages.ts +1 -1
- package/src/engine/indicators/calculators/oscillators.ts +1 -1
- package/src/engine/indicators/calculators/patterns.ts +1 -1
- package/src/engine/indicators/calculators/volatility.ts +1 -1
- package/src/engine/indicators/calculators/volume.ts +1 -1
- package/src/engine/indicators/chartIndicatorManager.ts +197 -192
- package/src/engine/indicators/indicator.worker.ts +1 -1
- package/src/engine/indicators/indicatorDefinitionRegistry.ts +2 -2
- package/src/engine/indicators/indicatorMetadata.ts +2 -2
- package/src/engine/indicators/indicatorRuntime.ts +1 -1
- package/src/engine/indicators/scheduler.ts +67 -18
- package/src/engine/indicators/soa.ts +1 -1
- package/src/engine/indicators/state/atrState.ts +2 -2
- package/src/engine/indicators/state/bollState.ts +2 -2
- package/src/engine/indicators/state/cciState.ts +2 -2
- package/src/engine/indicators/state/chaikinVolState.ts +2 -2
- package/src/engine/indicators/state/cmfState.ts +2 -2
- package/src/engine/indicators/state/demaState.ts +2 -2
- package/src/engine/indicators/state/donchianState.ts +2 -2
- package/src/engine/indicators/state/eneState.ts +2 -2
- package/src/engine/indicators/state/expmaState.ts +2 -2
- package/src/engine/indicators/state/fastkState.ts +2 -2
- package/src/engine/indicators/state/fibState.ts +2 -2
- package/src/engine/indicators/state/hmaState.ts +2 -2
- package/src/engine/indicators/state/hvState.ts +2 -2
- package/src/engine/indicators/state/ichimokuState.ts +2 -2
- package/src/engine/indicators/state/kamaState.ts +2 -2
- package/src/engine/indicators/state/keltnerState.ts +2 -2
- package/src/engine/indicators/state/kstState.ts +2 -2
- package/src/engine/indicators/state/maState.ts +2 -2
- package/src/engine/indicators/state/macdState.ts +1 -1
- package/src/engine/indicators/state/mfiState.ts +2 -2
- package/src/engine/indicators/state/momState.ts +2 -2
- package/src/engine/indicators/state/obvState.ts +2 -2
- package/src/engine/indicators/state/parkinsonState.ts +2 -2
- package/src/engine/indicators/state/pivotState.ts +2 -2
- package/src/engine/indicators/state/pvtState.ts +2 -2
- package/src/engine/indicators/state/rocState.ts +2 -2
- package/src/engine/indicators/state/rsiState.ts +2 -2
- package/src/engine/indicators/state/sarState.ts +2 -2
- package/src/engine/indicators/state/stochState.ts +2 -2
- package/src/engine/indicators/state/structureState.ts +2 -2
- package/src/engine/indicators/state/supertrendState.ts +2 -2
- package/src/engine/indicators/state/temaState.ts +2 -2
- package/src/engine/indicators/state/trixState.ts +2 -2
- package/src/engine/indicators/state/vmaState.ts +2 -2
- package/src/engine/indicators/state/volumeProfileState.ts +2 -2
- package/src/engine/indicators/state/vwapState.ts +2 -2
- package/src/engine/indicators/state/wmaState.ts +2 -2
- package/src/engine/indicators/state/wmsrState.ts +2 -2
- package/src/engine/indicators/state/zonesState.ts +2 -2
- package/src/engine/indicators/workerProtocol.ts +1 -1
- package/src/engine/layout/__tests__/paneRatioMath.test.ts +34 -0
- package/src/engine/layout/chartPaneLayout.ts +126 -45
- package/src/engine/layout/pane.ts +2 -2
- package/src/engine/layout/paneRatioMath.ts +39 -0
- package/src/engine/marker/__tests__/markerManager.customMarkers.test.ts +64 -0
- package/src/engine/marker/registry.ts +18 -28
- package/src/engine/modes/timeShareMode.ts +1 -1
- package/src/engine/render/chartRenderer.ts +70 -45
- package/src/engine/render/layers/candleLayer.ts +3 -3
- package/src/engine/render/layers/comparisonLineLayer.ts +3 -3
- package/src/engine/render/layers/crosshairLayer.ts +3 -3
- package/src/engine/render/layers/customMarkersLayer.ts +3 -3
- package/src/engine/render/layers/extremaMarkersLayer.ts +3 -3
- package/src/engine/render/layers/gridLinesLayer.ts +3 -3
- package/src/engine/render/layers/lastPriceLabelLayer.ts +3 -3
- package/src/engine/render/layers/lastPriceLineLayer.ts +3 -3
- package/src/engine/render/layers/leftYAxisLayer.ts +3 -3
- package/src/engine/render/layers/mainIndicatorLegendLayer.ts +3 -3
- package/src/engine/render/layers/yAxisLayer.ts +3 -3
- package/src/engine/renderers/Indicator/__tests__/createSubIndicatorRenderer.test.ts +1 -1
- package/src/engine/renderers/Indicator/atr.ts +7 -3
- package/src/engine/renderers/Indicator/boll.ts +9 -5
- package/src/engine/renderers/Indicator/cci.ts +7 -3
- package/src/engine/renderers/Indicator/chaikinVol.ts +6 -2
- package/src/engine/renderers/Indicator/cmf.ts +6 -2
- package/src/engine/renderers/Indicator/dema.ts +6 -2
- package/src/engine/renderers/Indicator/donchian.ts +7 -3
- package/src/engine/renderers/Indicator/ene.ts +9 -5
- package/src/engine/renderers/Indicator/expma.ts +9 -5
- package/src/engine/renderers/Indicator/fastk.ts +7 -3
- package/src/engine/renderers/Indicator/fib.ts +6 -2
- package/src/engine/renderers/Indicator/hma.ts +6 -2
- package/src/engine/renderers/Indicator/hv.ts +7 -3
- package/src/engine/renderers/Indicator/ichimoku.ts +8 -4
- package/src/engine/renderers/Indicator/index.ts +1 -1
- package/src/engine/renderers/Indicator/kama.ts +6 -2
- package/src/engine/renderers/Indicator/keltner.ts +7 -3
- package/src/engine/renderers/Indicator/kst.ts +8 -5
- package/src/engine/renderers/Indicator/ma.ts +9 -5
- package/src/engine/renderers/Indicator/macd.ts +9 -5
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +9 -5
- package/src/engine/renderers/Indicator/mfi.ts +6 -2
- package/src/engine/renderers/Indicator/mom.ts +8 -4
- package/src/engine/renderers/Indicator/obv.ts +6 -2
- package/src/engine/renderers/Indicator/parkinson.ts +7 -3
- package/src/engine/renderers/Indicator/pivot.ts +6 -2
- package/src/engine/renderers/Indicator/pvt.ts +6 -2
- package/src/engine/renderers/Indicator/roc.ts +7 -3
- package/src/engine/renderers/Indicator/rsi.ts +9 -6
- package/src/engine/renderers/Indicator/sar.ts +8 -4
- package/src/engine/renderers/Indicator/scale/atr_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/cci_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/fastk_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/indicator_scale.ts +10 -7
- package/src/engine/renderers/Indicator/scale/kst_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/macd_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/mom_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/rsi_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/stoch_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/volume_scale.ts +1 -1
- package/src/engine/renderers/Indicator/scale/wmsr_scale.ts +1 -1
- package/src/engine/renderers/Indicator/shared/dashedLines.ts +1 -1
- package/src/engine/renderers/Indicator/shared/titleInfo.ts +3 -3
- package/src/engine/renderers/Indicator/shared/webglBand.ts +1 -1
- package/src/engine/renderers/Indicator/stoch.ts +8 -5
- package/src/engine/renderers/Indicator/structure.ts +8 -4
- package/src/engine/renderers/Indicator/supertrend.ts +8 -4
- package/src/engine/renderers/Indicator/tema.ts +6 -2
- package/src/engine/renderers/Indicator/trix.ts +8 -4
- package/src/engine/renderers/Indicator/vma.ts +6 -2
- package/src/engine/renderers/Indicator/volumeProfile.ts +8 -4
- package/src/engine/renderers/Indicator/vwap.ts +6 -2
- package/src/engine/renderers/Indicator/wma.ts +6 -2
- package/src/engine/renderers/Indicator/wmsr.ts +8 -4
- package/src/engine/renderers/Indicator/zones.ts +7 -3
- package/src/engine/renderers/candle.ts +11 -9
- package/src/engine/renderers/comparisonLine.ts +3 -3
- package/src/engine/renderers/crosshair.ts +4 -4
- package/src/engine/renderers/customMarkers.ts +9 -5
- package/src/engine/renderers/extremaMarkers.ts +40 -14
- package/src/engine/renderers/gridLines.ts +15 -8
- package/src/engine/renderers/lastPrice.ts +4 -4
- package/src/engine/renderers/leftYAxis.ts +7 -6
- package/src/engine/renderers/paneTitle.ts +9 -5
- package/src/engine/renderers/subVolume.ts +15 -16
- package/src/engine/renderers/timeAxis.ts +9 -5
- package/src/engine/renderers/timeShare.ts +4 -4
- package/src/engine/renderers/yAxis.ts +8 -7
- package/src/engine/state/__tests__/comparisonState.test.ts +104 -0
- package/src/engine/state/__tests__/dataState.test.ts +49 -0
- package/src/engine/state/__tests__/drawingState.test.ts +79 -0
- package/src/engine/state/__tests__/indicatorState.test.ts +64 -0
- package/src/engine/state/__tests__/markerState.test.ts +75 -0
- package/src/engine/state/__tests__/modeState.test.ts +20 -0
- package/src/engine/state/__tests__/paneState.test.ts +73 -0
- package/src/engine/state/__tests__/settingsState.test.ts +46 -0
- package/src/engine/state/__tests__/subPaneState.test.ts +152 -0
- package/src/engine/state/__tests__/zoomState.test.ts +32 -0
- package/src/engine/state/chartStateKernel.ts +393 -0
- package/src/engine/state/comparisonState.ts +77 -0
- package/src/engine/state/contentGeometry.ts +33 -0
- package/src/engine/state/dataManagerState.ts +88 -0
- package/src/engine/state/dataState.ts +80 -0
- package/src/engine/state/drawingState.ts +64 -0
- package/src/engine/state/immutable.ts +55 -0
- package/src/engine/state/index.ts +33 -0
- package/src/engine/state/indicatorState.ts +80 -0
- package/src/engine/state/interactionState.ts +295 -0
- package/src/engine/state/markerState.ts +61 -0
- package/src/engine/state/modeState.ts +24 -0
- package/src/engine/state/optionsState.ts +27 -0
- package/src/engine/state/paneState.ts +99 -0
- package/src/engine/state/settingsState.ts +55 -0
- package/src/engine/state/stateKernel.ts +79 -0
- package/src/engine/state/subPaneState.ts +92 -0
- package/src/engine/state/themeState.ts +23 -0
- package/src/engine/state/viewportState.ts +452 -0
- package/src/engine/state/zoomState.ts +70 -0
- package/src/engine/subPaneManager.ts +225 -265
- package/src/engine/utils/__tests__/kGap.derive.test.ts +15 -0
- package/src/engine/utils/chartZoomController.ts +43 -46
- package/src/engine/utils/zoom.ts +47 -3
- package/src/engine/viewport/chartViewportManager.ts +55 -270
- package/src/engine/viewport/viewport.ts +1 -1
- package/src/features/alerts/createAlertController.ts +294 -0
- package/src/features/alerts/types.ts +177 -0
- package/src/features/chartTypes/pointAndFigure.ts +284 -0
- package/src/features/chartTypes/rangeBars.ts +303 -0
- package/src/features/chartTypes/renko.ts +317 -0
- package/src/features/indicators/alma.ts +64 -0
- package/src/features/indicators/awesomeOscillator.ts +57 -0
- package/src/features/indicators/dpo.ts +38 -0
- package/src/features/indicators/fisherTransform.ts +66 -0
- package/src/features/indicators/frama.ts +94 -0
- package/src/features/indicators/lsma.ts +59 -0
- package/src/features/indicators/schaffTrendCycle.ts +94 -0
- package/src/features/indicators/stochRSI.ts +108 -0
- package/src/features/indicators/t3.ts +95 -0
- package/src/features/indicators/ultimateOscillator.ts +86 -0
- package/src/features/indicators/vidya.ts +81 -0
- package/src/features/indicators/zlema.ts +42 -0
- package/src/features/input/__tests__/gesture.test.ts +271 -0
- package/src/features/input/__tests__/keyboard.test.ts +310 -0
- package/src/features/input/gesture.ts +351 -0
- package/src/features/input/keyboard.ts +371 -0
- package/src/features/mcp/chartBridge.ts +258 -0
- package/src/features/replay/createReplayController.ts +295 -0
- package/src/features/replay/types.ts +105 -0
- package/src/features/semantic/controller.ts +232 -0
- package/src/features/semantic/index.ts +36 -0
- package/src/features/semantic/types.ts +253 -0
- package/src/features/semantic/validator.ts +363 -0
- package/src/foundation/config/chartSettings.ts +179 -0
- package/src/foundation/plugin/PluginHost.ts +265 -0
- package/src/foundation/plugin/PluginRegistry.ts +94 -0
- package/src/foundation/plugin/rendererPluginManager.test.ts +41 -0
- package/src/foundation/plugin/rendererPluginManager.ts +389 -0
- package/src/foundation/plugin/types.ts +565 -0
- package/src/foundation/reactivity/index.ts +17 -0
- package/src/foundation/reactivity/signal.ts +361 -0
- package/src/foundation/tokens/theme-china.ts +132 -0
- package/src/foundation/tokens/themeToCssVars.ts +139 -0
- package/src/foundation/types/kLine.ts +16 -0
- package/src/foundation/types/price.ts +77 -0
- package/src/foundation/utils/kLineDraw/axis.ts +540 -0
- package/src/foundation/utils/viewportSide.ts +3 -0
- package/src/index.ts +15 -15
- package/src/rendering/render/__tests__/webglRenderer.test.ts +364 -0
- package/src/rendering/render/createWebGLRenderer.ts +289 -0
- package/src/rendering/render/createWebGLSurfaceBackend.ts +44 -0
- package/src/rendering/renderer-tier/__tests__/detectRendererTier.test.ts +177 -0
- package/src/rendering/renderer-tier/__tests__/selectBackend.test.ts +249 -0
- package/src/rendering/renderer-tier/detectRendererTier.ts +160 -0
- package/src/rendering/renderer-tier/selectBackend.ts +193 -0
- package/src/rendering/scene/__tests__/layerFromPlugin.test.ts +244 -0
- package/src/rendering/scene/createLayerFromPlugin.ts +48 -0
- package/src/rendering/scene/createScene.ts +121 -0
- package/src/rendering/scene/layerRegistry.ts +115 -0
- package/src/rendering/scene/types.ts +148 -0
- package/src/rendering/scheduler/__tests__/createFrameBudget.test.ts +319 -0
- package/src/rendering/scheduler/createFrameBudget.ts +316 -0
- package/src/scale/createPriceScale.ts +2 -2
- package/src/scale/createTimeScale.ts +1 -1
- package/src/scale/types.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/alerts/createAlertController.d.ts.map +0 -1
- package/dist/alerts/createAlertController.js +0 -257
- package/dist/alerts/createAlertController.js.map +0 -1
- package/dist/alerts/index.d.ts.map +0 -1
- package/dist/alerts/index.js.map +0 -1
- package/dist/alerts/predicates.d.ts.map +0 -1
- package/dist/alerts/predicates.js.map +0 -1
- package/dist/alerts/rollingVolume.d.ts.map +0 -1
- package/dist/alerts/rollingVolume.js.map +0 -1
- package/dist/alerts/ruleSchema.d.ts.map +0 -1
- package/dist/alerts/ruleSchema.js.map +0 -1
- package/dist/alerts/types.d.ts +0 -169
- package/dist/alerts/types.d.ts.map +0 -1
- package/dist/alerts/types.js.map +0 -1
- package/dist/chartTypes/heikinAshi.d.ts.map +0 -1
- package/dist/chartTypes/heikinAshi.js.map +0 -1
- package/dist/chartTypes/index.d.ts.map +0 -1
- package/dist/chartTypes/index.js.map +0 -1
- package/dist/chartTypes/pointAndFigure.d.ts.map +0 -1
- package/dist/chartTypes/pointAndFigure.js +0 -159
- package/dist/chartTypes/pointAndFigure.js.map +0 -1
- package/dist/chartTypes/rangeBars.d.ts.map +0 -1
- package/dist/chartTypes/rangeBars.js +0 -181
- package/dist/chartTypes/rangeBars.js.map +0 -1
- package/dist/chartTypes/renko.d.ts.map +0 -1
- package/dist/chartTypes/renko.js +0 -207
- package/dist/chartTypes/renko.js.map +0 -1
- package/dist/chartTypes/types.d.ts.map +0 -1
- package/dist/chartTypes/types.js.map +0 -1
- package/dist/config/chartSettings.d.ts +0 -131
- package/dist/config/chartSettings.d.ts.map +0 -1
- package/dist/config/chartSettings.js +0 -133
- package/dist/config/chartSettings.js.map +0 -1
- package/dist/data-fetchers/baostock.d.ts.map +0 -1
- package/dist/data-fetchers/baostock.js +0 -103
- package/dist/data-fetchers/baostock.js.map +0 -1
- package/dist/data-fetchers/binance.d.ts.map +0 -1
- package/dist/data-fetchers/binance.js.map +0 -1
- package/dist/data-fetchers/dataBuffer.d.ts +0 -32
- package/dist/data-fetchers/dataBuffer.d.ts.map +0 -1
- package/dist/data-fetchers/dataBuffer.effects.d.ts +0 -21
- package/dist/data-fetchers/dataBuffer.effects.d.ts.map +0 -1
- package/dist/data-fetchers/dataBuffer.effects.js.map +0 -1
- package/dist/data-fetchers/dataBuffer.js +0 -159
- package/dist/data-fetchers/dataBuffer.js.map +0 -1
- package/dist/data-fetchers/dataBufferTypes.d.ts +0 -42
- package/dist/data-fetchers/dataBufferTypes.d.ts.map +0 -1
- package/dist/data-fetchers/dataBufferTypes.js.map +0 -1
- package/dist/data-fetchers/depthConnector.d.ts.map +0 -1
- package/dist/data-fetchers/depthConnector.js.map +0 -1
- package/dist/data-fetchers/depthTypes.d.ts.map +0 -1
- package/dist/data-fetchers/depthTypes.js.map +0 -1
- package/dist/data-fetchers/fetchScheduler.d.ts +0 -12
- package/dist/data-fetchers/fetchScheduler.d.ts.map +0 -1
- package/dist/data-fetchers/fetchScheduler.js +0 -47
- package/dist/data-fetchers/fetchScheduler.js.map +0 -1
- package/dist/data-fetchers/fetcherDefinitionRegistry.d.ts.map +0 -1
- package/dist/data-fetchers/fetcherDefinitionRegistry.js.map +0 -1
- package/dist/data-fetchers/gotdx.d.ts.map +0 -1
- package/dist/data-fetchers/gotdx.js +0 -217
- package/dist/data-fetchers/gotdx.js.map +0 -1
- package/dist/data-fetchers/hundred-mock.d.ts.map +0 -1
- package/dist/data-fetchers/hundred-mock.js.map +0 -1
- package/dist/data-fetchers/index.d.ts.map +0 -1
- package/dist/data-fetchers/index.js.map +0 -1
- package/dist/data-fetchers/kLineDataStore.d.ts +0 -21
- package/dist/data-fetchers/kLineDataStore.d.ts.map +0 -1
- package/dist/data-fetchers/kLineDataStore.js +0 -77
- package/dist/data-fetchers/kLineDataStore.js.map +0 -1
- package/dist/data-fetchers/router.d.ts.map +0 -1
- package/dist/data-fetchers/router.js.map +0 -1
- package/dist/data-fetchers/thousand-mock.d.ts.map +0 -1
- package/dist/data-fetchers/thousand-mock.js.map +0 -1
- package/dist/data-fetchers/timeKeyIndex.d.ts.map +0 -1
- package/dist/data-fetchers/timeKeyIndex.js.map +0 -1
- package/dist/data-fetchers/timeShareBuffer.d.ts +0 -27
- package/dist/data-fetchers/timeShareBuffer.d.ts.map +0 -1
- package/dist/data-fetchers/timeShareBuffer.js +0 -101
- package/dist/data-fetchers/timeShareBuffer.js.map +0 -1
- package/dist/data-fetchers/tradingview.d.ts.map +0 -1
- package/dist/data-fetchers/tradingview.js +0 -116
- package/dist/data-fetchers/tradingview.js.map +0 -1
- package/dist/data-fetchers/types.d.ts.map +0 -1
- package/dist/data-fetchers/types.js.map +0 -1
- package/dist/engine/draw/pixelAlign.d.ts.map +0 -1
- package/dist/engine/draw/pixelAlign.js.map +0 -1
- package/dist/engine/indicators/calculators.d.ts +0 -2
- package/dist/engine/indicators/calculators.d.ts.map +0 -1
- package/dist/engine/indicators/calculators.js +0 -2
- package/dist/engine/indicators/calculators.js.map +0 -1
- package/dist/engine/theme/fonts.d.ts.map +0 -1
- package/dist/engine/theme/fonts.js.map +0 -1
- package/dist/indicators/alma.d.ts.map +0 -1
- package/dist/indicators/alma.js +0 -36
- package/dist/indicators/alma.js.map +0 -1
- package/dist/indicators/awesomeOscillator.d.ts.map +0 -1
- package/dist/indicators/awesomeOscillator.js +0 -36
- package/dist/indicators/awesomeOscillator.js.map +0 -1
- package/dist/indicators/dpo.d.ts.map +0 -1
- package/dist/indicators/dpo.js +0 -24
- package/dist/indicators/dpo.js.map +0 -1
- package/dist/indicators/fisherTransform.d.ts.map +0 -1
- package/dist/indicators/fisherTransform.js +0 -44
- package/dist/indicators/fisherTransform.js.map +0 -1
- package/dist/indicators/frama.d.ts.map +0 -1
- package/dist/indicators/frama.js +0 -61
- package/dist/indicators/frama.js.map +0 -1
- package/dist/indicators/index.d.ts.map +0 -1
- package/dist/indicators/index.js.map +0 -1
- package/dist/indicators/lsma.d.ts.map +0 -1
- package/dist/indicators/lsma.js +0 -37
- package/dist/indicators/lsma.js.map +0 -1
- package/dist/indicators/schaffTrendCycle.d.ts.map +0 -1
- package/dist/indicators/schaffTrendCycle.js +0 -70
- package/dist/indicators/schaffTrendCycle.js.map +0 -1
- package/dist/indicators/stochRSI.d.ts.map +0 -1
- package/dist/indicators/stochRSI.js +0 -86
- package/dist/indicators/stochRSI.js.map +0 -1
- package/dist/indicators/t3.d.ts.map +0 -1
- package/dist/indicators/t3.js +0 -60
- package/dist/indicators/t3.js.map +0 -1
- package/dist/indicators/ultimateOscillator.d.ts.map +0 -1
- package/dist/indicators/ultimateOscillator.js +0 -59
- package/dist/indicators/ultimateOscillator.js.map +0 -1
- package/dist/indicators/vidya.d.ts.map +0 -1
- package/dist/indicators/vidya.js +0 -54
- package/dist/indicators/vidya.js.map +0 -1
- package/dist/indicators/zlema.d.ts.map +0 -1
- package/dist/indicators/zlema.js +0 -26
- package/dist/indicators/zlema.js.map +0 -1
- package/dist/input/gesture.d.ts +0 -125
- package/dist/input/gesture.d.ts.map +0 -1
- package/dist/input/gesture.js +0 -245
- package/dist/input/gesture.js.map +0 -1
- package/dist/input/index.d.ts.map +0 -1
- package/dist/input/index.js.map +0 -1
- package/dist/input/keyboard.d.ts +0 -140
- package/dist/input/keyboard.d.ts.map +0 -1
- package/dist/input/keyboard.js +0 -260
- package/dist/input/keyboard.js.map +0 -1
- package/dist/mcp/chartBridge.d.ts.map +0 -1
- package/dist/mcp/chartBridge.js +0 -186
- package/dist/mcp/chartBridge.js.map +0 -1
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js.map +0 -1
- package/dist/plugin/ConfigManager.d.ts.map +0 -1
- package/dist/plugin/ConfigManager.js.map +0 -1
- package/dist/plugin/EventBus.d.ts.map +0 -1
- package/dist/plugin/EventBus.js.map +0 -1
- package/dist/plugin/HookSystem.d.ts.map +0 -1
- package/dist/plugin/HookSystem.js.map +0 -1
- package/dist/plugin/PluginHost.d.ts.map +0 -1
- package/dist/plugin/PluginHost.js +0 -200
- package/dist/plugin/PluginHost.js.map +0 -1
- package/dist/plugin/PluginRegistry.d.ts.map +0 -1
- package/dist/plugin/PluginRegistry.js +0 -81
- package/dist/plugin/PluginRegistry.js.map +0 -1
- package/dist/plugin/StateStore.d.ts.map +0 -1
- package/dist/plugin/StateStore.js.map +0 -1
- package/dist/plugin/index.d.ts.map +0 -1
- package/dist/plugin/index.js.map +0 -1
- package/dist/plugin/rendererPluginManager.d.ts +0 -81
- package/dist/plugin/rendererPluginManager.d.ts.map +0 -1
- package/dist/plugin/rendererPluginManager.js +0 -309
- package/dist/plugin/rendererPluginManager.js.map +0 -1
- package/dist/plugin/stateKeys.d.ts.map +0 -1
- package/dist/plugin/stateKeys.js.map +0 -1
- package/dist/plugin/types.d.ts +0 -480
- package/dist/plugin/types.d.ts.map +0 -1
- package/dist/plugin/types.js.map +0 -1
- package/dist/reactivity/index.d.ts +0 -3
- package/dist/reactivity/index.d.ts.map +0 -1
- package/dist/reactivity/index.js +0 -2
- package/dist/reactivity/index.js.map +0 -1
- package/dist/reactivity/signal.d.ts +0 -40
- package/dist/reactivity/signal.d.ts.map +0 -1
- package/dist/reactivity/signal.js +0 -92
- package/dist/reactivity/signal.js.map +0 -1
- package/dist/render/Renderer.d.ts.map +0 -1
- package/dist/render/Renderer.js.map +0 -1
- package/dist/render/SurfaceBackend.d.ts.map +0 -1
- package/dist/render/SurfaceBackend.js.map +0 -1
- package/dist/render/createWebGLRenderer.d.ts +0 -5
- package/dist/render/createWebGLRenderer.d.ts.map +0 -1
- package/dist/render/createWebGLRenderer.js +0 -233
- package/dist/render/createWebGLRenderer.js.map +0 -1
- package/dist/render/createWebGLSurfaceBackend.d.ts +0 -4
- package/dist/render/createWebGLSurfaceBackend.d.ts.map +0 -1
- package/dist/render/createWebGLSurfaceBackend.js.map +0 -1
- package/dist/render/index.d.ts.map +0 -1
- package/dist/render/index.js.map +0 -1
- package/dist/renderer-tier/detectRendererTier.d.ts.map +0 -1
- package/dist/renderer-tier/detectRendererTier.js +0 -143
- package/dist/renderer-tier/detectRendererTier.js.map +0 -1
- package/dist/renderer-tier/index.d.ts.map +0 -1
- package/dist/renderer-tier/index.js.map +0 -1
- package/dist/renderer-tier/selectBackend.d.ts.map +0 -1
- package/dist/renderer-tier/selectBackend.js +0 -109
- package/dist/renderer-tier/selectBackend.js.map +0 -1
- package/dist/renderer-tier/types.d.ts.map +0 -1
- package/dist/renderer-tier/types.js.map +0 -1
- package/dist/replay/createReplayController.d.ts.map +0 -1
- package/dist/replay/createReplayController.js +0 -249
- package/dist/replay/createReplayController.js.map +0 -1
- package/dist/replay/index.d.ts.map +0 -1
- package/dist/replay/index.js.map +0 -1
- package/dist/replay/timeline.d.ts.map +0 -1
- package/dist/replay/timeline.js.map +0 -1
- package/dist/replay/types.d.ts +0 -94
- package/dist/replay/types.d.ts.map +0 -1
- package/dist/replay/types.js.map +0 -1
- package/dist/scene/createLayerFromPlugin.d.ts +0 -4
- package/dist/scene/createLayerFromPlugin.d.ts.map +0 -1
- package/dist/scene/createLayerFromPlugin.js +0 -45
- package/dist/scene/createLayerFromPlugin.js.map +0 -1
- package/dist/scene/createScene.d.ts.map +0 -1
- package/dist/scene/createScene.js +0 -117
- package/dist/scene/createScene.js.map +0 -1
- package/dist/scene/index.d.ts.map +0 -1
- package/dist/scene/index.js.map +0 -1
- package/dist/scene/layerRegistry.d.ts.map +0 -1
- package/dist/scene/layerRegistry.js +0 -43
- package/dist/scene/layerRegistry.js.map +0 -1
- package/dist/scene/types.d.ts +0 -133
- package/dist/scene/types.d.ts.map +0 -1
- package/dist/scene/types.js.map +0 -1
- package/dist/scheduler/createFrameBudget.d.ts +0 -91
- package/dist/scheduler/createFrameBudget.d.ts.map +0 -1
- package/dist/scheduler/createFrameBudget.js +0 -232
- package/dist/scheduler/createFrameBudget.js.map +0 -1
- package/dist/scheduler/index.d.ts.map +0 -1
- package/dist/scheduler/index.js.map +0 -1
- package/dist/semantic/controller.d.ts +0 -34
- package/dist/semantic/controller.d.ts.map +0 -1
- package/dist/semantic/controller.js +0 -164
- package/dist/semantic/controller.js.map +0 -1
- package/dist/semantic/drawShape.d.ts.map +0 -1
- package/dist/semantic/drawShape.js.map +0 -1
- package/dist/semantic/index.d.ts +0 -7
- package/dist/semantic/index.d.ts.map +0 -1
- package/dist/semantic/index.js.map +0 -1
- package/dist/semantic/types.d.ts +0 -300
- package/dist/semantic/types.d.ts.map +0 -1
- package/dist/semantic/types.js.map +0 -1
- package/dist/semantic/validator.d.ts +0 -48
- package/dist/semantic/validator.d.ts.map +0 -1
- package/dist/semantic/validator.js +0 -288
- package/dist/semantic/validator.js.map +0 -1
- package/dist/tokens/colorPresetSettings.d.ts.map +0 -1
- package/dist/tokens/colorPresetSettings.js.map +0 -1
- package/dist/tokens/index.d.ts.map +0 -1
- package/dist/tokens/index.js.map +0 -1
- package/dist/tokens/mergeTheme.d.ts.map +0 -1
- package/dist/tokens/mergeTheme.js.map +0 -1
- package/dist/tokens/theme-base.d.ts.map +0 -1
- package/dist/tokens/theme-base.js.map +0 -1
- package/dist/tokens/theme-china.d.ts +0 -45
- package/dist/tokens/theme-china.d.ts.map +0 -1
- package/dist/tokens/theme-china.js +0 -115
- package/dist/tokens/theme-china.js.map +0 -1
- package/dist/tokens/theme-dark.d.ts.map +0 -1
- package/dist/tokens/theme-dark.js.map +0 -1
- package/dist/tokens/theme-light.d.ts.map +0 -1
- package/dist/tokens/theme-light.js.map +0 -1
- package/dist/tokens/themeToCssVars.d.ts.map +0 -1
- package/dist/tokens/themeToCssVars.js +0 -82
- package/dist/tokens/themeToCssVars.js.map +0 -1
- package/dist/tokens/types.d.ts.map +0 -1
- package/dist/tokens/types.js.map +0 -1
- package/dist/types/kLine.d.ts +0 -4
- package/dist/types/kLine.d.ts.map +0 -1
- package/dist/types/kLine.js +0 -12
- package/dist/types/kLine.js.map +0 -1
- package/dist/types/price.d.ts +0 -42
- package/dist/types/price.d.ts.map +0 -1
- package/dist/types/price.js +0 -27
- package/dist/types/price.js.map +0 -1
- package/dist/types/volumePrice.d.ts.map +0 -1
- package/dist/types/volumePrice.js.map +0 -1
- package/dist/utils/dateFormat.d.ts.map +0 -1
- package/dist/utils/dateFormat.js.map +0 -1
- package/dist/utils/kLineDraw/axis.d.ts.map +0 -1
- package/dist/utils/kLineDraw/axis.js +0 -223
- package/dist/utils/kLineDraw/axis.js.map +0 -1
- package/dist/utils/priceToY.d.ts.map +0 -1
- package/dist/utils/priceToY.js.map +0 -1
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/uuid.js.map +0 -1
- package/dist/utils/volumePrice.d.ts.map +0 -1
- package/dist/utils/volumePrice.js.map +0 -1
- package/src/alerts/createAlertController.ts +0 -294
- package/src/alerts/types.ts +0 -177
- package/src/chartTypes/pointAndFigure.ts +0 -284
- package/src/chartTypes/rangeBars.ts +0 -303
- package/src/chartTypes/renko.ts +0 -317
- package/src/config/chartSettings.ts +0 -165
- package/src/data-fetchers/__tests__/dataBuffer.test.ts +0 -537
- package/src/data-fetchers/baostock.ts +0 -71
- package/src/data-fetchers/dataBuffer.effects.ts +0 -118
- package/src/data-fetchers/dataBuffer.ts +0 -205
- package/src/data-fetchers/dataBufferTypes.ts +0 -51
- package/src/data-fetchers/fetchScheduler.ts +0 -53
- package/src/data-fetchers/fetcherDefinitionRegistry.ts +0 -80
- package/src/data-fetchers/gotdx.ts +0 -224
- package/src/data-fetchers/kLineDataStore.ts +0 -96
- package/src/data-fetchers/timeShareBuffer.ts +0 -137
- package/src/data-fetchers/tradingview.ts +0 -79
- package/src/engine/indicators/calculators.ts +0 -1
- package/src/indicators/alma.ts +0 -64
- package/src/indicators/awesomeOscillator.ts +0 -57
- package/src/indicators/dpo.ts +0 -38
- package/src/indicators/fisherTransform.ts +0 -66
- package/src/indicators/frama.ts +0 -94
- package/src/indicators/lsma.ts +0 -59
- package/src/indicators/schaffTrendCycle.ts +0 -94
- package/src/indicators/stochRSI.ts +0 -108
- package/src/indicators/t3.ts +0 -95
- package/src/indicators/ultimateOscillator.ts +0 -86
- package/src/indicators/vidya.ts +0 -81
- package/src/indicators/zlema.ts +0 -42
- package/src/input/__tests__/gesture.test.ts +0 -271
- package/src/input/__tests__/keyboard.test.ts +0 -310
- package/src/input/gesture.ts +0 -351
- package/src/input/keyboard.ts +0 -371
- package/src/mcp/chartBridge.ts +0 -259
- package/src/plugin/PluginHost.ts +0 -265
- package/src/plugin/PluginRegistry.ts +0 -94
- package/src/plugin/rendererPluginManager.ts +0 -365
- package/src/plugin/types.ts +0 -562
- package/src/reactivity/index.ts +0 -2
- package/src/reactivity/signal.ts +0 -119
- package/src/render/__tests__/webglRenderer.test.ts +0 -364
- package/src/render/createWebGLRenderer.ts +0 -289
- package/src/render/createWebGLSurfaceBackend.ts +0 -44
- package/src/renderer-tier/__tests__/detectRendererTier.test.ts +0 -177
- package/src/renderer-tier/__tests__/selectBackend.test.ts +0 -249
- package/src/renderer-tier/detectRendererTier.ts +0 -160
- package/src/renderer-tier/selectBackend.ts +0 -193
- package/src/replay/createReplayController.ts +0 -295
- package/src/replay/types.ts +0 -105
- package/src/scene/__tests__/layerFromPlugin.test.ts +0 -244
- package/src/scene/createLayerFromPlugin.ts +0 -48
- package/src/scene/createScene.ts +0 -121
- package/src/scene/layerRegistry.ts +0 -115
- package/src/scene/types.ts +0 -148
- package/src/scheduler/__tests__/createFrameBudget.test.ts +0 -319
- package/src/scheduler/createFrameBudget.ts +0 -316
- package/src/semantic/controller.ts +0 -235
- package/src/semantic/index.ts +0 -36
- package/src/semantic/types.ts +0 -253
- package/src/semantic/validator.ts +0 -363
- package/src/tokens/theme-china.ts +0 -132
- package/src/tokens/themeToCssVars.ts +0 -139
- package/src/types/kLine.ts +0 -13
- package/src/types/price.ts +0 -76
- package/src/utils/kLineDraw/axis.ts +0 -540
- /package/dist/{data-fetchers → data}/baostock.d.ts +0 -0
- /package/dist/{data-fetchers → data}/binance.d.ts +0 -0
- /package/dist/{data-fetchers → data}/binance.js +0 -0
- /package/dist/{data-fetchers → data}/dataBuffer.effects.js +0 -0
- /package/dist/{data-fetchers → data}/dataBufferTypes.js +0 -0
- /package/dist/{data-fetchers → data}/depthConnector.d.ts +0 -0
- /package/dist/{data-fetchers → data}/depthConnector.js +0 -0
- /package/dist/{data-fetchers → data}/depthTypes.d.ts +0 -0
- /package/dist/{data-fetchers → data}/depthTypes.js +0 -0
- /package/dist/{data-fetchers → data}/fetcherDefinitionRegistry.d.ts +0 -0
- /package/dist/{data-fetchers → data}/fetcherDefinitionRegistry.js +0 -0
- /package/dist/{data-fetchers → data}/gotdx.d.ts +0 -0
- /package/dist/{data-fetchers → data}/hundred-mock.d.ts +0 -0
- /package/dist/{data-fetchers → data}/hundred-mock.js +0 -0
- /package/dist/{data-fetchers → data}/index.d.ts +0 -0
- /package/dist/{data-fetchers → data}/index.js +0 -0
- /package/dist/{data-fetchers → data}/router.d.ts +0 -0
- /package/dist/{data-fetchers → data}/router.js +0 -0
- /package/dist/{data-fetchers → data}/thousand-mock.d.ts +0 -0
- /package/dist/{data-fetchers → data}/thousand-mock.js +0 -0
- /package/dist/{data-fetchers → data}/timeKeyIndex.d.ts +0 -0
- /package/dist/{data-fetchers → data}/timeKeyIndex.js +0 -0
- /package/dist/{data-fetchers → data}/tradingview.d.ts +0 -0
- /package/dist/{data-fetchers → data}/types.d.ts +0 -0
- /package/dist/{data-fetchers → data}/types.js +0 -0
- /package/dist/{alerts → features/alerts}/createAlertController.d.ts +0 -0
- /package/dist/{alerts → features/alerts}/index.d.ts +0 -0
- /package/dist/{alerts → features/alerts}/index.js +0 -0
- /package/dist/{alerts → features/alerts}/predicates.d.ts +0 -0
- /package/dist/{alerts → features/alerts}/predicates.js +0 -0
- /package/dist/{alerts → features/alerts}/rollingVolume.d.ts +0 -0
- /package/dist/{alerts → features/alerts}/rollingVolume.js +0 -0
- /package/dist/{alerts → features/alerts}/ruleSchema.d.ts +0 -0
- /package/dist/{alerts → features/alerts}/ruleSchema.js +0 -0
- /package/dist/{alerts → features/alerts}/types.js +0 -0
- /package/dist/{chartTypes → features/chartTypes}/heikinAshi.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/heikinAshi.js +0 -0
- /package/dist/{chartTypes → features/chartTypes}/index.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/index.js +0 -0
- /package/dist/{chartTypes → features/chartTypes}/pointAndFigure.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/rangeBars.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/renko.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/types.d.ts +0 -0
- /package/dist/{chartTypes → features/chartTypes}/types.js +0 -0
- /package/dist/{indicators → features/indicators}/alma.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/awesomeOscillator.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/dpo.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/fisherTransform.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/frama.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/index.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/index.js +0 -0
- /package/dist/{indicators → features/indicators}/lsma.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/schaffTrendCycle.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/stochRSI.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/t3.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/ultimateOscillator.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/vidya.d.ts +0 -0
- /package/dist/{indicators → features/indicators}/zlema.d.ts +0 -0
- /package/dist/{input → features/input}/index.d.ts +0 -0
- /package/dist/{input → features/input}/index.js +0 -0
- /package/dist/{mcp → features/mcp}/chartBridge.d.ts +0 -0
- /package/dist/{mcp → features/mcp}/index.d.ts +0 -0
- /package/dist/{mcp → features/mcp}/index.js +0 -0
- /package/dist/{mcp → features/mcp}/types.d.ts +0 -0
- /package/dist/{mcp → features/mcp}/types.js +0 -0
- /package/dist/{replay → features/replay}/createReplayController.d.ts +0 -0
- /package/dist/{replay → features/replay}/index.d.ts +0 -0
- /package/dist/{replay → features/replay}/index.js +0 -0
- /package/dist/{replay → features/replay}/timeline.d.ts +0 -0
- /package/dist/{replay → features/replay}/timeline.js +0 -0
- /package/dist/{replay → features/replay}/types.js +0 -0
- /package/dist/{semantic → features/semantic}/drawShape.d.ts +0 -0
- /package/dist/{semantic → features/semantic}/drawShape.js +0 -0
- /package/dist/{semantic → features/semantic}/index.js +0 -0
- /package/dist/{semantic → features/semantic}/schema.json +0 -0
- /package/dist/{semantic → features/semantic}/types.js +0 -0
- /package/dist/{plugin → foundation/plugin}/ConfigManager.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/ConfigManager.js +0 -0
- /package/dist/{plugin → foundation/plugin}/EventBus.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/EventBus.js +0 -0
- /package/dist/{plugin → foundation/plugin}/HookSystem.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/HookSystem.js +0 -0
- /package/dist/{plugin → foundation/plugin}/PluginHost.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/PluginRegistry.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/StateStore.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/StateStore.js +0 -0
- /package/dist/{plugin → foundation/plugin}/index.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/index.js +0 -0
- /package/dist/{plugin → foundation/plugin}/stateKeys.d.ts +0 -0
- /package/dist/{plugin → foundation/plugin}/stateKeys.js +0 -0
- /package/dist/{plugin → foundation/plugin}/types.js +0 -0
- /package/dist/{tokens → foundation/tokens}/colorPresetSettings.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/colorPresetSettings.js +0 -0
- /package/dist/{engine/theme → foundation/tokens}/fonts.d.ts +0 -0
- /package/dist/{engine/theme → foundation/tokens}/fonts.js +0 -0
- /package/dist/{tokens → foundation/tokens}/index.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/index.js +0 -0
- /package/dist/{tokens → foundation/tokens}/mergeTheme.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/mergeTheme.js +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-base.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-base.js +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-dark.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-dark.js +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-light.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/theme-light.js +0 -0
- /package/dist/{tokens → foundation/tokens}/themeToCssVars.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/types.d.ts +0 -0
- /package/dist/{tokens → foundation/tokens}/types.js +0 -0
- /package/dist/{types → foundation/types}/volumePrice.d.ts +0 -0
- /package/dist/{types → foundation/types}/volumePrice.js +0 -0
- /package/dist/{utils → foundation/utils}/dateFormat.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/dateFormat.js +0 -0
- /package/dist/{utils → foundation/utils}/kLineDraw/axis.d.ts +0 -0
- /package/dist/{engine/draw → foundation/utils}/pixelAlign.d.ts +0 -0
- /package/dist/{engine/draw → foundation/utils}/pixelAlign.js +0 -0
- /package/dist/{utils → foundation/utils}/priceToY.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/priceToY.js +0 -0
- /package/dist/{utils → foundation/utils}/uuid.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/uuid.js +0 -0
- /package/dist/{utils → foundation/utils}/volumePrice.d.ts +0 -0
- /package/dist/{utils → foundation/utils}/volumePrice.js +0 -0
- /package/dist/{render → rendering/render}/Renderer.d.ts +0 -0
- /package/dist/{render → rendering/render}/Renderer.js +0 -0
- /package/dist/{render → rendering/render}/SurfaceBackend.d.ts +0 -0
- /package/dist/{render → rendering/render}/SurfaceBackend.js +0 -0
- /package/dist/{render → rendering/render}/createWebGLSurfaceBackend.js +0 -0
- /package/dist/{render → rendering/render}/index.d.ts +0 -0
- /package/dist/{render → rendering/render}/index.js +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/detectRendererTier.d.ts +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/index.d.ts +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/index.js +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/selectBackend.d.ts +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/types.d.ts +0 -0
- /package/dist/{renderer-tier → rendering/renderer-tier}/types.js +0 -0
- /package/dist/{scene → rendering/scene}/createScene.d.ts +0 -0
- /package/dist/{scene → rendering/scene}/index.d.ts +0 -0
- /package/dist/{scene → rendering/scene}/index.js +0 -0
- /package/dist/{scene → rendering/scene}/layerRegistry.d.ts +0 -0
- /package/dist/{scene → rendering/scene}/types.js +0 -0
- /package/dist/{scheduler → rendering/scheduler}/index.d.ts +0 -0
- /package/dist/{scheduler → rendering/scheduler}/index.js +0 -0
- /package/src/{data-fetchers → data}/__tests__/binance.test.ts +0 -0
- /package/src/{data-fetchers → data}/__tests__/depthConnector.test.ts +0 -0
- /package/src/{data-fetchers → data}/__tests__/fetcherRegistry.test.ts +0 -0
- /package/src/{data-fetchers → data}/binance.ts +0 -0
- /package/src/{data-fetchers → data}/depthConnector.ts +0 -0
- /package/src/{data-fetchers → data}/depthTypes.ts +0 -0
- /package/src/{data-fetchers → data}/hundred-mock.ts +0 -0
- /package/src/{data-fetchers → data}/index.ts +0 -0
- /package/src/{data-fetchers → data}/router.ts +0 -0
- /package/src/{data-fetchers → data}/thousand-mock.ts +0 -0
- /package/src/{data-fetchers → data}/timeKeyIndex.ts +0 -0
- /package/src/{data-fetchers → data}/types.ts +0 -0
- /package/src/{alerts → features/alerts}/__tests__/controller.test.ts +0 -0
- /package/src/{alerts → features/alerts}/__tests__/predicates.test.ts +0 -0
- /package/src/{alerts → features/alerts}/__tests__/ruleSchema.test.ts +0 -0
- /package/src/{alerts → features/alerts}/index.ts +0 -0
- /package/src/{alerts → features/alerts}/predicates.ts +0 -0
- /package/src/{alerts → features/alerts}/rollingVolume.ts +0 -0
- /package/src/{alerts → features/alerts}/ruleSchema.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/__tests__/heikinAshi.test.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/__tests__/pointAndFigure.test.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/__tests__/rangeBars.test.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/__tests__/renko.test.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/heikinAshi.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/index.ts +0 -0
- /package/src/{chartTypes → features/chartTypes}/types.ts +0 -0
- /package/src/{indicators → features/indicators}/__tests__/maFamily.test.ts +0 -0
- /package/src/{indicators → features/indicators}/__tests__/oscillators.test.ts +0 -0
- /package/src/{indicators → features/indicators}/index.ts +0 -0
- /package/src/{input → features/input}/index.ts +0 -0
- /package/src/{mcp → features/mcp}/index.ts +0 -0
- /package/src/{mcp → features/mcp}/types.ts +0 -0
- /package/src/{replay → features/replay}/__tests__/controller.test.ts +0 -0
- /package/src/{replay → features/replay}/__tests__/timeline.test.ts +0 -0
- /package/src/{replay → features/replay}/index.ts +0 -0
- /package/src/{replay → features/replay}/timeline.ts +0 -0
- /package/src/{semantic → features/semantic}/__tests__/controller.test.ts +0 -0
- /package/src/{semantic → features/semantic}/drawShape.ts +0 -0
- /package/src/{semantic → features/semantic}/schema.json +0 -0
- /package/src/{plugin → foundation/plugin}/ConfigManager.ts +0 -0
- /package/src/{plugin → foundation/plugin}/EventBus.ts +0 -0
- /package/src/{plugin → foundation/plugin}/HookSystem.ts +0 -0
- /package/src/{plugin → foundation/plugin}/StateStore.ts +0 -0
- /package/src/{plugin → foundation/plugin}/index.ts +0 -0
- /package/src/{plugin → foundation/plugin}/stateKeys.ts +0 -0
- /package/src/{tokens → foundation/tokens}/__tests__/__snapshots__/baseline.test.ts.snap +0 -0
- /package/src/{tokens → foundation/tokens}/__tests__/baseline.test.ts +0 -0
- /package/src/{tokens → foundation/tokens}/__tests__/themeToCssVars.test.ts +0 -0
- /package/src/{tokens → foundation/tokens}/__tests__/tokens.test.ts +0 -0
- /package/src/{tokens → foundation/tokens}/colorPresetSettings.ts +0 -0
- /package/src/{engine/theme → foundation/tokens}/fonts.ts +0 -0
- /package/src/{tokens → foundation/tokens}/index.ts +0 -0
- /package/src/{tokens → foundation/tokens}/mergeTheme.ts +0 -0
- /package/src/{tokens → foundation/tokens}/theme-base.ts +0 -0
- /package/src/{tokens → foundation/tokens}/theme-dark.ts +0 -0
- /package/src/{tokens → foundation/tokens}/theme-light.ts +0 -0
- /package/src/{tokens → foundation/tokens}/types.ts +0 -0
- /package/src/{types → foundation/types}/volumePrice.ts +0 -0
- /package/src/{utils → foundation/utils}/__tests__/dateFormat.test.ts +0 -0
- /package/src/{utils → foundation/utils}/dateFormat.ts +0 -0
- /package/src/{engine/draw → foundation/utils}/pixelAlign.ts +0 -0
- /package/src/{utils → foundation/utils}/priceToY.ts +0 -0
- /package/src/{utils → foundation/utils}/uuid.ts +0 -0
- /package/src/{utils → foundation/utils}/volumePrice.ts +0 -0
- /package/src/{render → rendering/render}/Renderer.ts +0 -0
- /package/src/{render → rendering/render}/SurfaceBackend.ts +0 -0
- /package/src/{render → rendering/render}/__tests__/contract.test.ts +0 -0
- /package/src/{render → rendering/render}/__tests__/webglRenderer.fallback.test.ts +0 -0
- /package/src/{render → rendering/render}/__tests__/webglSurfaceBackend.test.ts +0 -0
- /package/src/{render → rendering/render}/index.ts +0 -0
- /package/src/{renderer-tier → rendering/renderer-tier}/index.ts +0 -0
- /package/src/{renderer-tier → rendering/renderer-tier}/types.ts +0 -0
- /package/src/{scene → rendering/scene}/__tests__/layerRegistry.test.ts +0 -0
- /package/src/{scene → rendering/scene}/__tests__/scene.test.ts +0 -0
- /package/src/{scene → rendering/scene}/index.ts +0 -0
- /package/src/{scheduler → rendering/scheduler}/index.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../../src/features/input/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAe,MAAM,mCAAmC,CAAA;AAiG7E,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,KAAK;IACL,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,OAAO;CACR,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAA;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,IAAI,WAAW,GAAG,KAAK,CAAA;IACvB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAClC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC7B,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,QAAQ,KAAK,EAAE,CAAC;gBACd,KAAK,KAAK;oBACR,WAAW,GAAG,IAAI,CAAA;oBAClB,MAAK;gBACP,KAAK,MAAM,CAAC;gBACZ,KAAK,SAAS;oBACZ,OAAO,GAAG,IAAI,CAAA;oBACd,MAAK;gBACP,KAAK,MAAM,CAAC;gBACZ,KAAK,KAAK,CAAC;gBACX,KAAK,SAAS;oBACZ,OAAO,GAAG,IAAI,CAAA;oBACd,MAAK;gBACP,KAAK,KAAK,CAAC;gBACX,KAAK,QAAQ;oBACX,MAAM,GAAG,IAAI,CAAA;oBACb,MAAK;gBACP,KAAK,OAAO;oBACV,QAAQ,GAAG,IAAI,CAAA;oBACf,MAAK;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,yCAAyC,CAChG,CAAA;YACH,CAAC;YACD,QAAQ,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,6BAA6B,CACnE,CAAA;IACH,CAAC;IACD,OAAO;QACL,GAAG,EAAE,QAAQ;QACb,WAAW;QACX,OAAO;QACP,OAAO;QACP,MAAM;QACN,QAAQ;KACT,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,CAAC,CAAC,WAAW;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,CAAC,CAAC,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/B,IAAI,CAAC,CAAC,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,IAAI,CAAC,CAAC,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAC1D,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAS,cAAc;IACrB,MAAM,GAAG,GAAI,UAAwE,CAAC,SAAS,CAAA;IAC/F,MAAM,QAAQ,GAAG,GAAG,EAAE,QAAQ,IAAI,GAAG,EAAE,SAAS,IAAI,EAAE,CAAA;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AAChD,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,UAAU,sBAAsB,CAAC,IAA8B;IACnE,MAAM,aAAa,GACjB,IAAI,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,KAAK,CAAA;IAErF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAA;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAC,iBAAiB;IACxD,MAAM,SAAS,GAAG,YAAY,CAA6B,EAAE,CAAC,CAAA;IAC9D,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,SAAS,OAAO;QACd,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,SAAS,QAAQ,CAAQ,GAAuB;QAC9C,IAAI,QAAQ;YAAE,OAAM;QACpB,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,8DAA8D,CAC/D,CAAA;QACH,CAAC;QACD,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,eAAe,CACvB,eAAe,EACf,oCAAoC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,yCAAyC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACrL,CAAA;QACH,CAAC;QACD,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC/D,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACnC,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,GAAkB,CAAC,CAAA;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS,UAAU,CAAC,EAAU;QAC5B,IAAI,QAAQ;YAAE,OAAM;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC9B,IAAI,SAAS,KAAK,SAAS;YAAE,OAAM;QACnC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,EAAE,CAAA;IACX,CAAC;IAED,SAAS,WAAW,CAAC,KAAa;QAChC,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAA;QACzB,OAAO,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAA;IACvD,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAwB;QACnD,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAA;QACzB,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpC,6DAA6D;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW;gBAC9B,CAAC,CAAC,aAAa;oBACb,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;oBACjC,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;gBACnC,CAAC,CAAC,IAAI,CAAA;YACR,IAAI,CAAC,KAAK;gBAAE,SAAQ;YACpB,+DAA+D;YAC/D,0DAA0D;YAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW;gBAC/B,CAAC,CAAC,CAAC,aAAa;oBACd,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;gBACpC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAA;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW;gBAC/B,CAAC,CAAC,aAAa;oBACb,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;gBACpC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAA;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAA;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAA;YAClD,gEAAgE;YAChE,oCAAoC;YACpC,MAAM,KAAK,GACT,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;gBACtD,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAA;YAC9B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;gBAAE,SAAQ;YAChE,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBAAE,SAAQ;YACnD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,OAAO,cAAc,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS,OAAO;QACd,IAAI,QAAQ;YAAE,OAAM;QACpB,QAAQ,GAAG,IAAI,CAAA;QACf,WAAW,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,OAAO;QACL,SAAS;QACT,QAAQ;QACR,UAAU;QACV,WAAW;QACX,mBAAmB;QACnB,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartBridge.d.ts","sourceRoot":"","sources":["../../../src/features/mcp/chartBridge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAwB,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE3F,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,eAAe,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,SAAS,CAAA;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,cAAc,GAAG,OAAO,GAAG,cAAc,CAAA;AAEtF,KAAK,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAElD,qBAAa,WAAW;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,SAAS,CAAmD;IAEpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;gBAEd,OAAO,EAAE,kBAAkB;IAWvC,OAAO,CAAC,KAAK,CAAQ;IAEf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgE9B,UAAU,IAAI,IAAI;IAOlB,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,aAAa;YAmBP,gBAAgB;IAU9B,OAAO,CAAC,UAAU;IAUlB,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,GAAG,IAAI;IAU1E,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,IAAI;IAIZ,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IAQhE,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;CAG5D"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { Effect, Fiber, pipe, Schedule } from 'effect';
|
|
2
|
+
import { KLineChartError } from '../../errors';
|
|
3
|
+
import { generateUUID } from '../../foundation/utils/uuid';
|
|
4
|
+
export class ChartBridge {
|
|
5
|
+
sessionId;
|
|
6
|
+
autoReconnect;
|
|
7
|
+
reconnectDelay;
|
|
8
|
+
maxReconnectDelay;
|
|
9
|
+
heartbeatInterval;
|
|
10
|
+
onToolCall;
|
|
11
|
+
wsImpl;
|
|
12
|
+
ws = null;
|
|
13
|
+
_heartbeatFiber = null;
|
|
14
|
+
_reconnectFiber = null;
|
|
15
|
+
_reconnectAttempt = 0;
|
|
16
|
+
destroyed = false;
|
|
17
|
+
listeners = new Map();
|
|
18
|
+
onConnected;
|
|
19
|
+
onDisconnected;
|
|
20
|
+
onError;
|
|
21
|
+
onStateChange;
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.sessionId = options.sessionId ?? generateUUID();
|
|
24
|
+
this.autoReconnect = options.autoReconnect ?? true;
|
|
25
|
+
this.reconnectDelay = options.reconnectDelay ?? 3000;
|
|
26
|
+
this.maxReconnectDelay = options.maxReconnectDelay ?? 30_000;
|
|
27
|
+
this.heartbeatInterval = options.heartbeatInterval ?? 30_000;
|
|
28
|
+
this.onToolCall = options.onToolCall;
|
|
29
|
+
this.wsImpl = options.wsImpl ?? WebSocket;
|
|
30
|
+
this.wsUrl = options.wsUrl;
|
|
31
|
+
}
|
|
32
|
+
wsUrl;
|
|
33
|
+
async connect() {
|
|
34
|
+
if (this.destroyed)
|
|
35
|
+
return;
|
|
36
|
+
this.disconnect();
|
|
37
|
+
await Effect.runPromise(pipe(Effect.async((resume) => {
|
|
38
|
+
try {
|
|
39
|
+
const ws = new this.wsImpl(this.wsUrl);
|
|
40
|
+
ws.onopen = () => {
|
|
41
|
+
this._reconnectAttempt = 0;
|
|
42
|
+
this.ws = ws;
|
|
43
|
+
console.info(`[ChartBridge] WS opened → sending register (sessionId=${this.sessionId})`);
|
|
44
|
+
ws.send(JSON.stringify({ type: 'register', sessionId: this.sessionId }));
|
|
45
|
+
this.startHeartbeat();
|
|
46
|
+
this.onConnected?.();
|
|
47
|
+
this.emit('connected');
|
|
48
|
+
resume(Effect.succeed(undefined));
|
|
49
|
+
};
|
|
50
|
+
ws.onmessage = (event) => {
|
|
51
|
+
let msg;
|
|
52
|
+
try {
|
|
53
|
+
msg = JSON.parse(event.data);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.handleMessage(msg);
|
|
59
|
+
};
|
|
60
|
+
ws.onclose = () => {
|
|
61
|
+
console.warn(`[ChartBridge] WS closed, autoReconnect=${this.autoReconnect}`);
|
|
62
|
+
this.ws = null;
|
|
63
|
+
this.stopHeartbeat();
|
|
64
|
+
this.onDisconnected?.();
|
|
65
|
+
this.emit('disconnected');
|
|
66
|
+
if (this.autoReconnect && !this.destroyed) {
|
|
67
|
+
this.scheduleReconnect();
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
ws.onerror = () => {
|
|
71
|
+
console.error(`[ChartBridge] WS error — connection failed`);
|
|
72
|
+
const err = new KLineChartError('FETCH_FAILED', 'WebSocket connection failed');
|
|
73
|
+
this.onError?.(err);
|
|
74
|
+
this.emit('error', err);
|
|
75
|
+
resume(Effect.fail(err));
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
resume(Effect.fail(err));
|
|
80
|
+
}
|
|
81
|
+
}), Effect.timeout('15 seconds'), Effect.mapError((err) => {
|
|
82
|
+
if (err instanceof KLineChartError)
|
|
83
|
+
return err;
|
|
84
|
+
return new KLineChartError('FETCH_FAILED', `Connection failed: ${String(err)}`);
|
|
85
|
+
})));
|
|
86
|
+
}
|
|
87
|
+
disconnect() {
|
|
88
|
+
this.ws?.close();
|
|
89
|
+
this.ws = null;
|
|
90
|
+
this.cancelReconnect();
|
|
91
|
+
this.stopHeartbeat();
|
|
92
|
+
}
|
|
93
|
+
destroy() {
|
|
94
|
+
this.destroyed = true;
|
|
95
|
+
this._reconnectAttempt = 0;
|
|
96
|
+
this.disconnect();
|
|
97
|
+
this.listeners.clear();
|
|
98
|
+
}
|
|
99
|
+
handleMessage(msg) {
|
|
100
|
+
switch (msg.type) {
|
|
101
|
+
case 'registered':
|
|
102
|
+
break;
|
|
103
|
+
case 'tool:call': {
|
|
104
|
+
const call = msg.call;
|
|
105
|
+
const requestId = msg.requestId;
|
|
106
|
+
this.dispatchToolCall(requestId, call);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
case 'ping': {
|
|
110
|
+
this.ws?.send(JSON.stringify({ type: 'pong' }));
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async dispatchToolCall(requestId, call) {
|
|
116
|
+
const result = await this.onToolCall(call);
|
|
117
|
+
this.sendResult(requestId, result);
|
|
118
|
+
if (this.onStateChange) {
|
|
119
|
+
this.onStateChange();
|
|
120
|
+
}
|
|
121
|
+
this.emit('stateChanged');
|
|
122
|
+
}
|
|
123
|
+
sendResult(requestId, result) {
|
|
124
|
+
this.ws?.send(JSON.stringify({
|
|
125
|
+
type: 'tool:result',
|
|
126
|
+
requestId,
|
|
127
|
+
result,
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
sendStateUpdate(descriptions) {
|
|
131
|
+
this.ws?.send(JSON.stringify({
|
|
132
|
+
type: 'state:update',
|
|
133
|
+
sessionId: this.sessionId,
|
|
134
|
+
descriptions,
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
startHeartbeat() {
|
|
138
|
+
this.stopHeartbeat();
|
|
139
|
+
this._heartbeatFiber = Effect.runFork(pipe(Effect.repeat(Effect.sync(() => {
|
|
140
|
+
if (this.ws?.readyState === 1) {
|
|
141
|
+
this.ws.send(JSON.stringify({ type: 'ping' }));
|
|
142
|
+
}
|
|
143
|
+
}), Schedule.fixed(this.heartbeatInterval)), Effect.asVoid));
|
|
144
|
+
}
|
|
145
|
+
stopHeartbeat() {
|
|
146
|
+
if (this._heartbeatFiber) {
|
|
147
|
+
Fiber.interrupt(this._heartbeatFiber);
|
|
148
|
+
this._heartbeatFiber = null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
scheduleReconnect() {
|
|
152
|
+
this.cancelReconnect();
|
|
153
|
+
const attempt = this._reconnectAttempt;
|
|
154
|
+
this._reconnectAttempt = attempt + 1;
|
|
155
|
+
const base = this.reconnectDelay;
|
|
156
|
+
const exponential = Math.min(base * Math.pow(2, attempt), this.maxReconnectDelay);
|
|
157
|
+
const jitter = 0.5 + Math.random() * 0.5;
|
|
158
|
+
const delay = Math.round(exponential * jitter);
|
|
159
|
+
this._reconnectFiber = Effect.runFork(pipe(Effect.sleep(delay), Effect.tap(() => Effect.sync(() => {
|
|
160
|
+
if (!this.destroyed) {
|
|
161
|
+
console.info(`[ChartBridge] reconnect scheduled in ${delay}ms (attempt ${attempt + 1})`);
|
|
162
|
+
this.connect().catch(() => { });
|
|
163
|
+
}
|
|
164
|
+
}))));
|
|
165
|
+
}
|
|
166
|
+
cancelReconnect() {
|
|
167
|
+
if (this._reconnectFiber) {
|
|
168
|
+
Fiber.interrupt(this._reconnectFiber);
|
|
169
|
+
this._reconnectFiber = null;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
emit(event, ...args) {
|
|
173
|
+
this.listeners.get(event)?.forEach((fn) => fn(...args));
|
|
174
|
+
}
|
|
175
|
+
on(event, handler) {
|
|
176
|
+
if (!this.listeners.has(event)) {
|
|
177
|
+
this.listeners.set(event, new Set());
|
|
178
|
+
}
|
|
179
|
+
this.listeners.get(event).add(handler);
|
|
180
|
+
return () => this.listeners.get(event)?.delete(handler);
|
|
181
|
+
}
|
|
182
|
+
off(event, handler) {
|
|
183
|
+
this.listeners.get(event)?.delete(handler);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=chartBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartBridge.js","sourceRoot":"","sources":["../../../src/features/mcp/chartBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC3F,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkD,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/mcp/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAElF,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAA;IACjE,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/mcp/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createReplayController.d.ts","sourceRoot":"","sources":["../../../src/features/replay/createReplayController.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EAIrB,MAAM,SAAS,CAAA;AAwDhB,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CA8MpF"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { KLineChartError } from '../../errors';
|
|
2
|
+
/**
|
|
3
|
+
* createReplayController — framework-agnostic Bar Replay state machine.
|
|
4
|
+
*
|
|
5
|
+
* Owns: position, mode, pacing, speed, [start, end] range.
|
|
6
|
+
* Doesn't own: the data series, the calendar, the frame loop. Those are
|
|
7
|
+
* supplied by the surrounding chart adapter.
|
|
8
|
+
*
|
|
9
|
+
* Why we expose it via a single `state` signal (rather than five separate
|
|
10
|
+
* signals): every replay mutation is a transaction over the playhead — the
|
|
11
|
+
* mode flip on auto-pause, the clamp on `setRange`, etc. Emitting a single
|
|
12
|
+
* snapshot keeps subscribers (React/Vue) from rendering intermediate states.
|
|
13
|
+
*
|
|
14
|
+
* Open design question (deferred from v1):
|
|
15
|
+
* Should "reverse play" (speed < 0) be supported in v2?
|
|
16
|
+
* The cleanest extension is to drop the `speed <= 0` guard, accept negative
|
|
17
|
+
* multipliers in `tick()` math (already symmetric), and add an
|
|
18
|
+
* `autoStartReached` clamp that mirrors `autoEndReached`. The on-disk
|
|
19
|
+
* contract (the `ReplayState` shape) does not need to change. We defer it
|
|
20
|
+
* because reverse playback is meaningless for live-data sessions and the
|
|
21
|
+
* indicator runtime currently assumes monotonic time — flipping that
|
|
22
|
+
* assumption is a larger cross-package change than this PR.
|
|
23
|
+
*/
|
|
24
|
+
import { createSignal } from '../../foundation/reactivity/signal';
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Constants
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/** Default bar interval used by wall-clock pacing when the host did not
|
|
29
|
+
* supply one via `init.barIntervalMs`. Picked to match the most common
|
|
30
|
+
* intraday chart (1-minute bars). */
|
|
31
|
+
const DEFAULT_BAR_INTERVAL_MS = 60_000;
|
|
32
|
+
/** For `tick` pacing, this is the nominal wall-time spent on one bar at
|
|
33
|
+
* speed=1. 100ms means a 60-bar tick replay takes 6 seconds at 1x — fast
|
|
34
|
+
* enough to feel like "tick playback", slow enough to follow visually. */
|
|
35
|
+
const TICK_PACING_MS_PER_BAR = 100;
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
// Helpers
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
function clamp(value, lo, hi) {
|
|
40
|
+
if (value < lo)
|
|
41
|
+
return lo;
|
|
42
|
+
if (value > hi)
|
|
43
|
+
return hi;
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
function assertValidRange(start, end) {
|
|
47
|
+
if (!Number.isFinite(start) || !Number.isFinite(end)) {
|
|
48
|
+
throw new KLineChartError('REPLAY_CONFIG_INVALID', `Replay range must be finite numbers: got start=${String(start)}, end=${String(end)}`);
|
|
49
|
+
}
|
|
50
|
+
if (end < start) {
|
|
51
|
+
throw new KLineChartError('REPLAY_CONFIG_INVALID', `Replay range end (${end}) must be >= start (${start})`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function assertValidSpeed(speed) {
|
|
55
|
+
if (!Number.isFinite(speed) || speed <= 0) {
|
|
56
|
+
// Reverse playback (negative speed) is deliberately rejected in v1.
|
|
57
|
+
// See the header comment for the extension path.
|
|
58
|
+
throw new KLineChartError('REPLAY_CONFIG_INVALID', `Replay speed must be a positive finite number; got ${String(speed)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
// Factory
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
export function createReplayController(init) {
|
|
65
|
+
// -------------------------------------------------------------------
|
|
66
|
+
// Initial state — validate eagerly so misconfiguration surfaces at
|
|
67
|
+
// construction rather than on first tick.
|
|
68
|
+
// -------------------------------------------------------------------
|
|
69
|
+
const start = init?.start ?? 0;
|
|
70
|
+
const end = init?.end ?? 0;
|
|
71
|
+
assertValidRange(start, end);
|
|
72
|
+
const pacing = init?.pacing ?? 'bar';
|
|
73
|
+
const speed = init?.speed ?? 1;
|
|
74
|
+
assertValidSpeed(speed);
|
|
75
|
+
const barIntervalMs = init?.barIntervalMs ?? DEFAULT_BAR_INTERVAL_MS;
|
|
76
|
+
if (!Number.isFinite(barIntervalMs) || barIntervalMs <= 0) {
|
|
77
|
+
throw new KLineChartError('REPLAY_CONFIG_INVALID', `barIntervalMs must be a positive finite number; got ${String(barIntervalMs)}`);
|
|
78
|
+
}
|
|
79
|
+
const state = createSignal({
|
|
80
|
+
position: start,
|
|
81
|
+
start,
|
|
82
|
+
end,
|
|
83
|
+
mode: 'paused',
|
|
84
|
+
pacing,
|
|
85
|
+
speed,
|
|
86
|
+
});
|
|
87
|
+
// -------------------------------------------------------------------
|
|
88
|
+
// Internal commit helper. All mutations funnel through here so the
|
|
89
|
+
// immutability invariant and auto-pause check live in one place.
|
|
90
|
+
// -------------------------------------------------------------------
|
|
91
|
+
function commit(patch) {
|
|
92
|
+
const prev = state.peek();
|
|
93
|
+
const next = { ...prev, ...patch };
|
|
94
|
+
// Re-clamp position whenever it or the range changed.
|
|
95
|
+
if (patch.position !== undefined || patch.start !== undefined || patch.end !== undefined) {
|
|
96
|
+
next.position = clamp(next.position, next.start, next.end);
|
|
97
|
+
}
|
|
98
|
+
// Auto-pause when the playhead arrives at the right edge while
|
|
99
|
+
// playing. This is the natural end-of-tape transition; without it,
|
|
100
|
+
// the frame loop would happily tick forever against a clamped
|
|
101
|
+
// value and waste battery.
|
|
102
|
+
if (next.mode === 'playing' && next.position >= next.end) {
|
|
103
|
+
next.position = next.end;
|
|
104
|
+
next.mode = 'paused';
|
|
105
|
+
}
|
|
106
|
+
// Object.is short-circuits identical structural snapshots so a
|
|
107
|
+
// no-op commit (e.g. seekTo(currentPosition)) doesn't notify.
|
|
108
|
+
if (prev.position === next.position &&
|
|
109
|
+
prev.start === next.start &&
|
|
110
|
+
prev.end === next.end &&
|
|
111
|
+
prev.mode === next.mode &&
|
|
112
|
+
prev.pacing === next.pacing &&
|
|
113
|
+
prev.speed === next.speed) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
state.set(next);
|
|
117
|
+
}
|
|
118
|
+
// -------------------------------------------------------------------
|
|
119
|
+
// Public mutators
|
|
120
|
+
// -------------------------------------------------------------------
|
|
121
|
+
function setRange(nextStart, nextEnd) {
|
|
122
|
+
assertValidRange(nextStart, nextEnd);
|
|
123
|
+
commit({ start: nextStart, end: nextEnd });
|
|
124
|
+
}
|
|
125
|
+
function seekTo(position) {
|
|
126
|
+
if (!Number.isFinite(position))
|
|
127
|
+
return;
|
|
128
|
+
commit({ position });
|
|
129
|
+
}
|
|
130
|
+
function seekBy(delta) {
|
|
131
|
+
if (!Number.isFinite(delta))
|
|
132
|
+
return;
|
|
133
|
+
const cur = state.peek().position;
|
|
134
|
+
commit({ position: cur + delta });
|
|
135
|
+
}
|
|
136
|
+
function stepForward() {
|
|
137
|
+
seekBy(1);
|
|
138
|
+
}
|
|
139
|
+
function stepBackward() {
|
|
140
|
+
seekBy(-1);
|
|
141
|
+
}
|
|
142
|
+
function play() {
|
|
143
|
+
const cur = state.peek();
|
|
144
|
+
// If we're already at the end, calling play() should not flip to
|
|
145
|
+
// 'playing' only to immediately auto-pause — that would be a
|
|
146
|
+
// confusing observable transition for subscribers. Stay paused.
|
|
147
|
+
if (cur.position >= cur.end)
|
|
148
|
+
return;
|
|
149
|
+
commit({ mode: 'playing' });
|
|
150
|
+
}
|
|
151
|
+
function pause() {
|
|
152
|
+
commit({ mode: 'paused' });
|
|
153
|
+
}
|
|
154
|
+
function toggle() {
|
|
155
|
+
const cur = state.peek();
|
|
156
|
+
if (cur.mode === 'playing') {
|
|
157
|
+
pause();
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
play();
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function setPacing(p) {
|
|
164
|
+
commit({ pacing: p });
|
|
165
|
+
}
|
|
166
|
+
function setSpeed(s) {
|
|
167
|
+
assertValidSpeed(s);
|
|
168
|
+
commit({ speed: s });
|
|
169
|
+
}
|
|
170
|
+
// -------------------------------------------------------------------
|
|
171
|
+
// Frame-loop driver
|
|
172
|
+
//
|
|
173
|
+
// `tick()` is deliberately stateless w.r.t. internal clock
|
|
174
|
+
// accumulation: each call applies the full advance derived from
|
|
175
|
+
// `deltaMs` directly to `position`. We DO carry fractional position
|
|
176
|
+
// values forward through the signal itself, so sub-bar progress is
|
|
177
|
+
// visible to subscribers (useful for smooth scrubbing animations and
|
|
178
|
+
// for sub-bar interpolation in the renderer).
|
|
179
|
+
//
|
|
180
|
+
// Rationale: a stateful internal accumulator would hide state from
|
|
181
|
+
// the signal, defeating the "fully observable" property that
|
|
182
|
+
// distinguishes us from TradingView. Anyone driving the controller
|
|
183
|
+
// can save/restore the entire replay session by snapshotting the
|
|
184
|
+
// state signal — no hidden bookkeeping.
|
|
185
|
+
// -------------------------------------------------------------------
|
|
186
|
+
function tick(deltaMs) {
|
|
187
|
+
if (!Number.isFinite(deltaMs) || deltaMs <= 0)
|
|
188
|
+
return false;
|
|
189
|
+
const cur = state.peek();
|
|
190
|
+
if (cur.mode !== 'playing')
|
|
191
|
+
return false;
|
|
192
|
+
let advance = 0;
|
|
193
|
+
switch (cur.pacing) {
|
|
194
|
+
case 'bar':
|
|
195
|
+
// Bar pacing is keyboard-driven: tick() never auto-advances.
|
|
196
|
+
return false;
|
|
197
|
+
case 'wallclock':
|
|
198
|
+
advance = (deltaMs / barIntervalMs) * cur.speed;
|
|
199
|
+
break;
|
|
200
|
+
case 'tick':
|
|
201
|
+
advance = (deltaMs / TICK_PACING_MS_PER_BAR) * cur.speed;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
if (advance === 0)
|
|
205
|
+
return false;
|
|
206
|
+
const prevPosition = cur.position;
|
|
207
|
+
commit({ position: cur.position + advance });
|
|
208
|
+
// commit() may have clamped or auto-paused; the only way position
|
|
209
|
+
// genuinely did not change is if we were already at end and the
|
|
210
|
+
// clamp swallowed the advance.
|
|
211
|
+
return state.peek().position !== prevPosition;
|
|
212
|
+
}
|
|
213
|
+
// -------------------------------------------------------------------
|
|
214
|
+
// Disposal — same guard pattern as createIndicatorSelectorController.
|
|
215
|
+
// -------------------------------------------------------------------
|
|
216
|
+
let disposed = false;
|
|
217
|
+
function dispose() {
|
|
218
|
+
if (disposed)
|
|
219
|
+
return;
|
|
220
|
+
disposed = true;
|
|
221
|
+
}
|
|
222
|
+
function guard(fn) {
|
|
223
|
+
return (...args) => {
|
|
224
|
+
if (disposed)
|
|
225
|
+
return undefined;
|
|
226
|
+
return fn(...args);
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
state,
|
|
231
|
+
setRange: guard(setRange),
|
|
232
|
+
seekTo: guard(seekTo),
|
|
233
|
+
seekBy: guard(seekBy),
|
|
234
|
+
stepForward: guard(stepForward),
|
|
235
|
+
stepBackward: guard(stepBackward),
|
|
236
|
+
play: guard(play),
|
|
237
|
+
pause: guard(pause),
|
|
238
|
+
toggle: guard(toggle),
|
|
239
|
+
setPacing: guard(setPacing),
|
|
240
|
+
setSpeed: guard(setSpeed),
|
|
241
|
+
tick: (deltaMs) => {
|
|
242
|
+
if (disposed)
|
|
243
|
+
return false;
|
|
244
|
+
return tick(deltaMs);
|
|
245
|
+
},
|
|
246
|
+
dispose,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=createReplayController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createReplayController.js","sourceRoot":"","sources":["../../../src/features/replay/createReplayController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/replay/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACzF,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/replay/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../src/features/replay/timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;+DAC+D;AAC/D,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAE/C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO1F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsBpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAkBvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/features/replay/timeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bar Replay — public types.
|
|
3
|
+
*
|
|
4
|
+
* The replay subsystem models a playhead that scrubs through a finite bar
|
|
5
|
+
* series. Three pacing strategies are supported:
|
|
6
|
+
*
|
|
7
|
+
* - `bar` step-by-bar; `tick()` is a no-op, callers drive position
|
|
8
|
+
* via `stepForward` / `stepBackward` (keyboard-driven).
|
|
9
|
+
* - `wallclock` real-time playback; `tick(deltaMs)` advances by
|
|
10
|
+
* `(deltaMs / msPerBar) * speed` bars. `speed` is a
|
|
11
|
+
* multiplier (1 = realtime, 10 = 10x).
|
|
12
|
+
* - `tick` synthetic tick replay; `tick(deltaMs)` advances by
|
|
13
|
+
* `(deltaMs / 100) * speed` bars (100ms per nominal step).
|
|
14
|
+
*
|
|
15
|
+
* Why this matters: TradingView's Bar Replay is wall-clock only and hides its
|
|
16
|
+
* state. Ours is observable via the `state` signal — any backtest engine,
|
|
17
|
+
* recording session, or sibling controller can subscribe and react to
|
|
18
|
+
* playhead changes deterministically.
|
|
19
|
+
*/
|
|
20
|
+
import type { Signal } from '../../foundation/reactivity/signal';
|
|
21
|
+
export type ReplayMode = 'paused' | 'playing';
|
|
22
|
+
export type ReplayPacing = 'bar' | 'wallclock' | 'tick';
|
|
23
|
+
export interface ReplayState {
|
|
24
|
+
/** Position in the full data series; fractional values are allowed and
|
|
25
|
+
* represent sub-bar progress for wall-clock / tick pacing. Callers that
|
|
26
|
+
* need an integer bar index should `Math.floor(position)`. */
|
|
27
|
+
position: number;
|
|
28
|
+
/** Inclusive lower bound of the playhead (clamp floor). */
|
|
29
|
+
start: number;
|
|
30
|
+
/** Inclusive upper bound of the playhead (clamp ceiling). Typically
|
|
31
|
+
* `totalBars - 1`. */
|
|
32
|
+
end: number;
|
|
33
|
+
mode: ReplayMode;
|
|
34
|
+
pacing: ReplayPacing;
|
|
35
|
+
/** Pacing-dependent rate:
|
|
36
|
+
* - `wallclock`: multiplier (1.0 = realtime).
|
|
37
|
+
* - `bar`: reserved; ignored by `tick()`.
|
|
38
|
+
* - `tick`: multiplier (1.0 = 1 bar per 100ms). */
|
|
39
|
+
speed: number;
|
|
40
|
+
}
|
|
41
|
+
export interface ReplayControllerInit {
|
|
42
|
+
start?: number;
|
|
43
|
+
end?: number;
|
|
44
|
+
pacing?: ReplayPacing;
|
|
45
|
+
speed?: number;
|
|
46
|
+
/** Bar interval in milliseconds. Used by wall-clock pacing to compute
|
|
47
|
+
* how many bars one wall-second represents. Defaults to 60_000 (1m). */
|
|
48
|
+
barIntervalMs?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface ReplayController {
|
|
51
|
+
/** Reactive view of the entire replay state. Subscribers fire after any
|
|
52
|
+
* mutation that changes the state object (Object.is equality). */
|
|
53
|
+
readonly state: Signal<ReplayState>;
|
|
54
|
+
/** Set the inclusive `[start, end]` range. The current position is
|
|
55
|
+
* re-clamped into the new range. Throws if `end < start`. */
|
|
56
|
+
setRange(start: number, end: number): void;
|
|
57
|
+
/** Seek the playhead to an absolute position; clamped to `[start, end]`. */
|
|
58
|
+
seekTo(position: number): void;
|
|
59
|
+
/** Seek by a relative delta; clamped to `[start, end]`. */
|
|
60
|
+
seekBy(delta: number): void;
|
|
61
|
+
/** Advance exactly one bar (`position += 1`), clamped to `end`. If the
|
|
62
|
+
* step lands on `end`, mode transitions to `paused`. */
|
|
63
|
+
stepForward(): void;
|
|
64
|
+
/** Retreat exactly one bar (`position -= 1`), clamped to `start`. */
|
|
65
|
+
stepBackward(): void;
|
|
66
|
+
/** Begin playback from the current position using the configured
|
|
67
|
+
* pacing/speed. If already at `end`, this is a no-op. */
|
|
68
|
+
play(): void;
|
|
69
|
+
pause(): void;
|
|
70
|
+
/** Toggle between `playing` and `paused`. */
|
|
71
|
+
toggle(): void;
|
|
72
|
+
setPacing(p: ReplayPacing): void;
|
|
73
|
+
/** Set the speed multiplier. Throws on `speed <= 0` (reverse play not
|
|
74
|
+
* supported in v1 — see Open Question in the controller header). */
|
|
75
|
+
setSpeed(s: number): void;
|
|
76
|
+
/** Frame-loop hook. The chart's render loop calls this with the elapsed
|
|
77
|
+
* wall-clock time since the last frame; the controller decides whether
|
|
78
|
+
* to advance `position` based on `mode`, `pacing`, and `speed`.
|
|
79
|
+
*
|
|
80
|
+
* Returns `true` if `position` (and therefore `state`) changed, so the
|
|
81
|
+
* caller can request a re-render. Returns `false` for no-op frames
|
|
82
|
+
* (paused, bar-pacing, or sub-bar accumulation that didn't cross a
|
|
83
|
+
* whole-bar boundary — though in this v1 we keep `tick()` stateless and
|
|
84
|
+
* always commit the fractional advance, so any non-zero advance returns
|
|
85
|
+
* `true`). */
|
|
86
|
+
tick(deltaMs: number): boolean;
|
|
87
|
+
/** Tear down. After `dispose()`, all mutators become silent no-ops and
|
|
88
|
+
* the `state` signal stops emitting. */
|
|
89
|
+
dispose(): void;
|
|
90
|
+
}
|
|
91
|
+
/** Factory shape — matches the exported function. Re-stated here so callers
|
|
92
|
+
* importing only the types file can type-check controller construction. */
|
|
93
|
+
export type CreateReplayController = (init?: ReplayControllerInit) => ReplayController;
|
|
94
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/replay/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAA;AAEhE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC7C,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAA;AAEvD,MAAM,WAAW,WAAW;IAC1B;;mEAE+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb;2BACuB;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB;;;6DAGyD;IACzD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;6EACyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B;uEACmE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;IAEnC;kEAC8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAE1C,4EAA4E;IAC5E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,2DAA2D;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;6DACyD;IACzD,WAAW,IAAI,IAAI,CAAA;IACnB,qEAAqE;IACrE,YAAY,IAAI,IAAI,CAAA;IAEpB;8DAC0D;IAC1D,IAAI,IAAI,IAAI,CAAA;IACZ,KAAK,IAAI,IAAI,CAAA;IACb,6CAA6C;IAC7C,MAAM,IAAI,IAAI,CAAA;IAEd,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAChC;yEACqE;IACrE,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB;;;;;;;;;mBASe;IACf,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IAE9B;6CACyC;IACzC,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;4EAC4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,CAAC,EAAE,oBAAoB,KAAK,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/replay/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|