openalgo-charts 2.1.5 → 2.1.7
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 +24 -22
- package/dist/draw/index.d.ts +2 -0
- package/dist/index.d.ts +321 -22
- package/dist/indicators/index.d.ts +7 -1
- package/dist/openalgo-charts.draw.mjs +1 -1
- package/dist/openalgo-charts.draw.mjs.map +1 -1
- package/dist/openalgo-charts.indicators.mjs +1 -1
- package/dist/openalgo-charts.indicators.mjs.map +1 -1
- package/dist/openalgo-charts.mjs +1 -1
- package/dist/openalgo-charts.mjs.map +1 -1
- package/dist/openalgo-charts.standalone.js +1 -1
- package/dist/openalgo-charts.standalone.js.map +1 -1
- package/dist/openalgo-charts.widget.mjs +1 -1
- package/dist/openalgo-charts.widget.mjs.map +1 -1
- package/dist/trade/index.d.ts +8 -0
- package/dist/widget/index.d.ts +25 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
**A from-scratch, dependency-free HTML5-canvas charting engine for OpenAlgo.**
|
|
6
6
|
|
|
7
|
-
Professional interactive charts, 102 built-in indicators plus your own custom ones, 51 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies,
|
|
7
|
+
Professional interactive charts, 102 built-in indicators plus your own custom ones, 51 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies, 73.31 KB Brotli for the base engine, and a one-call widget tier that adds the toolbar, drawing rail, dialogs and shortcuts.
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/openalgo-charts)
|
|
10
10
|
[](./LICENSE)
|
|
11
|
-
[](#size-budget)
|
|
12
|
+
[](#develop)
|
|
13
13
|
[](#principles)
|
|
14
14
|
|
|
15
15
|
[**Documentation**](https://marketcalls.github.io/openalgo-charts/) · [**Live examples**](https://marketcalls.github.io/openalgo-charts/examples) · [**Getting started**](./docs/getting-started.md) · [**Migrating to 2.0**](./docs/migrating-to-2.md) · [**Architecture**](./ARCHITECTURE.md)
|
|
@@ -43,11 +43,13 @@ Every chart in the [live gallery](https://marketcalls.github.io/openalgo-charts/
|
|
|
43
43
|
|
|
44
44
|
## Install
|
|
45
45
|
|
|
46
|
-
Current version: **2.1.
|
|
46
|
+
Current version: **2.1.7**.
|
|
47
47
|
|
|
48
|
-
This
|
|
49
|
-
|
|
50
|
-
and
|
|
48
|
+
This release adds a searchable Objects panel and shared object-management API for
|
|
49
|
+
drawings, indicators and host-registered profiles. Dialogs fit narrow chart panes,
|
|
50
|
+
and indicator visibility survives settings changes and layout restoration.
|
|
51
|
+
See the [Objects guide](https://marketcalls.github.io/openalgo-charts/docs/objects/),
|
|
52
|
+
the [2.1.7 changelog](./CHANGELOG.md#217) and
|
|
51
53
|
[OpenAlgo compatibility guide](https://marketcalls.github.io/openalgo-charts/docs/openalgo-compatibility/).
|
|
52
54
|
|
|
53
55
|
```bash
|
|
@@ -69,7 +71,7 @@ in front of npm rather than being places you upload to. A chart is one HTML file
|
|
|
69
71
|
```html
|
|
70
72
|
<div id="chart" style="width:100vw;height:100vh"></div>
|
|
71
73
|
<script type="module">
|
|
72
|
-
import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.
|
|
74
|
+
import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.7/dist/openalgo-charts.mjs';
|
|
73
75
|
const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
|
|
74
76
|
chart.addSeries('candlestick').setData(bars);
|
|
75
77
|
</script>
|
|
@@ -108,16 +110,16 @@ Import only what you use. Each tier is a separate bundle that registers into the
|
|
|
108
110
|
|
|
109
111
|
| Import | Contents | Brotli |
|
|
110
112
|
|---|---|---|
|
|
111
|
-
| `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds |
|
|
112
|
-
| `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract |
|
|
113
|
-
| `openalgo-charts/draw` | 51 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 25.
|
|
113
|
+
| `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds | 73.31 KB |
|
|
114
|
+
| `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 28.05 KB |
|
|
115
|
+
| `openalgo-charts/draw` | 51 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 25.90 KB |
|
|
114
116
|
| `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi | 2.66 KB |
|
|
115
117
|
| `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 KB |
|
|
116
118
|
| `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.61 KB |
|
|
117
119
|
| `openalgo-charts/webgl` | WebGL2 series backend: batched, analytically anti-aliased GPU rendering of the standard chart types behind `renderer: 'auto'`, with a session-long fallback to the 2D path | 6.38 KB |
|
|
118
|
-
| `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM |
|
|
120
|
+
| `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM | 38.72 KB |
|
|
119
121
|
|
|
120
|
-
Everything together is **
|
|
122
|
+
Everything together is **197.58 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 165.97 KB. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 80.92 KB.
|
|
121
123
|
|
|
122
124
|
## What's built
|
|
123
125
|
|
|
@@ -409,16 +411,16 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
|
|
|
409
411
|
|
|
410
412
|
| Bundle | Limit | Actual |
|
|
411
413
|
|---|---|---|
|
|
412
|
-
| Base engine |
|
|
413
|
-
| Base + trade |
|
|
414
|
-
| Indicators tier | 30 KB |
|
|
415
|
-
| Draw tier | 26 KB | 25.
|
|
414
|
+
| Base engine | 74 KB | 73.31 KB |
|
|
415
|
+
| Base + trade | 82 KB | 80.92 KB |
|
|
416
|
+
| Indicators tier | 30 KB | 28.05 KB |
|
|
417
|
+
| Draw tier | 26 KB | 25.90 KB |
|
|
416
418
|
| Transform tier | 5 KB | 2.66 KB |
|
|
417
419
|
| Profile tier | 15 KB | 14.96 KB |
|
|
418
420
|
| WebGL2 tier | 7 KB | 6.38 KB |
|
|
419
|
-
| Widget tier |
|
|
420
|
-
| Widget terminal (base + draw + indicators + widget) |
|
|
421
|
-
| **Everything** | **
|
|
421
|
+
| Widget tier | 40 KB | 38.72 KB |
|
|
422
|
+
| Widget terminal (base + draw + indicators + widget) | 168 KB | 165.97 KB |
|
|
423
|
+
| **Everything** | **200 KB** | **197.58 KB** |
|
|
422
424
|
|
|
423
425
|
## Documentation
|
|
424
426
|
|
|
@@ -463,7 +465,7 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
|
|
|
463
465
|
```bash
|
|
464
466
|
npm install # install dev toolchain
|
|
465
467
|
npm run typecheck # strict TypeScript check
|
|
466
|
-
npm test # unit tests (vitest) -
|
|
468
|
+
npm test # unit tests (vitest) - 4337 across 193 files
|
|
467
469
|
npm run build # Rollup -> dist/ (minified ESM per tier + types)
|
|
468
470
|
npm run size # size-limit (Brotli) against the budget
|
|
469
471
|
npm run e2e # Playwright Chromium smoke tests
|
|
@@ -480,7 +482,7 @@ npm run verify # lint + typecheck + test + build + demo tests + dts + size +
|
|
|
480
482
|
|
|
481
483
|
## Status & limitations
|
|
482
484
|
|
|
483
|
-
Version **2.1.
|
|
485
|
+
Version **2.1.7**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
|
|
484
486
|
|
|
485
487
|
Known gaps, stated plainly:
|
|
486
488
|
|
package/dist/draw/index.d.ts
CHANGED
|
@@ -1019,6 +1019,8 @@ declare class DrawingLayer implements IPrimitive {
|
|
|
1019
1019
|
*/
|
|
1020
1020
|
private _hoverHandled;
|
|
1021
1021
|
draw(ctx: CanvasRenderingContext2D, rc: PrimitiveRenderContext): void;
|
|
1022
|
+
private _drawingContext;
|
|
1023
|
+
private _drawContent;
|
|
1022
1024
|
/**
|
|
1023
1025
|
* Anchor handles. A hover shows them light (thin, translucent) as a hint
|
|
1024
1026
|
* that the shape can be grabbed; a selection shows them at full weight.
|