@tradecanvas/core 0.7.1 → 0.8.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,qBAAa,kBAAkB;IAmBjB,OAAO,CAAC,OAAO;IAlB3B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,aAAa,CAAsB;IAG3C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAI5B,OAAO,CAAC,UAAU,CAAwB;gBAEtB,OAAO,EAAE,WAAW;IAExC,uBAAuB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAE7C,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IACxC,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAC1C,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAEpD,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAKrF,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAKrF,MAAM,IAAI,IAAI;IAgKd,MAAM,IAAI,IAAI;IAMd,mEAAmE;IACnE,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;CAOzB"}
1
+ {"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,qBAAa,kBAAkB;IAmBjB,OAAO,CAAC,OAAO;IAlB3B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,aAAa,CAAsB;IAG3C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAI5B,OAAO,CAAC,UAAU,CAAwB;gBAEtB,OAAO,EAAE,WAAW;IAExC,uBAAuB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAE7C,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IACxC,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAC1C,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAEpD,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAKrF,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAKrF,MAAM,IAAI,IAAI;IAiKd,MAAM,IAAI,IAAI;IAMd,mEAAmE;IACnE,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;CAOzB"}
@@ -0,0 +1,67 @@
1
+ import { OHLCBar, DataSeries } from '@tradecanvas/commons';
2
+ import { Emitter } from './Emitter.js';
3
+ export type ReplayStatus = 'idle' | 'playing' | 'paused' | 'finished';
4
+ export interface ReplayBarEvent {
5
+ bar: OHLCBar;
6
+ index: number;
7
+ total: number;
8
+ }
9
+ export interface ReplayStateChangeEvent {
10
+ status: ReplayStatus;
11
+ index: number;
12
+ total: number;
13
+ }
14
+ export interface ReplayEventMap {
15
+ bar: ReplayBarEvent;
16
+ finished: {
17
+ total: number;
18
+ };
19
+ stateChange: ReplayStateChangeEvent;
20
+ [key: string]: unknown;
21
+ }
22
+ export interface ReplayOptions {
23
+ /** Full historical dataset to replay through. */
24
+ data: DataSeries;
25
+ /** Bars emitted per second. Default 1. */
26
+ speed?: number;
27
+ /** Index of the first bar to emit (0-based). Default 0. */
28
+ startIndex?: number;
29
+ /** Auto-start when constructed. Default false. */
30
+ autoStart?: boolean;
31
+ }
32
+ /**
33
+ * Drives historical bars forward at a controlled speed.
34
+ *
35
+ * Decoupled from Chart — consumers subscribe to `bar` events and wire them
36
+ * into a Chart (via appendBar) or a Backtester. The controller never touches
37
+ * the chart directly, which keeps it reusable for headless analytics.
38
+ */
39
+ export declare class ReplayController extends Emitter<ReplayEventMap> {
40
+ private readonly data;
41
+ private speed;
42
+ private index;
43
+ private status;
44
+ private timer;
45
+ constructor(opts: ReplayOptions);
46
+ getStatus(): ReplayStatus;
47
+ getIndex(): number;
48
+ getTotal(): number;
49
+ /** Bars at indices [0, index) — useful for seeding the chart before replay. */
50
+ getPrefix(): DataSeries;
51
+ /** Begin emitting from current index. Idempotent if already playing. */
52
+ start(): void;
53
+ pause(): void;
54
+ resume(): void;
55
+ stop(): void;
56
+ /** Emit N bars synchronously without waiting for the timer. */
57
+ step(n?: number): void;
58
+ /** Jump to a specific index without emitting bars in between. */
59
+ seek(index: number): void;
60
+ setSpeed(barsPerSecond: number): void;
61
+ destroy(): void;
62
+ private scheduleNext;
63
+ private emitNext;
64
+ private clearTimer;
65
+ private transition;
66
+ }
67
+ //# sourceMappingURL=ReplayController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReplayController.d.ts","sourceRoot":"","sources":["../../src/realtime/ReplayController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,WAAW,EAAE,sBAAsB,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,IAAI,EAAE,UAAU,CAAC;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,cAAc,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAC9C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,KAAK,CAA8C;gBAE/C,IAAI,EAAE,aAAa;IAY/B,SAAS,IAAI,YAAY;IAIzB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,+EAA+E;IAC/E,SAAS,IAAI,UAAU;IAIvB,wEAAwE;IACxE,KAAK,IAAI,IAAI;IAUb,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI;IAMZ,+DAA+D;IAC/D,IAAI,CAAC,CAAC,SAAI,GAAG,IAAI;IASjB,iEAAiE;IACjE,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQzB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAQrC,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;CASnB"}
@@ -4,5 +4,7 @@ export { ReconnectManager } from './ReconnectManager.js';
4
4
  export { StreamManager } from './StreamManager.js';
5
5
  export type { StreamEvents } from './StreamManager.js';
6
6
  export { CurrentPriceLine } from './CurrentPriceLine.js';
7
+ export { ReplayController } from './ReplayController.js';
8
+ export type { ReplayBarEvent, ReplayEventMap, ReplayOptions, ReplayStateChangeEvent, ReplayStatus, } from './ReplayController.js';
7
9
  export * from './adapters/index.js';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradecanvas/core",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "description": "Canvas rendering engine for @tradecanvas/chart",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@tradecanvas/commons": "0.7.1"
37
+ "@tradecanvas/commons": "0.8.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "vitest": "^2.1.8"