@tradecanvas/core 1.10.0 → 1.12.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.
Files changed (81) hide show
  1. package/README.md +2 -4
  2. package/dist/{WebGLSeriesRenderer-DQOPCwno.js → WebGLSeriesRenderer-CLVnGxIS.js} +335 -198
  3. package/dist/WebGLSeriesRenderer-CLVnGxIS.js.map +1 -0
  4. package/dist/WebGLSeriesRenderer-rB3-CqXS.cjs +429 -0
  5. package/dist/WebGLSeriesRenderer-rB3-CqXS.cjs.map +1 -0
  6. package/dist/charts/BaselineRenderer.d.ts.map +1 -1
  7. package/dist/charts/DepthHeatmapBuffer.d.ts +6 -3
  8. package/dist/charts/DepthHeatmapBuffer.d.ts.map +1 -1
  9. package/dist/charts/KagiRenderer.d.ts.map +1 -1
  10. package/dist/charts/MarketProfileRenderer.d.ts +2 -0
  11. package/dist/charts/MarketProfileRenderer.d.ts.map +1 -1
  12. package/dist/charts/PointAndFigureRenderer.d.ts.map +1 -1
  13. package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
  14. package/dist/charts/pixelGrid.d.ts +10 -0
  15. package/dist/charts/pixelGrid.d.ts.map +1 -1
  16. package/dist/engine/RenderEngine.d.ts +15 -4
  17. package/dist/engine/RenderEngine.d.ts.map +1 -1
  18. package/dist/engine/gpu.d.ts +18 -3
  19. package/dist/engine/gpu.d.ts.map +1 -1
  20. package/dist/engine/gpuContexts.d.ts +23 -0
  21. package/dist/engine/gpuContexts.d.ts.map +1 -0
  22. package/dist/engine/index.d.ts +3 -1
  23. package/dist/engine/index.d.ts.map +1 -1
  24. package/dist/engine/loadWebGL.d.ts +15 -2
  25. package/dist/engine/loadWebGL.d.ts.map +1 -1
  26. package/dist/gridLines-CVQJ3gzb.cjs +2 -0
  27. package/dist/gridLines-CVQJ3gzb.cjs.map +1 -0
  28. package/dist/{gridLines-kFhXyH-u.js → gridLines-ovHZBvAe.js} +61 -24
  29. package/dist/gridLines-ovHZBvAe.js.map +1 -0
  30. package/dist/index.cjs +6 -6
  31. package/dist/index.cjs.map +1 -1
  32. package/dist/index.js +3327 -2543
  33. package/dist/index.js.map +1 -1
  34. package/dist/indicators/index.d.ts +13 -1
  35. package/dist/indicators/index.d.ts.map +1 -1
  36. package/dist/indicators/math.d.ts +2 -0
  37. package/dist/indicators/math.d.ts.map +1 -1
  38. package/dist/indicators/overlay/HammingMA.d.ts +19 -0
  39. package/dist/indicators/overlay/HammingMA.d.ts.map +1 -0
  40. package/dist/indicators/overlay/MAChannel.d.ts +13 -0
  41. package/dist/indicators/overlay/MAChannel.d.ts.map +1 -0
  42. package/dist/indicators/overlay/MACross.d.ts.map +1 -1
  43. package/dist/indicators/overlay/MovingAverageSets.d.ts +20 -0
  44. package/dist/indicators/overlay/MovingAverageSets.d.ts.map +1 -0
  45. package/dist/indicators/overlay/PivotPoints.d.ts +5 -0
  46. package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
  47. package/dist/indicators/overlay/PriceAverages.d.ts +25 -0
  48. package/dist/indicators/overlay/PriceAverages.d.ts.map +1 -0
  49. package/dist/indicators/overlay/VolatilityIndex.d.ts +13 -0
  50. package/dist/indicators/overlay/VolatilityIndex.d.ts.map +1 -0
  51. package/dist/indicators/panel/AccumulativeSwingIndex.d.ts +13 -0
  52. package/dist/indicators/panel/AccumulativeSwingIndex.d.ts.map +1 -0
  53. package/dist/indicators/panel/AdvanceDecline.d.ts +18 -0
  54. package/dist/indicators/panel/AdvanceDecline.d.ts.map +1 -0
  55. package/dist/indicators/panel/ChopZone.d.ts +17 -0
  56. package/dist/indicators/panel/ChopZone.d.ts.map +1 -0
  57. package/dist/indicators/panel/MajorityRule.d.ts +15 -0
  58. package/dist/indicators/panel/MajorityRule.d.ts.map +1 -0
  59. package/dist/indicators/panel/PriceOscillator.d.ts +8 -0
  60. package/dist/indicators/panel/PriceOscillator.d.ts.map +1 -0
  61. package/dist/indicators/panel/SMIErgodic.d.ts +12 -0
  62. package/dist/indicators/panel/SMIErgodic.d.ts.map +1 -0
  63. package/dist/indicators/panel/VolatilityEstimators.d.ts +29 -0
  64. package/dist/indicators/panel/VolatilityEstimators.d.ts.map +1 -0
  65. package/dist/indicators/registry.d.ts.map +1 -1
  66. package/dist/indicators/symbols/symbolIndicators.d.ts +27 -0
  67. package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -1
  68. package/dist/webgl/WebGLSeriesRenderer.d.ts +31 -12
  69. package/dist/webgl/WebGLSeriesRenderer.d.ts.map +1 -1
  70. package/dist/webgl/commandDrawer.d.ts.map +1 -1
  71. package/dist/webgl/recorder.d.ts +18 -1
  72. package/dist/webgl/recorder.d.ts.map +1 -1
  73. package/dist/webgl/shaders.d.ts +8 -7
  74. package/dist/webgl/shaders.d.ts.map +1 -1
  75. package/package.json +2 -2
  76. package/dist/WebGLSeriesRenderer-DQOPCwno.js.map +0 -1
  77. package/dist/WebGLSeriesRenderer-DspCYR38.cjs +0 -429
  78. package/dist/WebGLSeriesRenderer-DspCYR38.cjs.map +0 -1
  79. package/dist/gridLines-J41F0DQ6.cjs +0 -2
  80. package/dist/gridLines-J41F0DQ6.cjs.map +0 -1
  81. package/dist/gridLines-kFhXyH-u.js.map +0 -1
@@ -107,6 +107,18 @@ export { NetVolumeIndicator } from './panel/NetVolume.js';
107
107
  export { StandardErrorBandsIndicator } from './overlay/StandardErrorBands.js';
108
108
  export { GuppyMMAIndicator } from './overlay/GuppyMMA.js';
109
109
  export { MARibbonIndicator } from './overlay/MARibbon.js';
110
+ export { AveragePriceIndicator, MedianPriceIndicator, TypicalPriceIndicator } from './overlay/PriceAverages.js';
111
+ export { MAChannelIndicator } from './overlay/MAChannel.js';
112
+ export { HammingMAIndicator } from './overlay/HammingMA.js';
113
+ export { MADoubleIndicator, MATripleIndicator } from './overlay/MovingAverageSets.js';
114
+ export { VolatilityIndexIndicator } from './overlay/VolatilityIndex.js';
115
+ export { AccumulativeSwingIndexIndicator } from './panel/AccumulativeSwingIndex.js';
116
+ export { AdvanceDeclineIndicator } from './panel/AdvanceDecline.js';
117
+ export { MajorityRuleIndicator } from './panel/MajorityRule.js';
118
+ export { ChopZoneIndicator } from './panel/ChopZone.js';
119
+ export { SMIErgodicIndicator } from './panel/SMIErgodic.js';
120
+ export { PriceOscillatorIndicator } from './panel/PriceOscillator.js';
121
+ export { VolatilityOHLCIndicator, VolatilityZeroTrendIndicator } from './panel/VolatilityEstimators.js';
110
122
  export { SymbolSeriesStore } from './symbols/SymbolSeriesStore.js';
111
- export { CompareSymbolIndicator, SpreadIndicator } from './symbols/symbolIndicators.js';
123
+ export { CompareSymbolIndicator, SpreadIndicator, CorrelationCoefficientIndicator, CorrelationLogIndicator } from './symbols/symbolIndicators.js';
112
124
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indicators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indicators/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export declare function closes(data: DataSeries): number[];
9
9
  export declare function smaOf(src: readonly Num[], period: number): Num[];
10
10
  /** Exponential moving average, seeded with the simple average of its first `period` values. */
11
11
  export declare function emaOf(src: readonly Num[], period: number): Num[];
12
+ /** Linearly weighted moving average: the newest of `period` values weighs `period`, the oldest 1 (none across a gap). */
13
+ export declare function wmaOf(src: readonly Num[], period: number): Num[];
12
14
  /** Wilder's smoothing (RMA, SMMA): an EMA with alpha 1 / period. */
13
15
  export declare function rmaOf(src: readonly Num[], period: number): Num[];
14
16
  /** Population standard deviation over the last `period` values (none across a gap). */
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/indicators/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGxF,2DAA2D;AAC3D,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;AAErC,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,eAAe,CAO7F;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAEjD;AAED,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAahE;AA2BD,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAEhE;AAED,oEAAoE;AACpE,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAEhE;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAiBlE;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAMrD;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAS7E;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAS5E;AAED,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAU,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAEtF;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAWlH;AAED,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtF;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK3F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA8BvE"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../src/indicators/math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGxF,2DAA2D;AAC3D,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC;AAErC,4EAA4E;AAC5E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,eAAe,CAO7F;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAEjD;AAED,+EAA+E;AAC/E,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAahE;AA2BD,+FAA+F;AAC/F,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAEhE;AAED,yHAAyH;AACzH,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAiBhE;AAED,oEAAoE;AACpE,wBAAgB,KAAK,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAEhE;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,CAiBlE;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAMrD;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAS7E;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAS5E;AAED,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,SAAU,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAEtF;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAWlH;AAED,uDAAuD;AACvD,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtF;AAED,qDAAqD;AACrD,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKrF;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK3F;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA8BvE"}
@@ -0,0 +1,19 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ interface HammingParams {
4
+ weights: number[];
5
+ total: number;
6
+ }
7
+ /**
8
+ * Hamming Moving Average: the closes of the last `period` bars weighted by a
9
+ * Hamming window (0.54 − 0.46·cos(2πk / (period − 1))), most in the middle of
10
+ * the window and evenly either side, then divided by the weights' sum. Smoother
11
+ * than a simple average, with a lag of half the window.
12
+ */
13
+ export declare class HammingMAIndicator extends PointwiseIndicator<HammingParams> {
14
+ descriptor: IndicatorDescriptor;
15
+ protected read(config: IndicatorConfig): HammingParams;
16
+ protected pointAt(data: DataSeries, i: number, { weights, total }: HammingParams): IndicatorValue | null;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=HammingMA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HammingMA.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/HammingMA.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAM9D,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IACvE,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa;IAMtD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,aAAa,GAAG,cAAc,GAAG,IAAI;CAOzG"}
@@ -0,0 +1,13 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Moving Average Channel: the average of the highs over `upperLength` bars
5
+ * and of the lows over `lowerLength`, each shifted by its own offset (later
6
+ * by a positive one, earlier by a negative one), with the channel shaded.
7
+ */
8
+ export declare class MAChannelIndicator extends IndicatorBase {
9
+ descriptor: IndicatorDescriptor;
10
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
11
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, style: ResolvedIndicatorStyle): void;
12
+ }
13
+ //# sourceMappingURL=MAChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MAChannel.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MAChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,UAAU,EAAE,mBAAmB,CAgB7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAWrE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;CA0B7H"}
@@ -1 +1 @@
1
- {"version":3,"file":"MACross.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MACross.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,gGAAgG;AAChG,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAYrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAoB/G"}
1
+ {"version":3,"file":"MACross.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MACross.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAapD,gGAAgG;AAChG,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IASrE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAiB/G"}
@@ -0,0 +1,20 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /** Two or three moving averages of one kind (simple, exponential or weighted), each of its own length. */
4
+ declare abstract class MovingAverageSet extends IndicatorBase {
5
+ /** The length parameters, in order, with their defaults. */
6
+ protected abstract readonly lengths: readonly (readonly [string, number])[];
7
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
8
+ }
9
+ /** Moving Average Double: a shorter and a longer average. */
10
+ export declare class MADoubleIndicator extends MovingAverageSet {
11
+ protected readonly lengths: readonly [readonly ["first", 20], readonly ["second", 50]];
12
+ descriptor: IndicatorDescriptor;
13
+ }
14
+ /** Moving Average Triple: three averages, short to long. */
15
+ export declare class MATripleIndicator extends MovingAverageSet {
16
+ protected readonly lengths: readonly [readonly ["first", 10], readonly ["second", 20], readonly ["third", 50]];
17
+ descriptor: IndicatorDescriptor;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=MovingAverageSets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MovingAverageSets.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/MovingAverageSets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAapD,0GAA0G;AAC1G,uBAAe,gBAAiB,SAAQ,aAAa;IACnD,4DAA4D;IAC5D,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAE5E,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CActE;AAED,6DAA6D;AAC7D,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,6DAA4C;IACtE,UAAU,EAAE,mBAAmB,CAW7B;CACH;AAED,4DAA4D;AAC5D,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,SAAS,CAAC,QAAQ,CAAC,OAAO,qFAA2D;IACrF,UAAU,EAAE,mBAAmB,CAY7B;CACH"}
@@ -1,5 +1,10 @@
1
1
  import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
2
  import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Pivot points from the high, low and close of the last `lookback` bars
5
+ * (and their first open, for DeMark's), by kind: traditional, Fibonacci,
6
+ * Woodie, classic, Camarilla or DeMark (one level either side).
7
+ */
3
8
  export declare class PivotPointsIndicator extends IndicatorBase {
4
9
  descriptor: IndicatorDescriptor;
5
10
  calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
@@ -1 +1 @@
1
- {"version":3,"file":"PivotPoints.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/PivotPoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU,EAAE,mBAAmB,CAe7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAgCrE,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,GAC5B,IAAI;CAuCR"}
1
+ {"version":3,"file":"PivotPoints.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/PivotPoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,UAAU,EAAE,mBAAmB,CAgB7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;IAsBrE,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,sBAAsB,GAC5B,IAAI;CAuCR"}
@@ -0,0 +1,25 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue, OHLCBar } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ /** One price worked out of each bar, drawn as a line over the bars. */
4
+ declare abstract class BarPriceIndicator extends PointwiseIndicator<null> {
5
+ protected abstract price(bar: OHLCBar): number;
6
+ protected read(_config: IndicatorConfig): null;
7
+ protected pointAt(data: DataSeries, i: number): IndicatorValue | null;
8
+ }
9
+ /** Average Price: (open + high + low + close) / 4. */
10
+ export declare class AveragePriceIndicator extends BarPriceIndicator {
11
+ descriptor: IndicatorDescriptor;
12
+ protected price(b: OHLCBar): number;
13
+ }
14
+ /** Median Price: (high + low) / 2. */
15
+ export declare class MedianPriceIndicator extends BarPriceIndicator {
16
+ descriptor: IndicatorDescriptor;
17
+ protected price(b: OHLCBar): number;
18
+ }
19
+ /** Typical Price: (high + low + close) / 3. */
20
+ export declare class TypicalPriceIndicator extends BarPriceIndicator {
21
+ descriptor: IndicatorDescriptor;
22
+ protected price(b: OHLCBar): number;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=PriceAverages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceAverages.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/PriceAverages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,uEAAuE;AACvE,uBAAe,iBAAkB,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IAC/D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAE9C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAI9C,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;CAGtE;AAED,sDAAsD;AACtD,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,sCAAsC;AACtC,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC;AAED,+CAA+C;AAC/C,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,UAAU,EAAE,mBAAmB,CAO7B;IAEF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC"}
@@ -0,0 +1,13 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Volatility Index (Wilder's volatility system): a stop and reverse that
5
+ * trails the most extreme close since the last turn by `mult` times the
6
+ * average true range (Wilder's smoothing over `period` bars): under the
7
+ * closes while long, over them while short, turning when a close crosses it.
8
+ */
9
+ export declare class VolatilityIndexIndicator extends IndicatorBase {
10
+ descriptor: IndicatorDescriptor;
11
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
12
+ }
13
+ //# sourceMappingURL=VolatilityIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolatilityIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/overlay/VolatilityIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,aAAa;IACzD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAkCtE"}
@@ -0,0 +1,13 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Accumulative Swing Index (Wilder): the running sum of each bar's swing
5
+ * index, which weighs the move from the previous close (and the bar's own
6
+ * body, and the previous bar's) against the bar's true range, scaled by the
7
+ * limit move: the most a price may move in a bar. It runs with the trend.
8
+ */
9
+ export declare class AccumulativeSwingIndexIndicator extends IndicatorBase {
10
+ descriptor: IndicatorDescriptor;
11
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
12
+ }
13
+ //# sourceMappingURL=AccumulativeSwingIndex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccumulativeSwingIndex.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/AccumulativeSwingIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AACvI,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;;GAKG;AACH,qBAAa,+BAAgC,SAAQ,aAAa;IAChE,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAUtE"}
@@ -0,0 +1,18 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ /**
4
+ * Advance/Decline: of the last `length` bars, those closing above their open
5
+ * over those closing below it (their count when none closed below).
6
+ */
7
+ export declare class AdvanceDeclineIndicator extends PointwiseIndicator<{
8
+ length: number;
9
+ }> {
10
+ descriptor: IndicatorDescriptor;
11
+ protected read(config: IndicatorConfig): {
12
+ length: number;
13
+ };
14
+ protected pointAt(data: DataSeries, i: number, { length }: {
15
+ length: number;
16
+ }): IndicatorValue | null;
17
+ }
18
+ //# sourceMappingURL=AdvanceDecline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvanceDecline.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/AdvanceDecline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;IACjF,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe;;;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,GAAG,IAAI;CAUtG"}
@@ -0,0 +1,17 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput, ResolvedIndicatorStyle, ViewportState } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * Chop Zone: the angle, in degrees, of the 34-bar EMA's slope, its rise per
5
+ * bar scaled by the range of the last 30 bars. Each bar is coloured by its
6
+ * zone, from turquoise (rising steeply) through yellow (flat, choppy) to
7
+ * dark red (falling steeply); the zones are the indicator, so it keeps its
8
+ * own colours whatever the style.
9
+ */
10
+ export declare class ChopZoneIndicator extends IndicatorBase {
11
+ descriptor: IndicatorDescriptor;
12
+ calculate(data: DataSeries, _config: IndicatorConfig): IndicatorOutput;
13
+ render(ctx: CanvasRenderingContext2D, output: IndicatorOutput, viewport: ViewportState, _style: ResolvedIndicatorStyle): void;
14
+ }
15
+ /** The colour of the zone an angle (degrees) falls in. */
16
+ export declare function chopZoneColor(angle: number): string;
17
+ //# sourceMappingURL=ChopZone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChopZone.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/ChopZone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrK,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,UAAU,EAAE,mBAAmB,CAQ7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,eAAe;IAmBtE,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI;CAa9H;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUnD"}
@@ -0,0 +1,15 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ /** Majority Rule: the share of the last `period` closes above the close before, in percent. */
4
+ export declare class MajorityRuleIndicator extends PointwiseIndicator<{
5
+ period: number;
6
+ }> {
7
+ descriptor: IndicatorDescriptor;
8
+ protected read(config: IndicatorConfig): {
9
+ period: number;
10
+ };
11
+ protected pointAt(data: DataSeries, i: number, { period }: {
12
+ period: number;
13
+ }): IndicatorValue | null;
14
+ }
15
+ //# sourceMappingURL=MajorityRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MajorityRule.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/MajorityRule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,+FAA+F;AAC/F,qBAAa,qBAAsB,SAAQ,kBAAkB,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;IAC/E,UAAU,EAAE,mBAAmB,CAU7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe;;;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc,GAAG,IAAI;CAMtG"}
@@ -0,0 +1,8 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /** Price Oscillator: the short simple average less the long one, in price (the percentage one is PPO). */
4
+ export declare class PriceOscillatorIndicator extends IndicatorBase {
5
+ descriptor: IndicatorDescriptor;
6
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
7
+ }
8
+ //# sourceMappingURL=PriceOscillator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PriceOscillator.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/PriceOscillator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,0GAA0G;AAC1G,qBAAa,wBAAyB,SAAQ,aAAa;IACzD,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAMtE"}
@@ -0,0 +1,12 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorOutput } from '@tradecanvas/commons';
2
+ import { IndicatorBase } from '../IndicatorBase.js';
3
+ /**
4
+ * SMI Ergodic (Blau): the bar-to-bar change of the close, smoothed twice by
5
+ * EMAs (`long`, then `short`), over its absolute value smoothed the same way:
6
+ * between −1 and 1. A `signal` EMA of it, and their gap as the oscillator.
7
+ */
8
+ export declare class SMIErgodicIndicator extends IndicatorBase {
9
+ descriptor: IndicatorDescriptor;
10
+ calculate(data: DataSeries, config: IndicatorConfig): IndicatorOutput;
11
+ }
12
+ //# sourceMappingURL=SMIErgodic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SMIErgodic.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/SMIErgodic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAkB,MAAM,sBAAsB,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD;;;;GAIG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,UAAU,EAAE,mBAAmB,CAa7B;IAEF,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,GAAG,eAAe;CAetE"}
@@ -0,0 +1,29 @@
1
+ import { IndicatorDescriptor, DataSeries, IndicatorConfig, IndicatorValue } from '@tradecanvas/commons';
2
+ import { PointwiseIndicator } from '../PointwiseIndicator.js';
3
+ interface VolatilityParams {
4
+ period: number;
5
+ annual: number;
6
+ }
7
+ /**
8
+ * Volatility O-H-L-C (Garman–Klass): each bar's variance read from its range
9
+ * and body, 0.5·ln(H/L)² − (2·ln2 − 1)·ln(C/O)², averaged over `period`
10
+ * bars and annualised by `annual` bars a year, in percent. It uses more of
11
+ * each bar than the close-to-close estimate, so it settles sooner.
12
+ */
13
+ export declare class VolatilityOHLCIndicator extends PointwiseIndicator<VolatilityParams> {
14
+ descriptor: IndicatorDescriptor;
15
+ protected read(config: IndicatorConfig): VolatilityParams;
16
+ protected pointAt(data: DataSeries, i: number, { period, annual }: VolatilityParams): IndicatorValue | null;
17
+ }
18
+ /**
19
+ * Volatility Zero Trend Close-to-Close: the root mean square of the log
20
+ * returns over `period` bars, taken about zero rather than their own mean
21
+ * (a steady trend counts as volatility), annualised, in percent.
22
+ */
23
+ export declare class VolatilityZeroTrendIndicator extends PointwiseIndicator<VolatilityParams> {
24
+ descriptor: IndicatorDescriptor;
25
+ protected read(config: IndicatorConfig): VolatilityParams;
26
+ protected pointAt(data: DataSeries, i: number, { period, annual }: VolatilityParams): IndicatorValue | null;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=VolatilityEstimators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VolatilityEstimators.d.ts","sourceRoot":"","sources":["../../../src/indicators/panel/VolatilityEstimators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAG9D,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AASD;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IAC/E,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,cAAc,GAAG,IAAI;CAU5G;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IACpF,UAAU,EAAE,mBAAmB,CAS7B;IAEF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe;IAItC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,cAAc,GAAG,IAAI;CAW5G"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAoG5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAkGvE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/indicators/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAgH5D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAkHvE"}
@@ -30,5 +30,32 @@ export declare class SpreadIndicator extends PointwiseIndicator<SpreadParams> {
30
30
  protected read(config: IndicatorConfig): SpreadParams;
31
31
  protected pointAt(data: DataSeries, i: number, { symbol, ratio }: SpreadParams): IndicatorValue | null;
32
32
  }
33
+ interface CorrelationParams extends SymbolParams {
34
+ length: number;
35
+ }
36
+ /**
37
+ * Correlation Coefficient: how closely the chart's closes and another
38
+ * symbol's (its bar at or before each one) move together over the last
39
+ * `length` bars, from −1 (opposite) to 1 (in step).
40
+ */
41
+ export declare class CorrelationCoefficientIndicator extends PointwiseIndicator<CorrelationParams> {
42
+ private readonly store;
43
+ descriptor: IndicatorDescriptor;
44
+ constructor(store: SymbolSeriesStore);
45
+ protected read(config: IndicatorConfig): CorrelationParams;
46
+ protected pointAt(data: DataSeries, i: number, { symbol, length }: CorrelationParams): IndicatorValue | null;
47
+ }
48
+ /**
49
+ * Correlation Log: the correlation of the two symbols' bar-to-bar log returns
50
+ * over the last `length` bars. Prices that trend together correlate whatever
51
+ * their day-to-day moves; returns tell whether they move together bar by bar.
52
+ */
53
+ export declare class CorrelationLogIndicator extends PointwiseIndicator<CorrelationParams> {
54
+ private readonly store;
55
+ descriptor: IndicatorDescriptor;
56
+ constructor(store: SymbolSeriesStore);
57
+ protected read(config: IndicatorConfig): CorrelationParams;
58
+ protected pointAt(data: DataSeries, i: number, { symbol, length }: CorrelationParams): IndicatorValue | null;
59
+ }
33
60
  export {};
34
61
  //# sourceMappingURL=symbolIndicators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbolIndicators.d.ts","sourceRoot":"","sources":["../../../src/indicators/symbols/symbolIndicators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAU9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IATlC,UAAU,EAAE,mBAAmB,CAO7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAKhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAWvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVlC,UAAU,EAAE,mBAAmB,CAQ7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAOvG"}
1
+ {"version":3,"file":"symbolIndicators.d.ts","sourceRoot":"","sources":["../../../src/indicators/symbols/symbolIndicators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,YAAa,SAAQ,YAAY;IACzC,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAU9D,OAAO,CAAC,QAAQ,CAAC,KAAK;IATlC,UAAU,EAAE,mBAAmB,CAO7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAKhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,kBAAkB,CAAC,YAAY,CAAC;IAWvD,OAAO,CAAC,QAAQ,CAAC,KAAK;IAVlC,UAAU,EAAE,mBAAmB,CAQ7B;gBAE2B,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY;IAIrD,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,cAAc,GAAG,IAAI;CAOvG;AAED,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AA2CD;;;;GAIG;AACH,qBAAa,+BAAgC,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAG5E,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,UAAU,EAAE,mBAAmB,CAA+G;gBAEjH,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB;IAI1D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,cAAc,GAAG,IAAI;CAa7G;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAGpE,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,UAAU,EAAE,mBAAmB,CAA8G;gBAEhH,KAAK,EAAE,iBAAiB;IAIrD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB;IAI1D,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,cAAc,GAAG,IAAI;CAiB7G"}
@@ -12,16 +12,16 @@ export declare class WebGLSeriesRenderer implements GpuRenderer {
12
12
  readonly label: string;
13
13
  private readonly gl;
14
14
  private readonly kit;
15
- private readonly drawer;
16
- private readonly candleBars;
17
- private readonly volumeBars;
18
- private readonly candleColumns;
19
- private readonly volumeColumns;
20
- private readonly rects;
21
- private readonly seriesBuffer;
22
- private readonly columnBuffer;
23
- private readonly rectBuffer;
24
- private readonly uploads;
15
+ private drawer;
16
+ private candleBars;
17
+ private volumeBars;
18
+ private candleColumns;
19
+ private volumeColumns;
20
+ private rects;
21
+ private seriesBuffer;
22
+ private columnBuffer;
23
+ private rectBuffer;
24
+ private uploads;
25
25
  private gpuFloats;
26
26
  private columns;
27
27
  private rectValues;
@@ -29,21 +29,40 @@ export declare class WebGLSeriesRenderer implements GpuRenderer {
29
29
  private clip;
30
30
  private lost;
31
31
  private lostCallback;
32
- /** A renderer on a new canvas, or null where WebGL 2 isn't there (or, asked for, only a software one). */
32
+ private restoredCallback;
33
+ /** Lets go of the context it holds of those the charts may have (`gpuContexts`), while its own is live. */
34
+ private release;
35
+ /**
36
+ * A renderer on a new canvas, or null where WebGL 2 isn't there (or, asked
37
+ * for, only a software one). `release` lets go of the share of the charts'
38
+ * contexts it was made with (see `loadWebGL`): it calls it once its context
39
+ * is lost or it is destroyed, and claims another if the context comes back.
40
+ */
33
41
  static create(options?: {
34
42
  failIfMajorPerformanceCaveat?: boolean;
43
+ release?: () => void;
35
44
  }): WebGLSeriesRenderer | null;
36
45
  private constructor();
37
- /** `callback` once the context is lost; soon (in a microtask) if it already is. */
46
+ /**
47
+ * Programs and buffers, and the series to upload whole: a lost context took
48
+ * the old ones with it. All are made before any is kept, so a throw half-way
49
+ * leaves the renderer as it was.
50
+ */
51
+ private build;
52
+ /** `callback` each time the context comes back after a loss, ready to draw. */
53
+ onRestored(callback: () => void): void;
54
+ /** `callback` each time the context is lost; soon (in a microtask) if it already is. */
38
55
  onLost(callback: () => void): void;
39
56
  recorder(dpr: number, measure: CanvasRenderingContext2D | null): GpuRecorder;
40
57
  render(frame: GpuFrame): GpuDrawn;
41
58
  /** Volume and candles, clipped to the plot. */
42
59
  private drawSeries;
60
+ private drawRecorded;
43
61
  /** Recorded rectangles: device pixels, already clipped. */
44
62
  private drawRecordedRects;
45
63
  destroy(): void;
46
64
  private readonly handleLost;
65
+ private readonly handleRestored;
47
66
  private syncSeries;
48
67
  /** Zoomed out: the bars merged per pixel column, as the 2D dense renderers merge them. */
49
68
  private buildColumns;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGLSeriesRenderer.d.ts","sourceRoot":"","sources":["../../src/webgl/WebGLSeriesRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,QAAQ,EAAE,QAAQ,EAAW,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuB7G;;;;;;;GAOG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IAqDjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IApDtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,UAAU,CAAsC;IACxD,wFAAwF;IACxF,OAAO,CAAC,IAAI,CAAkD;IAC9D,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAA6B;IAEjD,0GAA0G;IAC1G,MAAM,CAAC,MAAM,CAAC,OAAO,GAAE;QAAE,4BAA4B,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,mBAAmB,GAAG,IAAI;IA8BnG,OAAO;IAkBP,mFAAmF;IACnF,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAUlC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,WAAW;IAI5E,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAmBjC,+CAA+C;IAC/C,OAAO,CAAC,UAAU;IA8BlB,2DAA2D;IAC3D,OAAO,CAAC,iBAAiB;IAWzB,OAAO,IAAI,IAAI;IAiBf,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IAEF,OAAO,CAAC,UAAU;IAalB,0FAA0F;IAC1F,OAAO,CAAC,YAAY;IA0BpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,UAAU;IAsBlB,wFAAwF;IACxF,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,GAAG;IAoBX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;CAGZ"}
1
+ {"version":3,"file":"WebGLSeriesRenderer.d.ts","sourceRoot":"","sources":["../../src/webgl/WebGLSeriesRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,QAAQ,EAAE,QAAQ,EAAW,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA0B7G;;;;;;;GAOG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IAgEjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB;IA/DtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,UAAU,CAAsC;IACxD,wFAAwF;IACxF,OAAO,CAAC,IAAI,CAAkD;IAC9D,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,2GAA2G;IAC3G,OAAO,CAAC,OAAO,CAAoB;IAEnC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,GAAE;QAAE,4BAA4B,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAO,GAAG,mBAAmB,GAAG,IAAI;IAgCzH,OAAO;IASP;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAiBb,+EAA+E;IAC/E,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAItC,wFAAwF;IACxF,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAUlC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,WAAW;IAI5E,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAmBjC,+CAA+C;IAC/C,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,YAAY;IAKpB,2DAA2D;IAC3D,OAAO,CAAC,iBAAiB;IAWzB,OAAO,IAAI,IAAI;IAwBf,OAAO,CAAC,QAAQ,CAAC,UAAU,CAUzB;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAoB7B;IAEF,OAAO,CAAC,UAAU;IAalB,0FAA0F;IAC1F,OAAO,CAAC,YAAY;IA0BpB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAoDtB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,UAAU;IAsBlB,wFAAwF;IACxF,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,GAAG;IAoBX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;CAGZ"}
@@ -1 +1 @@
1
- {"version":3,"file":"commandDrawer.d.ts","sourceRoot":"","sources":["../../src/webgl/commandDrawer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAO,UAAU,EAAY,MAAM,uBAAuB,CAAC;AAYvE,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtE;;;;;GAKG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAER,GAAG,EAAE,KAAK;IAOvC,gGAAgG;IAChG,IAAI,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAc5F,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IASd,iFAAiF;IACjF,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU;IAclB,+CAA+C;IAC/C,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,SAAS;CAQlB"}
1
+ {"version":3,"file":"commandDrawer.d.ts","sourceRoot":"","sources":["../../src/webgl/commandDrawer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAW,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAO,UAAU,EAAY,MAAM,uBAAuB,CAAC;AAYvE,yFAAyF;AACzF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtE;;;;;GAKG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IALhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAER,GAAG,EAAE,KAAK;IAOvC,gGAAgG;IAChG,IAAI,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAmB5F,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IASd,iFAAiF;IACjF,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,UAAU;IAclB,+CAA+C;IAC/C,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,KAAK;IAgBb,OAAO,CAAC,SAAS;CAQlB"}
@@ -10,12 +10,20 @@ declare class Recorder implements GpuRecorder {
10
10
  readonly ctx: CanvasRenderingContext2D;
11
11
  /** Where text goes: the region being recorded. */
12
12
  private texts;
13
+ /** Whether the region being recorded takes text. */
14
+ private takesText;
13
15
  private state;
14
16
  private stack;
15
17
  private path;
16
18
  private ok;
19
+ /** Where the step being recorded starts in `commands`: rectangles merge into a command of this step only. */
20
+ private stepStart;
21
+ /** The last colour style parsed, premultiplied (charts fill many cells in one, at alphas of their own). */
22
+ private solid;
17
23
  constructor(dpr: number, measure: CanvasRenderingContext2D | null);
18
- region(clip: Rect): GpuRegion;
24
+ region(clip: Rect, options?: {
25
+ text?: boolean;
26
+ }): GpuRegion;
19
27
  private reset;
20
28
  private unsupported;
21
29
  private copyState;
@@ -36,12 +44,21 @@ declare class Recorder implements GpuRecorder {
36
44
  private withPath;
37
45
  /** Run `use` on `path`'s shape instead of the current path. */
38
46
  private onPath;
47
+ /** A colour style, premultiplied. */
48
+ private baseColor;
49
+ private alpha;
50
+ /** A colour style, premultiplied, at the global alpha. */
51
+ private solidColor;
39
52
  /** The style as the GPU paints it, or null when it can't. */
40
53
  private paint;
41
54
  /** Whether the state draws as plain source-over paint (no shadow, filter or other blending). */
42
55
  private plain;
43
56
  private fill;
44
57
  private fillRects;
58
+ /** A rectangle, clipped, in `color` at `alpha`, added to this step's last command when that holds rectangles too. */
59
+ private pushRect;
60
+ /** fillRect in a plain colour on an axis-aligned transform, straight to a rectangle; anything else through a path. */
61
+ private fillRect;
45
62
  private stroke;
46
63
  /** The dash pattern in device pixels as two on-off pairs, null for solid; undefined when the GPU can't dash these lines (it dashes single segments, butt-capped). */
47
64
  private dash;
@@ -1 +1 @@
1
- {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/webgl/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAsD,KAAK,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAI3H,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAyEnD,cAAM,QAAS,YAAW,WAAW;IAUvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IATlE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAM;IACrC,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC;IACvC,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,EAAE,CAAQ;gBAEW,GAAG,EAAE,MAAM,EAAmB,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAKnG,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS;IAwB7B,OAAO,CAAC,KAAK;IA6Bb,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAOjB,2EAA2E;IAC3E,OAAO,CAAC,WAAW;IAKnB,6FAA6F;IAC7F,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,GAAG;IAyBX,sFAAsF;IACtF,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,QAAQ;IAQhB,+DAA+D;IAC/D,OAAO,CAAC,MAAM;IAiBd,6DAA6D;IAC7D,OAAO,CAAC,KAAK;IAsBb,gGAAgG;IAChG,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,IAAI;IAiCZ,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,MAAM;IAkBd,qKAAqK;IACrK,OAAO,CAAC,IAAI;IAUZ;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAYlB,iGAAiG;IACjG,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,OAAO;IA0Cf,OAAO,CAAC,KAAK;IAqBb,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CAmBhB;AAoCD,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,QAAQ,CAE9F;AAED,YAAY,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/webgl/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAsD,KAAK,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAI3H,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAyEnD,cAAM,QAAS,YAAW,WAAW;IAgBvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,OAAO,CAAC,QAAQ,CAAC,OAAO;IAflE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAM;IACrC,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC;IACvC,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAgB;IAC7B,oDAAoD;IACpD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,IAAI,CAAiB;IAC7B,OAAO,CAAC,EAAE,CAAQ;IAClB,6GAA6G;IAC7G,OAAO,CAAC,SAAS,CAAK;IACtB,2GAA2G;IAC3G,OAAO,CAAC,KAAK,CAA+C;gBAE/B,GAAG,EAAE,MAAM,EAAmB,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAKnG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IA2B3D,OAAO,CAAC,KAAK;IA6Bb,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,SAAS;IAOjB,2EAA2E;IAC3E,OAAO,CAAC,WAAW;IAKnB,6FAA6F;IAC7F,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,GAAG;IAyBX,sFAAsF;IACtF,OAAO,CAAC,KAAK;IAqBb,OAAO,CAAC,QAAQ;IAQhB,+DAA+D;IAC/D,OAAO,CAAC,MAAM;IAiBd,qCAAqC;IACrC,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,KAAK;IAIb,0DAA0D;IAC1D,OAAO,CAAC,UAAU;IAMlB,6DAA6D;IAC7D,OAAO,CAAC,KAAK;IAmBb,gGAAgG;IAChG,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,IAAI;IAiCZ,OAAO,CAAC,SAAS;IAIjB,qHAAqH;IACrH,OAAO,CAAC,QAAQ;IAWhB,sHAAsH;IACtH,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,MAAM;IAkBd,qKAAqK;IACrK,OAAO,CAAC,IAAI;IAUZ;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAYlB,iGAAiG;IACjG,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,OAAO;IA0Cf,OAAO,CAAC,KAAK;IAqBb,6EAA6E;IAC7E,OAAO,CAAC,OAAO;CAmBhB;AAoCD,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,GAAG,QAAQ,CAE9F;AAED,YAAY,EAAE,QAAQ,EAAE,CAAC"}