@tradecanvas/core 1.4.0 → 1.10.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 +107 -107
- package/dist/WebGLSeriesRenderer-DQOPCwno.js +1643 -0
- package/dist/WebGLSeriesRenderer-DQOPCwno.js.map +1 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs +429 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs.map +1 -0
- package/dist/axis/GridRenderer.d.ts.map +1 -1
- package/dist/axis/PriceAxis.d.ts +12 -1
- package/dist/axis/PriceAxis.d.ts.map +1 -1
- package/dist/axis/TimeAxis.d.ts +7 -4
- package/dist/axis/TimeAxis.d.ts.map +1 -1
- package/dist/axis/gridLines.d.ts +9 -0
- package/dist/axis/gridLines.d.ts.map +1 -0
- package/dist/charts/BarRenderer.d.ts.map +1 -1
- package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
- package/dist/charts/CompareRenderer.d.ts +21 -4
- package/dist/charts/CompareRenderer.d.ts.map +1 -1
- package/dist/charts/HiLoRenderer.d.ts +14 -0
- package/dist/charts/HiLoRenderer.d.ts.map +1 -0
- package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
- package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeRenderer.d.ts +6 -3
- package/dist/charts/VolumeRenderer.d.ts.map +1 -1
- package/dist/charts/denseBars.d.ts +28 -0
- package/dist/charts/denseBars.d.ts.map +1 -0
- package/dist/charts/index.d.ts +3 -0
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/pixelGrid.d.ts +49 -0
- package/dist/charts/pixelGrid.d.ts.map +1 -0
- package/dist/charts/transforms/kagi.d.ts +3 -2
- package/dist/charts/transforms/kagi.d.ts.map +1 -1
- package/dist/charts/transforms/renko.d.ts.map +1 -1
- package/dist/drawings/DrawingBase.d.ts +34 -1
- package/dist/drawings/DrawingBase.d.ts.map +1 -1
- package/dist/drawings/DrawingCreator.d.ts +51 -0
- package/dist/drawings/DrawingCreator.d.ts.map +1 -0
- package/dist/drawings/DrawingDrag.d.ts +36 -0
- package/dist/drawings/DrawingDrag.d.ts.map +1 -0
- package/dist/drawings/DrawingManager.d.ts +156 -33
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/DrawingRenderer.d.ts +2 -2
- package/dist/drawings/DrawingRenderer.d.ts.map +1 -1
- package/dist/drawings/DrawingSelection.d.ts +28 -0
- package/dist/drawings/DrawingSelection.d.ts.map +1 -0
- package/dist/drawings/drawingHistory.d.ts +12 -0
- package/dist/drawings/drawingHistory.d.ts.map +1 -0
- package/dist/drawings/drawingShortcuts.d.ts +11 -0
- package/dist/drawings/drawingShortcuts.d.ts.map +1 -0
- package/dist/drawings/drawingState.d.ts +29 -0
- package/dist/drawings/drawingState.d.ts.map +1 -0
- package/dist/drawings/index.d.ts +2 -1
- package/dist/drawings/index.d.ts.map +1 -1
- package/dist/drawings/magnetSnap.d.ts +12 -0
- package/dist/drawings/magnetSnap.d.ts.map +1 -0
- package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
- package/dist/drawings/tools/Circle.d.ts +1 -0
- package/dist/drawings/tools/Circle.d.ts.map +1 -1
- package/dist/drawings/tools/CrossLine.d.ts.map +1 -1
- package/dist/drawings/tools/DateRange.d.ts.map +1 -1
- package/dist/drawings/tools/ElliottWave.d.ts +128 -3
- package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
- package/dist/drawings/tools/Ellipse.d.ts +1 -0
- package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
- package/dist/drawings/tools/ExtendedLine.d.ts +1 -0
- package/dist/drawings/tools/ExtendedLine.d.ts.map +1 -1
- package/dist/drawings/tools/FibChannel.d.ts +7 -0
- package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
- package/dist/drawings/tools/FibExtension.d.ts +20 -0
- package/dist/drawings/tools/FibExtension.d.ts.map +1 -1
- package/dist/drawings/tools/FibRetracement.d.ts +28 -0
- package/dist/drawings/tools/FibRetracement.d.ts.map +1 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +9 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
- package/dist/drawings/tools/FibTimeZones.d.ts +16 -0
- package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
- package/dist/drawings/tools/GannBox.d.ts.map +1 -1
- package/dist/drawings/tools/GannFan.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalLine.d.ts +1 -0
- package/dist/drawings/tools/HorizontalLine.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalRay.d.ts +1 -0
- package/dist/drawings/tools/HorizontalRay.d.ts.map +1 -1
- package/dist/drawings/tools/Measure.d.ts.map +1 -1
- package/dist/drawings/tools/ParallelChannel.d.ts +12 -0
- package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceLabel.d.ts +1 -0
- package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
- package/dist/drawings/tools/Ray.d.ts +1 -0
- package/dist/drawings/tools/Ray.d.ts.map +1 -1
- package/dist/drawings/tools/Rectangle.d.ts +1 -0
- package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
- package/dist/drawings/tools/RegressionChannel.d.ts +1 -0
- package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
- package/dist/drawings/tools/RiskReward.d.ts +59 -6
- package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
- package/dist/drawings/tools/TextAnnotation.d.ts +1 -0
- package/dist/drawings/tools/TextAnnotation.d.ts.map +1 -1
- package/dist/drawings/tools/TrendAngle.d.ts.map +1 -1
- package/dist/drawings/tools/TrendLine.d.ts +3 -0
- package/dist/drawings/tools/TrendLine.d.ts.map +1 -1
- package/dist/drawings/tools/Triangle.d.ts +1 -0
- package/dist/drawings/tools/Triangle.d.ts.map +1 -1
- package/dist/drawings/tools/VerticalLine.d.ts.map +1 -1
- package/dist/drawings/tools/VolumeProfileRange.d.ts +1 -0
- package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
- package/dist/drawings/tools/annotations.d.ts +113 -0
- package/dist/drawings/tools/annotations.d.ts.map +1 -0
- package/dist/drawings/tools/cycles.d.ts +37 -0
- package/dist/drawings/tools/cycles.d.ts.map +1 -0
- package/dist/drawings/tools/fibGeometry.d.ts +202 -0
- package/dist/drawings/tools/fibGeometry.d.ts.map +1 -0
- package/dist/drawings/tools/forecast.d.ts +85 -0
- package/dist/drawings/tools/forecast.d.ts.map +1 -0
- package/dist/drawings/tools/freehand.d.ts +81 -0
- package/dist/drawings/tools/freehand.d.ts.map +1 -0
- package/dist/drawings/tools/index.d.ts +7 -0
- package/dist/drawings/tools/index.d.ts.map +1 -1
- package/dist/drawings/tools/labels.d.ts +32 -3
- package/dist/drawings/tools/labels.d.ts.map +1 -1
- package/dist/drawings/tools/options.d.ts +16 -0
- package/dist/drawings/tools/options.d.ts.map +1 -0
- package/dist/drawings/tools/patterns.d.ts +32 -0
- package/dist/drawings/tools/patterns.d.ts.map +1 -1
- package/dist/drawings/tools/priceLevels.d.ts +29 -0
- package/dist/drawings/tools/priceLevels.d.ts.map +1 -0
- package/dist/drawings/tools/textBox.d.ts +39 -0
- package/dist/drawings/tools/textBox.d.ts.map +1 -0
- package/dist/engine/LayerManager.d.ts +23 -0
- package/dist/engine/LayerManager.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +53 -1
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/engine/gpu.d.ts +83 -0
- package/dist/engine/gpu.d.ts.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/loadWebGL.d.ts +9 -0
- package/dist/engine/loadWebGL.d.ts.map +1 -0
- package/dist/engine/plotSteps.d.ts +39 -0
- package/dist/engine/plotSteps.d.ts.map +1 -0
- package/dist/events/EventBus.d.ts +2 -0
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts +117 -6
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/ChartState.d.ts +19 -1
- package/dist/features/ChartState.d.ts.map +1 -1
- package/dist/features/DataExporter.d.ts +7 -2
- package/dist/features/DataExporter.d.ts.map +1 -1
- package/dist/features/ReplayManager.d.ts +7 -0
- package/dist/features/ReplayManager.d.ts.map +1 -1
- package/dist/features/SignalMarkerManager.d.ts +8 -0
- package/dist/features/SignalMarkerManager.d.ts.map +1 -1
- package/dist/features/TradeZoneManager.d.ts.map +1 -1
- package/dist/features/UndoRedoManager.d.ts +30 -1
- package/dist/features/UndoRedoManager.d.ts.map +1 -1
- package/dist/features/index.d.ts +3 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/gridLines-J41F0DQ6.cjs +2 -0
- package/dist/gridLines-J41F0DQ6.cjs.map +1 -0
- package/dist/gridLines-kFhXyH-u.js +218 -0
- package/dist/gridLines-kFhXyH-u.js.map +1 -0
- package/dist/index.cjs +11 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10638 -4930
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorBase.d.ts +5 -1
- package/dist/indicators/IndicatorBase.d.ts.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +123 -11
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/indicators/PointwiseIndicator.d.ts +25 -0
- package/dist/indicators/PointwiseIndicator.d.ts.map +1 -0
- package/dist/indicators/index.d.ts +32 -0
- package/dist/indicators/index.d.ts.map +1 -1
- package/dist/indicators/linePen.d.ts +38 -0
- package/dist/indicators/linePen.d.ts.map +1 -0
- package/dist/indicators/math.d.ts +47 -0
- package/dist/indicators/math.d.ts.map +1 -0
- package/dist/indicators/overlay/ALMA.d.ts +20 -0
- package/dist/indicators/overlay/ALMA.d.ts.map +1 -0
- package/dist/indicators/overlay/Alligator.d.ts +2 -14
- package/dist/indicators/overlay/Alligator.d.ts.map +1 -1
- package/dist/indicators/overlay/AnchoredVWAP.d.ts +2 -9
- package/dist/indicators/overlay/AnchoredVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/BollingerBands.d.ts +2 -10
- package/dist/indicators/overlay/BollingerBands.d.ts.map +1 -1
- package/dist/indicators/overlay/ChandeKrollStop.d.ts +16 -0
- package/dist/indicators/overlay/ChandeKrollStop.d.ts.map +1 -0
- package/dist/indicators/overlay/ChandelierExit.d.ts +2 -10
- package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -1
- package/dist/indicators/overlay/DEMA.d.ts +11 -0
- package/dist/indicators/overlay/DEMA.d.ts.map +1 -0
- package/dist/indicators/overlay/DonchianChannel.d.ts +2 -9
- package/dist/indicators/overlay/DonchianChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/EMA.d.ts +2 -9
- package/dist/indicators/overlay/EMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Envelope.d.ts +2 -10
- package/dist/indicators/overlay/Envelope.d.ts.map +1 -1
- package/dist/indicators/overlay/GuppyMMA.d.ts +11 -0
- package/dist/indicators/overlay/GuppyMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/HullMA.d.ts +2 -9
- package/dist/indicators/overlay/HullMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Ichimoku.d.ts +2 -12
- package/dist/indicators/overlay/Ichimoku.d.ts.map +1 -1
- package/dist/indicators/overlay/KAMA.d.ts +15 -0
- package/dist/indicators/overlay/KAMA.d.ts.map +1 -0
- package/dist/indicators/overlay/KeltnerChannel.d.ts +2 -11
- package/dist/indicators/overlay/KeltnerChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/LSMA.d.ts +19 -0
- package/dist/indicators/overlay/LSMA.d.ts.map +1 -0
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts +2 -10
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/MACross.d.ts +9 -0
- package/dist/indicators/overlay/MACross.d.ts.map +1 -0
- package/dist/indicators/overlay/MARibbon.d.ts +8 -0
- package/dist/indicators/overlay/MARibbon.d.ts.map +1 -0
- package/dist/indicators/overlay/MTFMovingAverage.d.ts +2 -10
- package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -1
- package/dist/indicators/overlay/McGinleyDynamic.d.ts +13 -0
- package/dist/indicators/overlay/McGinleyDynamic.d.ts.map +1 -0
- package/dist/indicators/overlay/ParabolicSAR.d.ts +2 -10
- package/dist/indicators/overlay/ParabolicSAR.d.ts.map +1 -1
- package/dist/indicators/overlay/PivotPoints.d.ts +2 -9
- package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
- package/dist/indicators/overlay/SMA.d.ts +2 -9
- package/dist/indicators/overlay/SMA.d.ts.map +1 -1
- package/dist/indicators/overlay/SMMA.d.ts +13 -0
- package/dist/indicators/overlay/SMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/SessionVWAP.d.ts +2 -9
- package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/StandardErrorBands.d.ts +12 -0
- package/dist/indicators/overlay/StandardErrorBands.d.ts.map +1 -0
- package/dist/indicators/overlay/Supertrend.d.ts +2 -10
- package/dist/indicators/overlay/Supertrend.d.ts.map +1 -1
- package/dist/indicators/overlay/TEMA.d.ts +2 -9
- package/dist/indicators/overlay/TEMA.d.ts.map +1 -1
- package/dist/indicators/overlay/VWAP.d.ts +2 -7
- package/dist/indicators/overlay/VWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/VWMA.d.ts +2 -9
- package/dist/indicators/overlay/VWMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WMA.d.ts +2 -9
- package/dist/indicators/overlay/WMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WilliamsFractals.d.ts +15 -0
- package/dist/indicators/overlay/WilliamsFractals.d.ts.map +1 -0
- package/dist/indicators/overlay/ZigZag.d.ts +2 -9
- package/dist/indicators/overlay/ZigZag.d.ts.map +1 -1
- package/dist/indicators/panel/ADX.d.ts +2 -10
- package/dist/indicators/panel/ADX.d.ts.map +1 -1
- package/dist/indicators/panel/ATR.d.ts +2 -10
- package/dist/indicators/panel/ATR.d.ts.map +1 -1
- package/dist/indicators/panel/AcceleratorOscillator.d.ts +5 -10
- package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/AccumulationDistribution.d.ts +2 -8
- package/dist/indicators/panel/AccumulationDistribution.d.ts.map +1 -1
- package/dist/indicators/panel/Aroon.d.ts +2 -10
- package/dist/indicators/panel/Aroon.d.ts.map +1 -1
- package/dist/indicators/panel/AverageDayRange.d.ts +9 -0
- package/dist/indicators/panel/AverageDayRange.d.ts.map +1 -0
- package/dist/indicators/panel/AwesomeOscillator.d.ts +2 -11
- package/dist/indicators/panel/AwesomeOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/BalanceOfPower.d.ts +2 -10
- package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -1
- package/dist/indicators/panel/BollingerBandWidth.d.ts +18 -0
- package/dist/indicators/panel/BollingerBandWidth.d.ts.map +1 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts +21 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts.map +1 -0
- package/dist/indicators/panel/CCI.d.ts +2 -10
- package/dist/indicators/panel/CCI.d.ts.map +1 -1
- package/dist/indicators/panel/CMF.d.ts +2 -10
- package/dist/indicators/panel/CMF.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinOscillator.d.ts +2 -11
- package/dist/indicators/panel/ChaikinOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinVolatility.d.ts +2 -11
- package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -1
- package/dist/indicators/panel/ChandeMomentum.d.ts +2 -10
- package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -1
- package/dist/indicators/panel/ChoppinessIndex.d.ts +2 -10
- package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -1
- package/dist/indicators/panel/ConnorsRSI.d.ts +2 -12
- package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -1
- package/dist/indicators/panel/Coppock.d.ts +2 -12
- package/dist/indicators/panel/Coppock.d.ts.map +1 -1
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +2 -10
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/DisparityIndex.d.ts +2 -10
- package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -1
- package/dist/indicators/panel/EaseOfMovement.d.ts +2 -12
- package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -1
- package/dist/indicators/panel/ElderRay.d.ts +3 -9
- package/dist/indicators/panel/ElderRay.d.ts.map +1 -1
- package/dist/indicators/panel/FisherTransform.d.ts +2 -10
- package/dist/indicators/panel/FisherTransform.d.ts.map +1 -1
- package/dist/indicators/panel/ForceIndex.d.ts +2 -10
- package/dist/indicators/panel/ForceIndex.d.ts.map +1 -1
- package/dist/indicators/panel/HistoricalVolatility.d.ts +22 -0
- package/dist/indicators/panel/HistoricalVolatility.d.ts.map +1 -0
- package/dist/indicators/panel/KST.d.ts +2 -18
- package/dist/indicators/panel/KST.d.ts.map +1 -1
- package/dist/indicators/panel/Klinger.d.ts +2 -12
- package/dist/indicators/panel/Klinger.d.ts.map +1 -1
- package/dist/indicators/panel/LinearRegressionSlope.d.ts +9 -0
- package/dist/indicators/panel/LinearRegressionSlope.d.ts.map +1 -0
- package/dist/indicators/panel/MACD.d.ts +2 -12
- package/dist/indicators/panel/MACD.d.ts.map +1 -1
- package/dist/indicators/panel/MFI.d.ts +2 -10
- package/dist/indicators/panel/MFI.d.ts.map +1 -1
- package/dist/indicators/panel/MassIndex.d.ts +2 -11
- package/dist/indicators/panel/MassIndex.d.ts.map +1 -1
- package/dist/indicators/panel/Momentum.d.ts +9 -0
- package/dist/indicators/panel/Momentum.d.ts.map +1 -0
- package/dist/indicators/panel/NetVolume.d.ts +11 -0
- package/dist/indicators/panel/NetVolume.d.ts.map +1 -0
- package/dist/indicators/panel/OBV.d.ts +2 -8
- package/dist/indicators/panel/OBV.d.ts.map +1 -1
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts +2 -12
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts +2 -10
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PriceVolumeTrend.d.ts +2 -8
- package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -1
- package/dist/indicators/panel/Qstick.d.ts +2 -10
- package/dist/indicators/panel/Qstick.d.ts.map +1 -1
- package/dist/indicators/panel/ROC.d.ts +2 -10
- package/dist/indicators/panel/ROC.d.ts.map +1 -1
- package/dist/indicators/panel/RSI.d.ts +2 -10
- package/dist/indicators/panel/RSI.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts +2 -11
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVigor.d.ts +2 -10
- package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts +12 -0
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts.map +1 -0
- package/dist/indicators/panel/SchaffTrendCycle.d.ts +2 -12
- package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -1
- package/dist/indicators/panel/StandardError.d.ts +9 -0
- package/dist/indicators/panel/StandardError.d.ts.map +1 -0
- package/dist/indicators/panel/StdDev.d.ts +2 -10
- package/dist/indicators/panel/StdDev.d.ts.map +1 -1
- package/dist/indicators/panel/Stochastic.d.ts +2 -12
- package/dist/indicators/panel/Stochastic.d.ts.map +1 -1
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts +12 -0
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts.map +1 -0
- package/dist/indicators/panel/StochasticRSI.d.ts +2 -13
- package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -1
- package/dist/indicators/panel/TRIX.d.ts +2 -11
- package/dist/indicators/panel/TRIX.d.ts.map +1 -1
- package/dist/indicators/panel/TSI.d.ts +2 -12
- package/dist/indicators/panel/TSI.d.ts.map +1 -1
- package/dist/indicators/panel/TrendStrengthIndex.d.ts +9 -0
- package/dist/indicators/panel/TrendStrengthIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UlcerIndex.d.ts +15 -0
- package/dist/indicators/panel/UlcerIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UltimateOscillator.d.ts +2 -12
- package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/VROC.d.ts +2 -10
- package/dist/indicators/panel/VROC.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeDelta.d.ts +2 -10
- package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeOscillator.d.ts +11 -0
- package/dist/indicators/panel/VolumeOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeProfile.d.ts +2 -9
- package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
- package/dist/indicators/panel/Vortex.d.ts +2 -10
- package/dist/indicators/panel/Vortex.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsAD.d.ts +2 -10
- package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsR.d.ts +2 -10
- package/dist/indicators/panel/WilliamsR.d.ts.map +1 -1
- package/dist/indicators/plots.d.ts +49 -0
- package/dist/indicators/plots.d.ts.map +1 -0
- package/dist/indicators/registry.d.ts.map +1 -1
- package/dist/indicators/sources.d.ts +37 -0
- package/dist/indicators/sources.d.ts.map +1 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts +21 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts.map +1 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts +34 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -0
- package/dist/interaction/CrosshairHandler.d.ts +7 -4
- package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
- package/dist/interaction/CrosshairTooltip.d.ts +11 -5
- package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +63 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
- package/dist/interaction/PinnedTooltip.d.ts +9 -1
- package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
- package/dist/interaction/PriceAxisAddButton.d.ts +17 -0
- package/dist/interaction/PriceAxisAddButton.d.ts.map +1 -0
- package/dist/interaction/ZoomHandler.d.ts +8 -0
- package/dist/interaction/ZoomHandler.d.ts.map +1 -1
- package/dist/interaction/index.d.ts +2 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
- package/dist/realtime/StreamManager.d.ts +5 -0
- package/dist/realtime/StreamManager.d.ts.map +1 -1
- package/dist/realtime/TickAggregator.d.ts.map +1 -1
- package/dist/realtime/TickBars.d.ts +58 -0
- package/dist/realtime/TickBars.d.ts.map +1 -0
- package/dist/realtime/adapters/BinanceAdapter.d.ts +24 -1
- package/dist/realtime/adapters/BinanceAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts +3 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/CoinbaseAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/KrakenAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/MockAdapter.d.ts +19 -1
- package/dist/realtime/adapters/MockAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts +14 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/ResamplingAdapter.d.ts +84 -0
- package/dist/realtime/adapters/ResamplingAdapter.d.ts.map +1 -0
- package/dist/realtime/adapters/WebSocketAdapter.d.ts +14 -1
- package/dist/realtime/adapters/WebSocketAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/binanceTypes.d.ts +10 -1
- package/dist/realtime/adapters/binanceTypes.d.ts.map +1 -1
- package/dist/realtime/adapters/index.d.ts +1 -0
- package/dist/realtime/adapters/index.d.ts.map +1 -1
- package/dist/realtime/index.d.ts +1 -0
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/trading/BracketTool.d.ts.map +1 -1
- package/dist/trading/OrderDraftTool.d.ts.map +1 -1
- package/dist/trading/OrderRenderer.d.ts +2 -1
- package/dist/trading/OrderRenderer.d.ts.map +1 -1
- package/dist/trading/PaperExecutionAdapter.d.ts +17 -3
- package/dist/trading/PaperExecutionAdapter.d.ts.map +1 -1
- package/dist/trading/PositionRenderer.d.ts +6 -1
- package/dist/trading/PositionRenderer.d.ts.map +1 -1
- package/dist/trading/TradingContextMenu.d.ts +1 -1
- package/dist/trading/TradingContextMenu.d.ts.map +1 -1
- package/dist/trading/TradingDragHandler.d.ts.map +1 -1
- package/dist/trading/TradingManager.d.ts +26 -2
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/TradingRenderer.d.ts +2 -0
- package/dist/trading/TradingRenderer.d.ts.map +1 -1
- package/dist/trading/fillMarks.d.ts +14 -0
- package/dist/trading/fillMarks.d.ts.map +1 -0
- package/dist/trading/lineButtons.d.ts +31 -0
- package/dist/trading/lineButtons.d.ts.map +1 -0
- package/dist/trading/plot.d.ts +4 -0
- package/dist/trading/plot.d.ts.map +1 -0
- package/dist/trading/positionFormat.d.ts +1 -1
- package/dist/trading/positionFormat.d.ts.map +1 -1
- package/dist/ui/BarCountdown.d.ts.map +1 -1
- package/dist/ui/PriceLines.d.ts +38 -0
- package/dist/ui/PriceLines.d.ts.map +1 -0
- package/dist/ui/SessionBreaks.d.ts +14 -1
- package/dist/ui/SessionBreaks.d.ts.map +1 -1
- package/dist/ui/SessionShading.d.ts +5 -0
- package/dist/ui/SessionShading.d.ts.map +1 -1
- package/dist/ui/Watermark.d.ts +2 -0
- package/dist/ui/Watermark.d.ts.map +1 -1
- package/dist/ui/axisValueLabels.d.ts +52 -0
- package/dist/ui/axisValueLabels.d.ts.map +1 -0
- package/dist/ui/index.d.ts +7 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/sessionHours.d.ts +12 -2
- package/dist/ui/sessionHours.d.ts.map +1 -1
- package/dist/ui/shapes.d.ts +9 -0
- package/dist/ui/shapes.d.ts.map +1 -0
- package/dist/viewport/Viewport.d.ts +35 -2
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/dist/viewport/index.d.ts +1 -1
- package/dist/viewport/index.d.ts.map +1 -1
- package/dist/viewport/rangePresets.d.ts +4 -2
- package/dist/viewport/rangePresets.d.ts.map +1 -1
- package/dist/webgl/WebGLSeriesRenderer.d.ts +70 -0
- package/dist/webgl/WebGLSeriesRenderer.d.ts.map +1 -0
- package/dist/webgl/commandDrawer.d.ts +31 -0
- package/dist/webgl/commandDrawer.d.ts.map +1 -0
- package/dist/webgl/glColor.d.ts +13 -0
- package/dist/webgl/glColor.d.ts.map +1 -0
- package/dist/webgl/glKit.d.ts +26 -0
- package/dist/webgl/glKit.d.ts.map +1 -0
- package/dist/webgl/index.d.ts +5 -0
- package/dist/webgl/index.d.ts.map +1 -0
- package/dist/webgl/polygonSpans.d.ts +20 -0
- package/dist/webgl/polygonSpans.d.ts.map +1 -0
- package/dist/webgl/recordedCommands.d.ts +75 -0
- package/dist/webgl/recordedCommands.d.ts.map +1 -0
- package/dist/webgl/recordedPath.d.ts +51 -0
- package/dist/webgl/recordedPath.d.ts.map +1 -0
- package/dist/webgl/recordedShaders.d.ts +38 -0
- package/dist/webgl/recordedShaders.d.ts.map +1 -0
- package/dist/webgl/recorder.d.ts +67 -0
- package/dist/webgl/recorder.d.ts.map +1 -0
- package/dist/webgl/seriesUploads.d.ts +40 -0
- package/dist/webgl/seriesUploads.d.ts.map +1 -0
- package/dist/webgl/shaders.d.ts +39 -0
- package/dist/webgl/shaders.d.ts.map +1 -0
- package/dist/webgl/strokeGeometry.d.ts +28 -0
- package/dist/webgl/strokeGeometry.d.ts.map +1 -0
- package/dist/webgl/yMapping.d.ts +32 -0
- package/dist/webgl/yMapping.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { DrawingDescriptor, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
import { DrawingBase } from '../DrawingBase.js';
|
|
3
|
+
/** An open arrow head at `to`, coming from `from`. */
|
|
4
|
+
export declare function drawArrowHead(ctx: CanvasRenderingContext2D, from: Point, to: Point, size?: number): void;
|
|
5
|
+
/** Whether `point` is inside the polygon `pts` (even-odd rule). */
|
|
6
|
+
export declare function insidePolygon(point: Point, pts: readonly Point[]): boolean;
|
|
7
|
+
/** A freehand stroke: press and drag. It moves as a whole; its points have no handles. */
|
|
8
|
+
export declare class BrushTool extends DrawingBase {
|
|
9
|
+
descriptor: DrawingDescriptor;
|
|
10
|
+
/** How thick the stroke is drawn and how see-through. */
|
|
11
|
+
protected stroke(state: DrawingState): {
|
|
12
|
+
width: number;
|
|
13
|
+
alpha: number;
|
|
14
|
+
};
|
|
15
|
+
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
16
|
+
/** A selected stroke shows the box around it instead of hundreds of handles. */
|
|
17
|
+
private renderBounds;
|
|
18
|
+
/** The stroke's box on screen, from its time and price span. */
|
|
19
|
+
private screenBox;
|
|
20
|
+
hitTestAnchor(): number;
|
|
21
|
+
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
22
|
+
}
|
|
23
|
+
/** A broad see-through marker stroke, for highlighting bars. */
|
|
24
|
+
export declare class HighlighterTool extends BrushTool {
|
|
25
|
+
descriptor: DrawingDescriptor;
|
|
26
|
+
protected stroke(state: DrawingState): {
|
|
27
|
+
width: number;
|
|
28
|
+
alpha: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/** A line through points clicked one by one, with an arrow at the end; a double-click or Enter ends it. */
|
|
32
|
+
export declare class PathTool extends DrawingBase {
|
|
33
|
+
descriptor: {
|
|
34
|
+
type: "path";
|
|
35
|
+
name: string;
|
|
36
|
+
requiredAnchors: number;
|
|
37
|
+
creation: "path";
|
|
38
|
+
options: {
|
|
39
|
+
arrowEnd: {
|
|
40
|
+
kind: "boolean";
|
|
41
|
+
label: string;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
47
|
+
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
48
|
+
}
|
|
49
|
+
/** A closed shape through points clicked one by one, filled; a double-click or Enter ends it. */
|
|
50
|
+
export declare class PolylineTool extends DrawingBase {
|
|
51
|
+
descriptor: {
|
|
52
|
+
type: "polyline";
|
|
53
|
+
name: string;
|
|
54
|
+
requiredAnchors: number;
|
|
55
|
+
creation: "path";
|
|
56
|
+
fill: boolean;
|
|
57
|
+
};
|
|
58
|
+
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
59
|
+
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
60
|
+
}
|
|
61
|
+
/** Points along the curve from `s` to `e` that passes through `m` halfway. */
|
|
62
|
+
export declare function curvePoints(s: Point, m: Point, e: Point, steps?: number): Point[];
|
|
63
|
+
/**
|
|
64
|
+
* Points along the circle arc from `s` to `e` through `m`; the straight
|
|
65
|
+
* line when the three are in a row.
|
|
66
|
+
*/
|
|
67
|
+
export declare function arcPoints(s: Point, m: Point, e: Point, steps?: number): Point[];
|
|
68
|
+
/** A line bent through a third point: click the start, the end, then where it passes halfway. */
|
|
69
|
+
export declare class CurveTool extends DrawingBase {
|
|
70
|
+
descriptor: DrawingDescriptor;
|
|
71
|
+
protected shape(s: Point, m: Point, e: Point): Point[];
|
|
72
|
+
private points;
|
|
73
|
+
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
74
|
+
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
75
|
+
}
|
|
76
|
+
/** A circle arc: click the start, the end, then a point it passes through. */
|
|
77
|
+
export declare class ArcTool extends CurveTool {
|
|
78
|
+
descriptor: DrawingDescriptor;
|
|
79
|
+
protected shape(s: Point, m: Point, e: Point): Point[];
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=freehand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"freehand.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/freehand.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,5 +36,12 @@ export { CircleTool } from './Circle.js';
|
|
|
36
36
|
export { DateAndPriceRangeTool } from './DateAndPriceRange.js';
|
|
37
37
|
export { CyclicLinesTool } from './CyclicLines.js';
|
|
38
38
|
export { PriceLabelTool } from './PriceLabel.js';
|
|
39
|
+
export { NoteTool, CalloutTool, FlagTool, ArrowMarkTool, IconTool, ICON_GLYPHS, type IconGlyph } from './annotations.js';
|
|
40
|
+
export { BrushTool, HighlighterTool, PathTool, PolylineTool, CurveTool, ArcTool, curvePoints, arcPoints } from './freehand.js';
|
|
41
|
+
export { FibCirclesTool, FibArcsTool, FibWedgeTool, FibSpiralTool, PitchfanTool, GannSquareTool } from './fibGeometry.js';
|
|
42
|
+
export { ElliottImpulseTool, ElliottCorrectionTool, ElliottTriangleTool, ElliottDoubleComboTool, ElliottTripleComboTool, waveLabel, type WaveDegree, } from './ElliottWave.js';
|
|
43
|
+
export { ThreeDrivesTool, CypherPatternTool } from './patterns.js';
|
|
44
|
+
export { TimeCyclesTool, SineLineTool } from './cycles.js';
|
|
45
|
+
export { ForecastTool, ProjectionTool, BarsPatternTool, forecastOutcome, type ForecastOutcome } from './forecast.js';
|
|
39
46
|
export declare function registerBuiltInDrawingTools(manager: DrawingManager): void;
|
|
40
47
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
import { DrawingState, ViewportState } from '@tradecanvas/commons';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The theme the next drawing pass renders in: its background for the text
|
|
4
|
+
* halo, its font family for the text. Set by the drawing renderer right
|
|
5
|
+
* before each (synchronous) pass; none puts the defaults back.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setDrawingTheme(theme: {
|
|
8
|
+
background: string;
|
|
9
|
+
font?: {
|
|
10
|
+
family?: string;
|
|
11
|
+
};
|
|
12
|
+
} | null): void;
|
|
13
|
+
/** The family drawing text is set in: the theme's. */
|
|
14
|
+
export declare function drawingFontFamily(): string;
|
|
15
|
+
/** Text in drawings: the theme's type at `size` px (not the browser's default sans). */
|
|
16
|
+
export declare function drawingFont(size: number, weight?: 'bold'): string;
|
|
17
|
+
/** `fillText` with a halo of the chart's background behind the glyphs. */
|
|
18
|
+
export declare function fillTextWithHalo(ctx: CanvasRenderingContext2D, text: string, x: number, y: number): void;
|
|
19
|
+
/** Height of a label pill (CSS px). */
|
|
20
|
+
export declare const PILL_HEIGHT = 18;
|
|
21
|
+
/** Width of a pill for `text` in the current font. */
|
|
22
|
+
export declare function pillWidth(ctx: CanvasRenderingContext2D, text: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Text on a small rounded tag of `background`, left edge at `x`, centred on
|
|
25
|
+
* `centerY`, in the current font. Returns its width.
|
|
26
|
+
*/
|
|
27
|
+
export declare function drawPill(ctx: CanvasRenderingContext2D, text: string, x: number, centerY: number, background: string, color?: string): number;
|
|
28
|
+
/**
|
|
29
|
+
* Price text in the chart's price format when it has one (`viewport`), else
|
|
30
|
+
* at the precision of `ref` (defaults to the price itself).
|
|
31
|
+
*/
|
|
32
|
+
export declare function formatDrawingPrice(price: number, ref?: number, viewport?: ViewportState): string;
|
|
4
33
|
/** Signed price change with its percentage of `from`, e.g. "+12.50 (+1.25%)". */
|
|
5
|
-
export declare function formatPriceChange(from: number, to: number): string;
|
|
34
|
+
export declare function formatPriceChange(from: number, to: number, viewport?: ViewportState): string;
|
|
6
35
|
/** Compact duration, e.g. "3d 4h", "45m", "2w 1d". */
|
|
7
36
|
export declare function formatDuration(ms: number): string;
|
|
8
37
|
/** Whether anchors carry real timestamps (vs. legacy bar indices). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAaxE;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,GAAG,IAAI,CAGtG;AAED,sDAAsD;AACtD,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAUxG;AAGD,uCAAuC;AACvC,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,KAAK,SAAY,GAChB,MAAM,CAaR;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAQ,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAE/F;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAM5F;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE9D;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAItG;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAG7G;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,EAAE,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,GAAE,MAAM,GAAG,QAAQ,GAAG,OAAkB,EAC7C,KAAK,UAAO,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBzD;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlG"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DrawingLevel, DrawingOptionDefs } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* Each Fibonacci ratio's colour: the ends neutral, the ratios between in the
|
|
4
|
+
* chart's palette (shades that keep their contrast on dark and on white), so
|
|
5
|
+
* the levels read apart at a glance.
|
|
6
|
+
*/
|
|
7
|
+
export declare const FIB_LEVEL_COLORS: Readonly<Record<number, string>>;
|
|
8
|
+
/** `levelList` with each ratio in its Fibonacci colour. */
|
|
9
|
+
export declare function fibLevelList(shown: readonly number[], hidden?: readonly number[]): DrawingLevel[];
|
|
10
|
+
/** Levels from ratios: `shown` visible, `hidden` listed but off until the user turns them on. */
|
|
11
|
+
export declare function levelList(shown: readonly number[], hidden?: readonly number[]): DrawingLevel[];
|
|
12
|
+
/** Extend a line past its anchors, to the edge of the chart. */
|
|
13
|
+
export declare function extendOptions(left?: boolean, right?: boolean): DrawingOptionDefs;
|
|
14
|
+
/** What the labels of horizontal Fibonacci levels show, and on which side. */
|
|
15
|
+
export declare const LEVEL_LABEL_OPTIONS: DrawingOptionDefs;
|
|
16
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB7D,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAKrG;AAED,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAKlG;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,UAAQ,EAAE,KAAK,UAAQ,GAAG,iBAAiB,CAK5E;AAED,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,iBASjC,CAAC"}
|
|
@@ -31,6 +31,7 @@ export declare class XABCDPatternTool extends PatternTool {
|
|
|
31
31
|
type: "xabcdPattern";
|
|
32
32
|
name: string;
|
|
33
33
|
requiredAnchors: number;
|
|
34
|
+
fill: boolean;
|
|
34
35
|
};
|
|
35
36
|
protected readonly pointLabels: string[];
|
|
36
37
|
protected readonly ratioLinks: RatioLink[];
|
|
@@ -42,6 +43,7 @@ export declare class ABCDPatternTool extends PatternTool {
|
|
|
42
43
|
type: "abcdPattern";
|
|
43
44
|
name: string;
|
|
44
45
|
requiredAnchors: number;
|
|
46
|
+
fill: boolean;
|
|
45
47
|
};
|
|
46
48
|
protected readonly pointLabels: string[];
|
|
47
49
|
protected readonly ratioLinks: RatioLink[];
|
|
@@ -55,10 +57,40 @@ export declare class HeadAndShouldersTool extends PatternTool {
|
|
|
55
57
|
type: "headAndShoulders";
|
|
56
58
|
name: string;
|
|
57
59
|
requiredAnchors: number;
|
|
60
|
+
fill: boolean;
|
|
58
61
|
};
|
|
59
62
|
protected readonly pointLabels: string[];
|
|
60
63
|
protected readonly triangles: [number, number, number][];
|
|
61
64
|
protected renderExtras(ctx: CanvasRenderingContext2D, state: DrawingState, pts: Point[]): void;
|
|
62
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Three Drives: three pushes in one direction, each a Fibonacci extension of
|
|
68
|
+
* the pullback before it (six points: start, drive 1, pullback A, drive 2,
|
|
69
|
+
* pullback B, drive 3).
|
|
70
|
+
*/
|
|
71
|
+
export declare class ThreeDrivesTool extends PatternTool {
|
|
72
|
+
descriptor: {
|
|
73
|
+
type: "threeDrives";
|
|
74
|
+
name: string;
|
|
75
|
+
requiredAnchors: number;
|
|
76
|
+
};
|
|
77
|
+
protected readonly pointLabels: string[];
|
|
78
|
+
protected readonly ratioLinks: RatioLink[];
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Cypher: a harmonic pattern (X, A, B, C, D) whose C overshoots A, and whose
|
|
82
|
+
* D retraces X to C.
|
|
83
|
+
*/
|
|
84
|
+
export declare class CypherPatternTool extends PatternTool {
|
|
85
|
+
descriptor: {
|
|
86
|
+
type: "cypherPattern";
|
|
87
|
+
name: string;
|
|
88
|
+
requiredAnchors: number;
|
|
89
|
+
fill: boolean;
|
|
90
|
+
};
|
|
91
|
+
protected readonly pointLabels: string[];
|
|
92
|
+
protected readonly ratioLinks: RatioLink[];
|
|
93
|
+
protected readonly triangles: [number, number, number][];
|
|
94
|
+
}
|
|
63
95
|
export {};
|
|
64
96
|
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,+EAA+E;AAC/E,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,uBAAe,WAAY,SAAQ,WAAW;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IAChD,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAE9D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAqB5G,8DAA8D;IAC9D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAE3H,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,+EAA+E;AAC/E,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,uBAAe,WAAY,SAAQ,WAAW;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IAChD,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAE9D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAqB5G,8DAA8D;IAC9D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAE3H,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU;;;;;MAA4F;IACtG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA6B;IAC3D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAKjD;IACF,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAA0B;CAC5F;AAED,0FAA0F;AAC1F,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;;MAA0F;IACpG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAwB;IACtD,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAGjD;CACH;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,UAAU;;;;;MAAqG;IAC/G,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA+D;IAC7F,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAqC;cAEnF,YAAY,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;CAiBxG;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;MAAsF;IAChG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAiC;IAC/D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAGjD;CACH;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,UAAU;;;;;MAA8F;IACxG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA6B;IAC3D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAIjD;IACF,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAA0B;CAC5F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DrawingLevel, DrawingState, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
/** A Fibonacci level at its price. */
|
|
3
|
+
export interface PriceLevel {
|
|
4
|
+
level: DrawingLevel;
|
|
5
|
+
price: number;
|
|
6
|
+
}
|
|
7
|
+
export interface PriceLevelLook {
|
|
8
|
+
/** Left and right ends of the lines, in pixels. */
|
|
9
|
+
x0: number;
|
|
10
|
+
x1: number;
|
|
11
|
+
showLevels: boolean;
|
|
12
|
+
showPrices: boolean;
|
|
13
|
+
labelPosition: 'left' | 'right';
|
|
14
|
+
/** Shade the band between each level and the next. */
|
|
15
|
+
background: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function levelLabel(level: number, price: number, showLevels: boolean, showPrices: boolean, format?: (price: number) => string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Horizontal Fibonacci levels: one line per level in its colour (the
|
|
20
|
+
* drawing's when it has none), optional bands between them, and labels.
|
|
21
|
+
* Levels 0 and 1 are drawn solid, the others a little lighter.
|
|
22
|
+
*/
|
|
23
|
+
export declare function renderPriceLevels(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, levels: readonly PriceLevel[], look: PriceLevelLook, applyLineStyle: (color: string) => void): void;
|
|
24
|
+
/** Whether `point` is on one of the level lines. */
|
|
25
|
+
export declare function hitPriceLevels(point: {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
}, viewport: ViewportState, levels: readonly PriceLevel[], x0: number, x1: number, tolerance: number): boolean;
|
|
29
|
+
//# sourceMappingURL=priceLevels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priceLevels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/priceLevels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKtF,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAA4B,GACtD,MAAM,CAKR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACtC,IAAI,CAyCN;AAED,oDAAoD;AACpD,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAGT"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** A box of wrapped text on the chart (a note, a callout), and its size. */
|
|
2
|
+
export interface Rect {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
export interface TextBoxLook {
|
|
9
|
+
fontSize: number;
|
|
10
|
+
/** Text colour. */
|
|
11
|
+
color: string;
|
|
12
|
+
/** Box fill; none when left out. */
|
|
13
|
+
fill?: string;
|
|
14
|
+
/** Box border; none when left out. */
|
|
15
|
+
stroke?: string;
|
|
16
|
+
/** Widest a line gets before it wraps (px). */
|
|
17
|
+
maxWidth: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function boxFont(fontSize: number): string;
|
|
20
|
+
/**
|
|
21
|
+
* `text` in lines no wider than `maxWidth`: its own line breaks kept, words
|
|
22
|
+
* wrapped, a word longer than a line cut. At most `MAX_LINES` lines.
|
|
23
|
+
*/
|
|
24
|
+
export declare function wrapText(measure: (text: string) => number, text: string, maxWidth: number): string[];
|
|
25
|
+
/** The box `lines` take at `look.fontSize`, its top-left at (x, y). */
|
|
26
|
+
export declare function textBoxRect(measure: (text: string) => number, lines: readonly string[], x: number, y: number, fontSize: number): Rect;
|
|
27
|
+
/** Draw wrapped text in a box with its top-left at (x, y). Returns the box. */
|
|
28
|
+
export declare function drawTextBox(ctx: CanvasRenderingContext2D, text: string, x: number, y: number, look: TextBoxLook): Rect;
|
|
29
|
+
export declare function inRect(point: {
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
}, rect: Rect, tolerance?: number): boolean;
|
|
33
|
+
/** Where each drawing's box was last drawn, for hit-testing without a canvas. */
|
|
34
|
+
export declare class BoxCache {
|
|
35
|
+
private boxes;
|
|
36
|
+
set(id: string, rect: Rect): void;
|
|
37
|
+
get(id: string): Rect | undefined;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=textBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textBox.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/textBox.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAE5E,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBpG;AA8BD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIrI;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAmBtH;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,SAAI,GAAG,OAAO,CAG1F;AAKD,iFAAiF;AACjF,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAA2B;IAExC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAKjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAGlC"}
|
|
@@ -4,16 +4,39 @@ import { CanvasLayer } from './CanvasLayer.js';
|
|
|
4
4
|
* Two stacked canvases: the scene (grid, series, indicators, chart objects,
|
|
5
5
|
* axes) and a top canvas for pointer-tied visuals. A hover repaints only the
|
|
6
6
|
* top one, and the compositor blends two surfaces instead of four.
|
|
7
|
+
*
|
|
8
|
+
* With a GPU renderer attached, its canvas (grid, sessions, bars, volume)
|
|
9
|
+
* goes under the scene, and under that, only while something needs it, a 2D
|
|
10
|
+
* background (watermark, heatmaps, profiles). Every full-size canvas costs a
|
|
11
|
+
* blend per frame, so the background is there only when it has something to
|
|
12
|
+
* show. Both share the scene's z-index and go before it in the document, so
|
|
13
|
+
* the scene and top keep theirs and whatever a page stacks over the chart
|
|
14
|
+
* stays over it.
|
|
7
15
|
*/
|
|
8
16
|
export declare class LayerManager {
|
|
9
17
|
private container;
|
|
10
18
|
private scene;
|
|
11
19
|
private top;
|
|
20
|
+
private back;
|
|
21
|
+
private gpuCanvas;
|
|
22
|
+
private size;
|
|
23
|
+
private dpr;
|
|
12
24
|
constructor(container: HTMLElement);
|
|
13
25
|
createLayers(): void;
|
|
14
26
|
/** `Hover` → the top canvas; every other type → the scene canvas. */
|
|
15
27
|
getLayer(type: LayerType): CanvasLayer | undefined;
|
|
28
|
+
/** The 2D canvas under the GPU's, made on first use; null without a GPU. */
|
|
29
|
+
backLayer(): CanvasLayer | null;
|
|
30
|
+
/** The pixel ratio the canvases were last sized for. */
|
|
31
|
+
getDpr(): number;
|
|
32
|
+
/** Remove the background canvas, if there is one. */
|
|
33
|
+
dropBackLayer(): void;
|
|
34
|
+
/** Put a GPU canvas under the scene. */
|
|
35
|
+
attachGpu(canvas: HTMLCanvasElement): void;
|
|
36
|
+
/** Take the GPU and background canvases away: back to two. */
|
|
37
|
+
detachGpu(): void;
|
|
16
38
|
resize(size: Size, dpr: number): void;
|
|
17
39
|
destroy(): void;
|
|
40
|
+
private sizeGpu;
|
|
18
41
|
}
|
|
19
42
|
//# sourceMappingURL=LayerManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayerManager.d.ts","sourceRoot":"","sources":["../../src/engine/LayerManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"LayerManager.d.ts","sourceRoot":"","sources":["../../src/engine/LayerManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAQX,OAAO,CAAC,SAAS;IAP7B,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,GAAG,CAA4B;IACvC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,GAAG,CAAK;gBAEI,SAAS,EAAE,WAAW;IAE1C,YAAY,IAAI,IAAI;IAOpB,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAIlD,4EAA4E;IAC5E,SAAS,IAAI,WAAW,GAAG,IAAI;IAU/B,wDAAwD;IACxD,MAAM,IAAI,MAAM;IAIhB,qDAAqD;IACrD,aAAa,IAAI,IAAI;IAKrB,wCAAwC;IACxC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAY1C,8DAA8D;IAC9D,SAAS,IAAI,IAAI;IAMjB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IASrC,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,OAAO;CAYhB"}
|
|
@@ -2,6 +2,7 @@ import { LayerType, Size, ViewportState, Theme, DataSeries, Rect } from '@tradec
|
|
|
2
2
|
import { LayerManager } from './LayerManager.js';
|
|
3
3
|
import { RenderLoop } from './RenderLoop.js';
|
|
4
4
|
import { DPRManager } from './DPRManager.js';
|
|
5
|
+
import { GpuRenderer } from './gpu.js';
|
|
5
6
|
import { ChartRendererInterface } from '../charts/ChartRenderer.js';
|
|
6
7
|
import { GridRenderer } from '../axis/GridRenderer.js';
|
|
7
8
|
import { PriceAxis } from '../axis/PriceAxis.js';
|
|
@@ -22,6 +23,8 @@ import { SignalMarkerManager } from '../features/SignalMarkerManager.js';
|
|
|
22
23
|
import { TradeZoneManager } from '../features/TradeZoneManager.js';
|
|
23
24
|
export interface PanelRenderInfo {
|
|
24
25
|
instanceId: string;
|
|
26
|
+
/** Other instances drawn in this pane, on its scale. */
|
|
27
|
+
members?: string[];
|
|
25
28
|
rect: Rect;
|
|
26
29
|
viewport: ViewportState;
|
|
27
30
|
}
|
|
@@ -29,6 +32,13 @@ export interface RenderContext {
|
|
|
29
32
|
chartRenderer: ChartRendererInterface | null;
|
|
30
33
|
gridRenderer: GridRenderer | null;
|
|
31
34
|
priceAxis: PriceAxis | null;
|
|
35
|
+
/**
|
|
36
|
+
* The left price scale, when shown: overlays on it draw with this viewport
|
|
37
|
+
* (its own range), and its axis sits left of the plot, `leftAxisWidth` wide.
|
|
38
|
+
*/
|
|
39
|
+
leftViewport?: ViewportState | null;
|
|
40
|
+
leftPriceAxis?: PriceAxis | null;
|
|
41
|
+
leftAxisWidth?: number;
|
|
32
42
|
timeAxis: TimeAxis | null;
|
|
33
43
|
crosshairHandler: CrosshairHandler | null;
|
|
34
44
|
indicatorEngine: IndicatorEngine | null;
|
|
@@ -47,10 +57,14 @@ export interface RenderContext {
|
|
|
47
57
|
sessionBreaks: SessionBreaks | null;
|
|
48
58
|
sessionShading: import('../ui/SessionShading.js').SessionShading | null;
|
|
49
59
|
compareRenderer: CompareRenderer | null;
|
|
60
|
+
/** The visible high and low, the bid and the ask. */
|
|
61
|
+
priceLines?: import('../ui/PriceLines.js').PriceLines | null;
|
|
50
62
|
alertManager: AlertManager | null;
|
|
51
63
|
signalMarkerManager: SignalMarkerManager | null;
|
|
52
64
|
measureOverlay: import('../features/MeasureOverlay.js').MeasureOverlay | null;
|
|
53
65
|
selectionBoxOverlay?: import('../features/SelectionBoxOverlay.js').SelectionBoxOverlay | null;
|
|
66
|
+
/** The "+" by the price axis, level with the crosshair. */
|
|
67
|
+
priceAxisAddButton?: import('../interaction/PriceAxisAddButton.js').PriceAxisAddButton | null;
|
|
54
68
|
tradeZoneManager: TradeZoneManager | null;
|
|
55
69
|
panels: PanelRenderInfo[];
|
|
56
70
|
priceLimits?: {
|
|
@@ -67,6 +81,10 @@ export interface RenderContext {
|
|
|
67
81
|
viewport: ViewportState;
|
|
68
82
|
theme: Theme;
|
|
69
83
|
data: DataSeries;
|
|
84
|
+
/** Tag each indicator line's latest value on its value axis (default on). */
|
|
85
|
+
indicatorValueLabels?: boolean;
|
|
86
|
+
/** Price text as the price axis writes it (precision, locale). */
|
|
87
|
+
formatPrice?: (price: number) => string;
|
|
70
88
|
/** BCP 47 locale for number formatting. Defaults to 'en-US' when not set. */
|
|
71
89
|
numberLocale?: string;
|
|
72
90
|
/** Write each indicator pane's name, and the values under the cursor, in its header (default). Off when the host labels panes itself. */
|
|
@@ -81,6 +99,10 @@ export declare class RenderEngine {
|
|
|
81
99
|
private renderCtx;
|
|
82
100
|
private sceneLayer;
|
|
83
101
|
private topLayer;
|
|
102
|
+
/** The GPU renderer under the scene. */
|
|
103
|
+
private gpu;
|
|
104
|
+
/** Called when the GPU context is lost and the engine has gone back to Canvas 2D. */
|
|
105
|
+
onGpuLost: (() => void) | null;
|
|
84
106
|
/**
|
|
85
107
|
* Optional hook fired AFTER the canvas layers have been resized in
|
|
86
108
|
* response to a container resize. The Chart class uses this to push the
|
|
@@ -92,20 +114,50 @@ export declare class RenderEngine {
|
|
|
92
114
|
constructor(container: HTMLElement);
|
|
93
115
|
private cacheLayerRefs;
|
|
94
116
|
setRenderContext(ctx: RenderContext): void;
|
|
117
|
+
/** Draw bars and volume with `gpu`, on its canvas under the scene. */
|
|
118
|
+
attachGpu(gpu: GpuRenderer): void;
|
|
119
|
+
/** Back to Canvas 2D for everything. */
|
|
120
|
+
detachGpu(): void;
|
|
121
|
+
/** Draw every layer now, synchronously (a screenshot reads the GPU canvas before the browser clears it). */
|
|
122
|
+
renderNow(): void;
|
|
123
|
+
/** The GPU renderer in use, if any. */
|
|
124
|
+
getGpu(): GpuRenderer | null;
|
|
95
125
|
start(): void;
|
|
96
126
|
stop(): void;
|
|
97
127
|
requestRender(layer?: LayerType): void;
|
|
98
128
|
private render;
|
|
99
129
|
/** Everything that only changes with data, viewport or chart objects. */
|
|
100
130
|
private renderScene;
|
|
131
|
+
/**
|
|
132
|
+
* With a GPU: the grid, session shading, break lines, bars and volume on
|
|
133
|
+
* the GPU. A watermark, heatmap or profile needs Canvas 2D: then the whole
|
|
134
|
+
* background goes on a 2D canvas under the GPU's, there only while needed.
|
|
135
|
+
* A profile goes over the volume bars, as in Canvas 2D, so then volume is
|
|
136
|
+
* drawn there too.
|
|
137
|
+
*/
|
|
138
|
+
private renderGpu;
|
|
139
|
+
/** The background: grid, session shading and breaks, watermark. */
|
|
140
|
+
private renderBackground;
|
|
141
|
+
/** Run `draw` clipped to the main plot. */
|
|
142
|
+
private inPlot;
|
|
101
143
|
/**
|
|
102
144
|
* Pointer-tied visuals only — crosshair, its axis pills, the legend (it
|
|
103
145
|
* shows the hovered bar), bar countdown, measure ruler, selection box.
|
|
104
146
|
* A hover redraws just this thin layer, never the scene underneath.
|
|
105
147
|
*/
|
|
106
148
|
private renderTop;
|
|
107
|
-
/**
|
|
149
|
+
/** Each pane's drawing as steps: its background, then its levels and indicators. */
|
|
150
|
+
private paneSteps;
|
|
151
|
+
/** Indicator panes: background, divider, name and the indicator itself (what the GPU didn't draw). */
|
|
108
152
|
private renderPanels;
|
|
153
|
+
/** Tags fixed on the price axis: the last price, the high/low and bid/ask lines, positions and orders. */
|
|
154
|
+
private fixedAxisTags;
|
|
155
|
+
/** Overlay indicators' latest values as tags on the price axis, clear of the fixed tags. */
|
|
156
|
+
private overlayValueTags;
|
|
157
|
+
/** Left-scale overlays' latest values as tags on the left axis. */
|
|
158
|
+
private renderLeftValueLabels;
|
|
159
|
+
/** An indicator's reference levels (RSI 30 / 70): faint dashed lines across its pane, under the plots. */
|
|
160
|
+
private renderLevels;
|
|
109
161
|
/** Panel Y-axes: axis line, ticks and value labels. */
|
|
110
162
|
private renderPanelAxes;
|
|
111
163
|
/** Crosshair lines inside the hovered indicator pane. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderEngine.d.ts","sourceRoot":"","sources":["../../src/engine/RenderEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"RenderEngine.d.ts","sourceRoot":"","sources":["../../src/engine/RenderEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ChartOptions, DataSeries, Rect, Theme, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
/** Which renderer draws the chart: Canvas 2D, WebGL, or WebGL where it's fast and Canvas 2D otherwise. */
|
|
3
|
+
export type RendererMode = NonNullable<ChartOptions['renderer']>;
|
|
4
|
+
/** A filled rectangle in CSS pixels, in `color` at `alpha` (as `globalAlpha` would draw it). */
|
|
5
|
+
export interface GpuRect {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
color: string;
|
|
11
|
+
alpha: number;
|
|
12
|
+
/** Dashed down from the top: on and off lengths in CSS pixels, as `setLineDash` lays them out. */
|
|
13
|
+
dash?: readonly [number, number];
|
|
14
|
+
}
|
|
15
|
+
/** What goes under the bars, unclipped: the grid, then filled rectangles (session shading, break lines). */
|
|
16
|
+
export interface GpuBackground {
|
|
17
|
+
grid: boolean;
|
|
18
|
+
rects: readonly GpuRect[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Canvas 2D drawing recorded for the GPU, region by region (the plot, a
|
|
22
|
+
* pane), in the order the GPU draws it: after the bars.
|
|
23
|
+
*/
|
|
24
|
+
export interface GpuRecorder {
|
|
25
|
+
/** Start a region of the chart, clipped to `clip` (CSS pixels). */
|
|
26
|
+
region(clip: Rect): GpuRegion;
|
|
27
|
+
}
|
|
28
|
+
export interface GpuRegion {
|
|
29
|
+
/**
|
|
30
|
+
* Run `draw` on a recording 2D context. True when the GPU can draw all of
|
|
31
|
+
* it; false when it can't, and then nothing of it is kept: draw it with
|
|
32
|
+
* Canvas 2D (and everything after it, to keep the order).
|
|
33
|
+
*/
|
|
34
|
+
step(draw: (c: CanvasRenderingContext2D) => void): boolean;
|
|
35
|
+
/** The text the kept steps wrote (the GPU draws none), drawn on a 2D context. */
|
|
36
|
+
drawText(c: CanvasRenderingContext2D): void;
|
|
37
|
+
}
|
|
38
|
+
/** What a GPU renderer is asked to draw in a frame. */
|
|
39
|
+
export interface GpuFrame {
|
|
40
|
+
data: DataSeries;
|
|
41
|
+
viewport: ViewportState;
|
|
42
|
+
theme: Theme;
|
|
43
|
+
/** Device pixels per CSS pixel. */
|
|
44
|
+
dpr: number;
|
|
45
|
+
/** Draw the main series as candles. */
|
|
46
|
+
candles: boolean;
|
|
47
|
+
/** Draw volume, this share of the plot high; null for none. */
|
|
48
|
+
volume: {
|
|
49
|
+
heightRatio: number;
|
|
50
|
+
} | null;
|
|
51
|
+
/** Draw the background under the bars; null to leave it to Canvas 2D. */
|
|
52
|
+
background: GpuBackground | null;
|
|
53
|
+
/** Drawing recorded on this renderer's `recorder()`, drawn over the bars. */
|
|
54
|
+
recorded?: GpuRecorder | null;
|
|
55
|
+
}
|
|
56
|
+
/** What it drew: the rest is left to the 2D layers. */
|
|
57
|
+
export interface GpuDrawn {
|
|
58
|
+
series: boolean;
|
|
59
|
+
volume: boolean;
|
|
60
|
+
background: boolean;
|
|
61
|
+
/** Whether it drew `recorded`. */
|
|
62
|
+
recorded?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A renderer on its own canvas, under the 2D scene: the heavy, regular
|
|
66
|
+
* geometry (grid, bars, volume) on the GPU. The engine falls back to Canvas
|
|
67
|
+
* 2D for whatever it doesn't draw, and altogether when its context is lost.
|
|
68
|
+
*/
|
|
69
|
+
export interface GpuRenderer {
|
|
70
|
+
readonly canvas: HTMLCanvasElement;
|
|
71
|
+
/** A short name of the GPU, for diagnostics. */
|
|
72
|
+
readonly label: string;
|
|
73
|
+
render(frame: GpuFrame): GpuDrawn;
|
|
74
|
+
/**
|
|
75
|
+
* A recorder for this frame's drawing at `dpr`; `measure` measures text and
|
|
76
|
+
* draws nothing. Without one, everything past the bars is Canvas 2D.
|
|
77
|
+
*/
|
|
78
|
+
recorder?(dpr: number, measure: CanvasRenderingContext2D | null): GpuRecorder;
|
|
79
|
+
/** Called once if the GPU context is lost (the engine then draws with Canvas 2D). */
|
|
80
|
+
onLost(callback: () => void): void;
|
|
81
|
+
destroy(): void;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=gpu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../src/engine/gpu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjG,0GAA0G;AAC1G,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjE,gGAAgG;AAChG,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,4GAA4G;AAC5G,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,GAAG,OAAO,CAAC;IAC3D,iFAAiF;IACjF,QAAQ,CAAC,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;CAC7C;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvC,yEAAyE;IACzE,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,WAAW,CAAC;IAC9E,qFAAqF;IACrF,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACnC,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
package/dist/engine/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { RenderLoop } from './RenderLoop.js';
|
|
|
4
4
|
export { DPRManager } from './DPRManager.js';
|
|
5
5
|
export { RenderEngine } from './RenderEngine.js';
|
|
6
6
|
export type { RenderContext, PanelRenderInfo } from './RenderEngine.js';
|
|
7
|
+
export { loadWebGLRenderer } from './loadWebGL.js';
|
|
8
|
+
export type { GpuRenderer, GpuFrame, GpuDrawn, GpuBackground, GpuRect, GpuRecorder, GpuRegion, RendererMode } from './gpu.js';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|