openalgo-charts 2.5.1 → 2.5.3

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 CHANGED
@@ -12,7 +12,7 @@ with no runtime dependencies.
12
12
  [![npm version](https://img.shields.io/npm/v/openalgo-charts.svg?color=cb3837&label=npm)](https://www.npmjs.com/package/openalgo-charts)
13
13
  [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
14
14
  [![npm downloads](https://img.shields.io/npm/dm/openalgo-charts.svg?color=0ea5e9&label=npm%20downloads)](https://www.npmjs.com/package/openalgo-charts)
15
- [![tests](https://img.shields.io/badge/engine%20tests-5918%20passing-brightgreen.svg)](#develop)
15
+ [![tests](https://img.shields.io/badge/engine%20tests-6095%20passing-brightgreen.svg)](#develop)
16
16
  [![dependencies](https://img.shields.io/badge/runtime%20deps-0-brightgreen.svg)](#principles)
17
17
 
18
18
  [**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)
@@ -25,7 +25,7 @@ with no runtime dependencies.
25
25
  npm install openalgo-charts
26
26
  ```
27
27
 
28
- Current version: **2.5.1**. Hosts can hide finished alert lines while keeping their saved history.
28
+ Current version: **2.5.3**. Inspect chart data, organize drawings and studies, and find instruments faster.
29
29
  See the [changelog](./CHANGELOG.md) for release notes.
30
30
 
31
31
  ## Quick start
@@ -56,7 +56,7 @@ for live data, or [the widget example](#the-whole-terminal-in-one-call) for char
56
56
 
57
57
  ## Architecture
58
58
 
59
- <a href="docs/architecture-diagram.svg"><img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts 2.5.1 architecture: host responsibilities, the base data-to-rendering pipeline with alerts and shared replay, and eight optional tiers including workspace storage, trading tools and the widget" width="920" /></a>
59
+ <a href="docs/architecture-diagram.svg"><img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts 2.5.3 architecture: host responsibilities, the base data-to-rendering pipeline with alerts and shared replay, and eight optional tiers including workspace storage, trading tools and the widget" width="920" /></a>
60
60
 
61
61
  How data reaches the chart, what your app owns, and which features you can import.
62
62
  [Open the full-size diagram](docs/architecture-diagram.svg).
@@ -107,7 +107,7 @@ You can also load the library from a CDN in a plain HTML page:
107
107
  ```html
108
108
  <div id="chart" style="width:100vw;height:100vh"></div>
109
109
  <script type="module">
110
- import { createChart, generateBars } from 'https://unpkg.com/openalgo-charts@2.5.1/dist/openalgo-charts.mjs';
110
+ import { createChart, generateBars } from 'https://unpkg.com/openalgo-charts@2.5.3/dist/openalgo-charts.mjs';
111
111
  const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
112
112
  chart.addSeries('candlestick').setData(generateBars(1700000000, 200, 3600));
113
113
  chart.fitContent();
@@ -157,17 +157,17 @@ Unused optional tiers stay out of the base chart download.
157
157
 
158
158
  | Import | Contents | Brotli |
159
159
  |---|---|---|
160
- | `openalgo-charts` | Engine, 13 chart types, panes and scales, custom indicator registry, primitives, alerts, replay, comparisons, chart linking, state, feeds, bar cache, trading overlays, CSV and SVG export | 93.60 kB |
160
+ | `openalgo-charts` | Engine, 13 chart types, panes and scales, custom indicator registry, primitives, alerts, replay, comparisons, chart linking, state, feeds, bar cache, trading overlays, CSV and SVG export | 96.54 kB |
161
161
  | `openalgo-charts/indicators` | 105 built-in indicators, calculation helpers and helpers for studies that use external data | 29.84 kB |
162
- | `openalgo-charts/draw` | 85 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 35.43 kB |
162
+ | `openalgo-charts/draw` | 87 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 41.56 kB |
163
163
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point &amp; Figure, Kagi, and symbol arithmetic (`AAPL/MSFT`) | 4.50 kB |
164
164
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 kB |
165
165
  | `openalgo-charts/trade` | Order, position and bracket tools, plus a depth-of-market ladder | 8.01 kB |
166
166
  | `openalgo-charts/webgl` | GPU drawing for supported series, with Canvas 2D fallback | 6.39 kB |
167
- | `openalgo-charts/widget` | `createWidget`: toolbar, drawing controls, dialogs, mobile controls, status line, shortcuts and optional layout persistence | 49.06 kB |
168
- | `openalgo-charts/workspace` | Validated workspace and indicator-template documents, named catalogs with revision checks, asynchronous storage and an IndexedDB adapter; no DOM | 5.52 kB |
167
+ | `openalgo-charts/widget` | `createWidget`: toolbar, Data and Objects dock, symbol search, dialogs, mobile controls, shortcuts and optional layout persistence | 59.22 kB |
168
+ | `openalgo-charts/workspace` | Validated workspace and indicator-template documents, named catalogs with revision checks, asynchronous storage and an IndexedDB adapter; no DOM | 5.55 kB |
169
169
 
170
- Everything together is **247.32 kB Brotli**; a widget terminal with built-in indicators (base + draw + indicators + widget) is 207.93 kB. Figures are measured from the 2.5.1 release build. The trade tier is 8.01 kB on its own; base + trade costs 101.60 kB. Sizes use decimal kB.
170
+ Everything together is **266.57 kB Brotli**; a widget terminal with built-in indicators (base + draw + indicators + widget) is 227.16 kB. Figures are measured from the 2.5.3 release build. The trade tier is 8.01 kB on its own; base + trade costs 104.55 kB. Sizes use decimal kB.
171
171
 
172
172
  ## What's built
173
173
 
@@ -223,7 +223,7 @@ const draw = new DrawingController(chart, { magnet: true });
223
223
  draw.setTool('trend-line'); // the next two clicks place it
224
224
  ```
225
225
 
226
- 85 tools. Lines, channels and four pitchfork variants. Fibonacci levels, time projections, fans, circles, arcs, wedges and spirals. Gann fans, boxes and squares. Harmonic patterns, Elliott waves and Head and Shoulders. Geometric wavefronts and tessellation. Shapes, paths, forecasts, positions, measurements, text, tables and freehand brushes. Every tool appears in the [editable drawing gallery](https://marketcalls.github.io/openalgo-charts/demos/drawings/index.html), with simulated NIFTY prices near 23800 and desktop or touch controls.
226
+ 87 tools. Lines, channels and four pitchfork variants. Fibonacci levels, time projections, fans, circles, arcs, wedges and spirals. Gann fans, boxes and squares. Harmonic patterns, Elliott waves and Head and Shoulders. Geometric wavefronts and tessellation. Shapes, paths, forecasts, positions, measurements, text, tables and freehand brushes. Every tool appears in the [editable drawing gallery](https://marketcalls.github.io/openalgo-charts/demos/drawings/index.html), with simulated NIFTY prices near 23800 and desktop or touch controls.
227
227
 
228
228
  Headless by design: no toolbar, no dialogs. Placement with live preview, selection, whole-shape and per-anchor dragging, magnet snap to O/H/L/C, undo/redo (a drag is one step), and persistence. Anchors are `{ time, price }`, never pixels, so they survive zoom and resolve inside collapsed session gaps and past the last bar.
229
229
 
@@ -489,17 +489,17 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
489
489
 
490
490
  | Bundle | Limit | Actual |
491
491
  |---|---|---|
492
- | Base engine | 93.75 kB | 93.60 kB |
493
- | Base + trade | 101.75 kB | 101.60 kB |
492
+ | Base engine | 97 kB | 96.54 kB |
493
+ | Base + trade | 105.1 kB | 104.55 kB |
494
494
  | Indicators tier | 30 kB | 29.84 kB |
495
- | Draw tier | 36 kB | 35.43 kB |
495
+ | Draw tier | 42 kB | 41.56 kB |
496
496
  | Transform tier | 6 kB | 4.50 kB |
497
497
  | Profile tier | 15 kB | 14.96 kB |
498
498
  | WebGL2 tier | 7 kB | 6.39 kB |
499
- | Widget tier | 49.25 kB | 49.06 kB |
500
- | Widget terminal (base + draw + indicators + widget) | 208.25 kB | 207.93 kB |
501
- | Workspace tier | 6 kB | 5.52 kB |
502
- | **Everything** | 247.75 kB | 247.32 kB |
499
+ | Widget tier | 60.5 kB | 59.22 kB |
500
+ | Widget terminal (base + draw + indicators + widget) | 229 kB | 227.16 kB |
501
+ | Workspace tier | 6 kB | 5.55 kB |
502
+ | **Everything** | 269 kB | 266.57 kB |
503
503
 
504
504
  ## Documentation
505
505
 
@@ -544,8 +544,8 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
544
544
  ```bash
545
545
  npm install # install dev toolchain
546
546
  npm run typecheck # strict TypeScript check
547
- npm test # engine unit tests (Vitest): 5918 across 249 files
548
- npm run test:demo # reference-host tests: 415 across 32 files
547
+ npm test # engine unit tests (Vitest): 6095 across 268 files
548
+ npm run test:demo # reference-host tests: 424 across 35 files
549
549
  npm run test:endurance # node endurance-harness tests: 7 cases
550
550
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
551
551
  npm run size # size-limit (Brotli) against the budget
@@ -563,7 +563,7 @@ npm run verify # lint + types + unit + endurance harness + build + demo + dt
563
563
 
564
564
  ## Status &amp; limitations
565
565
 
566
- Version **2.5.1**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
566
+ Version **2.5.3**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
567
567
 
568
568
  Known gaps, stated plainly:
569
569