tickup 1.0.34 → 1.0.35

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,20 +1,24 @@
1
1
  # Public exports & advanced topics
2
2
 
3
- Published API is split across **`tickup`** (default) and **`tickup/full`**. Symbols not listed here are **internal** (not semver-stable as public API).
3
+ Published API is split across **`tickup`** and **`tickup/full`**. Undocumented deep imports are **not** semver-stable.
4
4
 
5
- ## `tickup` (default — basic charts)
5
+ ## Standard Edition scope
6
+
7
+ **TickUp Core** (this package) is the **Standard Edition**: Canvas 2D rendering, **2,000**-bar history cap, **1 Hz** live-update throttling on Standard shells, and **three** overlay indicators. Optional types and engine helpers in **`tickup/full`** exist for compatibility with advanced or commercial integrations; runtime behavior remains subject to Standard Tier guardrails unless you use a separate licensed Prime deployment.
8
+
9
+ ## `tickup` (default)
6
10
 
7
11
  | Export | Role |
8
12
  |--------|------|
9
- | `TickUpStage` | Chart + axes + toolbars (when enabled via props) + optional **compact symbol strip** when `showTopBar` is false and `symbol` / `defaultSymbol` is set + imperative handle. |
10
- | `TickUpMark` | DOM wordmark; **`TickUpThemeVariant`**: `light` \| `dark` \| `grey` — uses bundled **transparent** PNGs per variant. |
11
- | `TickUpAttribution` | DOM attribution strip (wordmark + legal line); theme follows props. |
12
- | `GlobalStyle` | Styled global CSS fragment (optional for hosts). |
13
+ | `TickUpStage` | Chart + axes + optional toolbars + ref handle. |
14
+ | `TickUpMark` | DOM wordmark (`light` \| `dark` \| `grey`). |
15
+ | `TickUpAttribution` | Footer attribution strip. |
16
+ | `GlobalStyle` | Optional global CSS fragment. |
13
17
  | `ModeProvider`, `useMode` | Drawing mode context. |
14
- | `ChartOptions`, `DeepRequired` | Configuration typing helpers. |
15
- | Plus | Intervals, live-data utils, overlays builders, drawing specs/factories/query helpers, snapshot helpers, graph math (`timeToX`, …), `ShapeType` & shape arg types, `IDrawingShape`, enums (`ChartType`, `AxesPosition`, overlay keys), branding types, **`TickUpPrime`** / **`TickUpStandardEngine`** / **`createTickUpPrimeEngine`** / **`getTickUpPrimeThemePatch`** / **`TickUpChartEngine`**, Prime palette constants. |
18
+ | `ChartOptions`, `DeepRequired` | Configuration typing. |
19
+ | Plus | Intervals, live-data utils, overlay builders, drawing helpers, snapshot helpers, graph math, enums, shape types. |
16
20
 
17
- ## `tickup/full` (product shells + extended)
21
+ ## `tickup/full` (shells + extended)
18
22
 
19
23
  Everything in **`tickup`**, **plus**:
20
24
 
@@ -22,129 +26,65 @@ Everything in **`tickup`**, **plus**:
22
26
 
23
27
  | Export | Role |
24
28
  |--------|------|
25
- | `TickUpHost` | Full application shell (toolbar, settings, stage). |
26
- | `TickUpHost` | **Alias** of `TickUpHost`. |
27
- | `TickUpPulse` | Minimal product (plot + axes); symbol via compact strip when provided. |
28
- | `TickUpFlow` | Top bar, no drawing sidebar. |
29
- | `TickUpCommand` | Full trader UI. |
30
- | `TickUpDesk` | Same as Command; watermark on. |
31
- | `TickUpPrimeTier` | Licensed/eval shell: same chrome as Command; `productId: 'prime'`. |
32
- | `TickUpPrime`, `TickUpStandardEngine` | Engine profiles for **`setEngine`** / **`chartOptions.base.engine`**. **`TickUpPrime`** = dark Prime plot. |
33
- | `createTickUpPrimeEngine`, `getTickUpPrimeThemePatch` | **`'light' \| 'dark'`** Prime patches so the plot (and Prime **light glass** toolbars when `base.theme === 'light'`) match the host. |
34
- | `TICKUP_PRIME_PRIMARY`, `TICKUP_PRIME_SECONDARY`, `TICKUP_PRIME_TEXT` | Default Prime palette strings (hex / CSS color). |
35
- | `TickUpChartEngine` | Type for custom engines: `{ id, getChartOptionsPatch(): DeepPartial<ChartOptions> }`. |
36
- | `ChartStage` | **Deprecated** — use `TickUpStage`. |
37
- | `ShapePropertiesModal` | Shape property editor UI. |
38
-
39
- ### Component prop / handle types (full)
40
-
41
- `TickUpHostProps`, `TickUpHostHandle`, `TickUpPulseProps`, `TickUpFlowProps`, `TickUpCommandProps`, `TickUpDeskProps`, `TickUpPrimeTierProps`, `TickUpStageProps`, `TickUpStageHandle`, `ChartStageProps`, `ChartStageHandle` (deprecated), `TickUpAttributionProps`, `ShapePropertiesFormState`, `ModalThemeVariant`, `TickUpThemeVariant`, `TickUpProductId`.
29
+ | `TickUpHost` | Full shell: toolbar, settings, stage. |
30
+ | `TickUpPulse`, `TickUpFlow`, `TickUpCommand`, `TickUpDesk` | Product layouts. |
31
+ | `TickUpPrimeTier` | Prime product evaluation / licensed shell (`productId: 'prime'`). |
32
+ | `ShapePropertiesModal` | Shape property editor. |
42
33
 
43
- ## Context
34
+ ### Engine profiles (optional)
44
35
 
45
- | Export | Role |
46
- |--------|------|
47
- | `ModeProvider` | Wraps tree so drawing toolbar modes work. |
48
- | `useMode` | Access `{ mode, setMode }` inside provider. |
36
+ Exports such as **`TickUpStandardEngine`**, **`TickUpChartEngine`**, and related symbols allow merging patches via **`setEngine`**. Standard Tier limits still apply in this open-source runtime unless paired with a licensed Prime backend.
49
37
 
50
- The **`Mode` enum** is exported from **`tickup`** and **`tickup/full`** (used by the drawing toolbar and **`setInteractionMode`**). Hosts can still prefer **`DrawingSpec`** + ref APIs for programmatic shapes.
38
+ ### Types
51
39
 
52
- ## Core data types
40
+ `TickUpHostProps`, `TickUpHostHandle`, product prop types, `TickUpStageProps`, `TickUpStageHandle`, `TickUpAttributionProps`, `TickUpProductId`, etc.
53
41
 
54
- | Export | Role |
55
- |--------|------|
56
- | `Interval` | OHLCV bar. |
57
- | `TimeRange`, `VisibleViewRanges`, `ChartDimensionsData` | Time window; **visible time + price snapshot** (`getVisibleRanges()`); layout metrics. |
58
- | `LiveDataPlacement`, `LiveDataApplyResult` | Live merge contract. |
59
- | `ChartContextInfo` | `getChartContext()` snapshot. |
60
- | `TickUpProductId` | Product id union — **`tickup/full` only**: `pulse` \| `flow` \| `command` \| `desk` \| `prime`. |
42
+ ## Context
61
43
 
62
- ## Chart configuration types
44
+ `ModeProvider`, `useMode`, exported **`Mode`** enum.
63
45
 
64
- | Export | Role |
65
- |--------|------|
66
- | `ChartType`, `TimeDetailLevel` | Chart mode & axis tick density. |
67
- | `AxesPosition` | Y-axis left/right. |
68
- | `OverlayWithCalc`, `OverlaySeries`, `OverlayOptions` | Indicator configuration. |
69
- | `OverlayKind`, `OverlayPriceKey` | Enum keys for overlays. |
46
+ ## Data & config types
47
+
48
+ `Interval`, `TimeRange`, `VisibleViewRanges`, `LiveDataPlacement`, `LiveDataApplyResult`, `ChartContextInfo`, `ChartType`, `TimeDetailLevel`, `AxesPosition`, overlay types.
70
49
 
71
50
  ## Drawings
72
51
 
73
- | Export | Role |
74
- |--------|------|
75
- | `ShapeType` | String enum for spec `type`. |
76
- | `ShapeBaseArgs`, `Drawing` | Internal drawing description types. |
77
- | `DrawingSpec`, `DrawingPatch`, `DrawingInput` | Spec / patch / instance union for APIs. |
78
- | `drawingFromSpec`, `applyDrawingPatch`, `isDrawingPatch` | Build & merge helpers. |
79
- | `DrawingSnapshot`, `DrawingQuery`, `DrawingWithZIndex` | Query & serialization. |
80
- | `shapeToSnapshot`, `queryDrawingsToSnapshots`, `filterDrawingInstances`, `filterDrawingsWithMeta` | Snapshot pipelines. |
81
- | `IDrawingShape` | Instance interface. |
82
- | `LineShapeArgs`, `RectangleShapeArgs`, … `CustomSymbolShapeArgs` | Per-shape argument types. |
83
- | **Shape classes** | `LineShape`, `RectangleShape`, … — advanced/tests; **`tickup/full` only**. |
84
- | `generateDrawingShapeId` | Id factory. |
52
+ `ShapeType`, `DrawingSpec`, `DrawingPatch`, factories, query helpers, `IDrawingShape`, shape classes (**`tickup/full`**).
85
53
 
86
54
  ## Overlay builders
87
55
 
88
- | Export | Role |
89
- |--------|------|
90
- | `OverlaySpecs`, `withOverlayStyle`, `overlay` | Build `OverlayWithCalc` entries. |
91
-
92
- Details: [Overlays & indicators](./12-overlays-and-indicators.md).
93
-
94
- ## Live data utilities
95
-
96
- | Export | Role |
97
- |--------|------|
98
- | `applyLiveDataMerge` | Same merge as ref `applyLiveData` (pure function). |
99
- | `normalizeInterval`, `normalizeIntervals` | Validate/clamp bars. |
100
- | `dedupeByTimePreferLast` | Collapse duplicate timestamps. |
101
-
102
- ## Snapshot / export helpers
103
-
104
- | Export | Role |
105
- |--------|------|
106
- | `captureChartRegionToPngDataUrl` | Rasterize a DOM region. |
107
- | `buildChartSnapshotFileName`, `sanitizeChartSnapshotToken`, `contrastingFooterTextColor` | Filename & contrast helpers. |
108
- | `ChartSnapshotMeta` | Metadata type for snapshots. |
56
+ `OverlaySpecs`, `withOverlayStyle`, `overlay` see [Overlays & indicators](./12-overlays-and-indicators.md).
109
57
 
110
- ## Graph math (coordinate helpers)
58
+ ## Live data
111
59
 
112
- `timeToX`, `xToTime`, `priceToY`, `yToPrice`, `interpolatedCloseAtTime`, `lerp`, `xFromCenter`, `xFromStart` — align custom logic with chart scales.
60
+ `applyLiveDataMerge`, `normalizeInterval`, `normalizeIntervals`, `dedupeByTimePreferLast`.
113
61
 
114
- ## Not exported (internal)
62
+ ## Snapshot / export
115
63
 
116
- Examples: `FormattingService`, `deepMerge`, `deepEqual`, toolbar `Tooltip`, most styled wrappers. Do not import these from deep paths in apps if you want upgrade safety.
64
+ `captureChartRegionToPngDataUrl`, filename helpers, `ChartSnapshotMeta`.
117
65
 
118
- ## `TickUpStage` usage sketch
66
+ ## Graph math
119
67
 
120
- Wrap with **`ModeProvider`**. Pass **all** required `TickUpStageProps` from TypeScript (intervals, `chartOptions`, tick count, `timeDetailLevel`, `timeFormat12h`, selection state, chart-type handler, settings opener, toolbar flags, etc.). Many hosts use a **product component** or **`TickUpHost`** from **`tickup/full`** instead of wiring `TickUpStage` alone.
68
+ `timeToX`, `xToTime`, `priceToY`, `yToPrice`, etc.
121
69
 
122
- ## Init process (summary)
70
+ ## `TickUpStage` usage
123
71
 
124
- 1. Mount product or `TickUpHost` / `TickUpStage`.
125
- 2. Merge `chartOptions` with defaults (stable prop reference recommended).
126
- 3. Load `intervalsArray`; derive visible time and price ranges.
127
- 4. Allocate canvases; draw grid, session shading, series, histogram, watermark, overlays (if enabled), drawings.
128
- 5. After mount, the **ref** is non-null — run imperative calls in `useEffect` or callbacks. **`getViewInfo()` / `getChartContext()`** may still return **`null`** until the inner stage is ready; use optional chaining or retry briefly (see the [`example/`](../example/) app for patterns).
72
+ Wrap with **`ModeProvider`**. Pass required `TickUpStageProps` from TypeScript. Most apps use **`TickUpHost`** or a **product** component instead.
129
73
 
130
- ## Updating (summary)
74
+ ## Init / update (summary)
131
75
 
132
- | Concern | Mechanism |
133
- |---------|-----------|
134
- | Series | `intervalsArray` or `applyLiveData` / `addInterval` / index update |
135
- | Styles | `chartOptions` (deep merge on real changes) or Settings modal |
136
- | Drawings | Toolbar, or `addShape` / `updateShape` / `patchShape` / `setDrawingsFromSpecs` |
137
- | View | Pan/zoom, `fitVisibleRangeToData`, `redrawCanvas`, `reloadCanvas` |
138
- | Theme | **`themeVariant` / `defaultThemeVariant` / `onThemeVariantChange`** on **`TickUpHost`** + `chartOptions.base.theme` (and Prime helpers above). |
76
+ 1. Mount host or stage.
77
+ 2. Merge stable `chartOptions`.
78
+ 3. Load `intervalsArray` (clamped by Standard Tier).
79
+ 4. Canvases draw grid, series, histogram, watermark, overlays, drawings.
80
+ 5. Ref APIs: use `useEffect` / callbacks; **`getViewInfo()`** may be **`null`** until ready.
139
81
 
140
82
  ## Deprecated
141
83
 
142
- - `ChartStage`, `ChartStageProps`, `ChartStageHandle` → use `TickUpStage*`.
143
-
144
- ### Pro Tip
84
+ `ChartStage` → use `TickUpStage`.
145
85
 
146
- Build on core exports first, then adopt Prime engine helpers to add premium behavior while preserving your existing API integration.
86
+ ---
147
87
 
148
- ### Prime Showcase
88
+ ## Tier comparison: TickUp Prime
149
89
 
150
- [Explore the TickUp Prime Showcase](https://bardamri.github.io/tickup-charts/)
90
+ **[TickUp Prime](https://github.com/BARDAMRI/tickup-prime)** documents the commercial WebGL product, unlimited studies, and enterprise integrations. **[Showcase](https://bardamri.github.io/tickup-charts/)**
@@ -1,23 +1,21 @@
1
1
  # Overlays and indicators
2
2
 
3
- Technical indicator lines are drawn **on top of** the main series when overlays are enabled in chart options.
3
+ Indicator lines draw **on top of** the main series when overlays are enabled.
4
4
 
5
- ## Enable drawing
5
+ ## Standard Tier guardrails
6
6
 
7
- Set **`base.showOverlayLine`** to `true` (via `chartOptions` or defaults). Style defaults for stroke live under **`base.style.overlay`** (`lineColor`, `lineWidth`, `lineStyle`: solid | dashed | dotted).
7
+ - **Count** At most **three** simultaneous overlay studies. Requesting more triggers a toast and options are capped (see host behavior).
8
+ - **Data window** — Calculations use the same **2,000**-bar window as the chart (see [Data & live updates](./07-data-and-live-updates.md)).
8
9
 
9
- ## Two configuration styles
10
+ ## Enable drawing
10
11
 
11
- ### 1. `base.overlays` full control (`OverlayWithCalc[]`)
12
+ Set **`base.showOverlayLine`** to `true`. Styles live under **`base.style.overlay`** (`lineColor`, `lineWidth`, `lineStyle`).
12
13
 
13
- Each entry combines:
14
+ ## Configuration styles
14
15
 
15
- - **Style**line color, width, style (merged with defaults).
16
- - **`calc`** — an `OverlayCalcSpec` describing the math (see below).
17
- - **`connectNulls`** (optional) — draw through gaps in computed values (default true in helpers).
18
- - **`useCenterX`** (optional) — plot at bar center vs edge (default true in helpers).
16
+ ### 1. `base.overlays` `OverlayWithCalc[]`
19
17
 
20
- Build entries with exported helpers:
18
+ Each entry: **style**, **`calc`** (`OverlayCalcSpec`), optional **`connectNulls`**, **`useCenterX`**.
21
19
 
22
20
  ```ts
23
21
  import {
@@ -37,37 +35,34 @@ const overlays: OverlayWithCalc[] = [
37
35
 
38
36
  ### 2. `base.overlayKinds` — shorthand
39
37
 
40
- An array of **`OverlayKind`** string keys (or calc specs in the type definition; the renderer maps kinds through the same `overlay()` factory with **default periods**, e.g. SMA/EMA/WMA period 20, Bollinger period 20 / stddev 2). Useful for quick demos; prefer **`overlays`** for explicit periods and prices.
38
+ Array of **`OverlayKind`** keys with library default parameters. Prefer **`overlays`** for explicit periods.
41
39
 
42
40
  ## Calculation kinds (`OverlayCalcSpec`)
43
41
 
44
42
  | Kind | Role |
45
43
  |------|------|
46
- | `OverlayPriceKey` (`close`, `open`, `high`, `low`) | Raw price series. |
47
- | `sma`, `ema`, `wma` | Moving averages; `period` + optional `price` key. |
48
- | `vwap` | Volume-weighted average price (uses interval volume when present). |
49
- | `bbands_mid`, `bbands_upper`, `bbands_lower` | Bollinger mid/upper/lower; `period`, optional `stddev`, optional `price`. |
44
+ | `OverlayPriceKey` | Raw price series (`close`, `open`, `high`, `low`). |
45
+ | `sma`, `ema`, `wma` | Moving averages; `period` + optional `price`. |
46
+ | `vwap` | In **TickUp Core**, the VWAP slot does **not** compute a series (no line drawn). Use other overlays for analysis in Standard Edition. |
47
+ | `bbands_*` | Bollinger bands; `period`, optional `stddev`, optional `price`. |
50
48
 
51
- ## Exported API (from `tickup`)
49
+ ## Exported API (`tickup`)
52
50
 
53
51
  | Export | Role |
54
52
  |--------|------|
55
- | `OverlaySpecs` | Factory for calc specs. |
56
- | `withOverlayStyle` | Curried builder: shared style → many overlays. |
57
- | `overlay(kindOrSpec?, style?, extras?)` | Single `OverlayWithCalc` with defaults. |
53
+ | `OverlaySpecs` | Calc factories. |
54
+ | `withOverlayStyle` | Shared style → many overlays. |
55
+ | `overlay(...)` | Single `OverlayWithCalc` with defaults. |
58
56
  | `OverlayKind`, `OverlayPriceKey` | Enums. |
59
- | Types: `OverlayWithCalc`, `OverlaySeries`, `OverlayOptions` | Typing and advanced use. |
60
57
 
61
- Lower-level functions such as `computeSeriesBySpec`, `drawOverlays`, `drawOverlay` exist in source for maintainers; the **supported host integration path** is configuring **`chartOptions.base.overlays`** / **`overlayKinds`** and **`showOverlayLine`**.
58
+ Lower-level functions (`computeSeriesBySpec`, …) exist for maintainers; hosts should configure **`chartOptions`**.
62
59
 
63
60
  ## Chart types
64
61
 
65
- Overlays are wired in **candlestick**, **line**, **area**, and **bar** draw paths when `showOverlayLine` is true.
66
-
67
- ### Pro Tip
62
+ Overlays apply to candlestick, line, area, and bar when `showOverlayLine` is true.
68
63
 
69
- Prime indicator packs are designed for desks that need richer multi-study analysis than the standard open-source baseline.
64
+ ---
70
65
 
71
- ### Prime Showcase
66
+ ## Tier comparison: TickUp Prime
72
67
 
73
- [Explore the TickUp Prime Showcase](https://bardamri.github.io/tickup-charts/)
68
+ **TickUp Prime** includes expanded indicator and analysis features. **TickUp Core** provides the overlay system and limits above. **[TickUp Prime](https://github.com/BARDAMRI/tickup-prime)** · **[Showcase](https://bardamri.github.io/tickup-charts/)**
@@ -2,63 +2,53 @@
2
2
 
3
3
  ## Locale and language
4
4
 
5
- Axis labels, dates, and many settings strings follow **`chartOptions.base.style.axes`**:
5
+ Axis labels and many strings follow **`chartOptions.base.style.axes`**:
6
6
 
7
7
  | Field | Role |
8
8
  |-------|------|
9
- | `locale` | BCP 47 tag (e.g. `en-US`, `he-IL`). Drives date/number formatting and default direction. |
10
- | `language` | UI language key for built-in labels (toolbar tooltips, settings, etc.). |
9
+ | `locale` | BCP 47 tag (e.g. `en-US`, `he-IL`). |
10
+ | `language` | UI language key for built-in labels. |
11
11
 
12
- The in-app **Settings → Regional** category updates these fields. The library ships multiple locale presets (decimal/thousands separators, date patterns, default currency, **RTL** vs LTR) in internal locale tables.
12
+ **Settings → Regional** updates these fields. The library ships locale presets (separators, date patterns, default currency, **RTL** vs LTR).
13
13
 
14
14
  ### RTL
15
15
 
16
- When the active locale defaults specify `direction: 'rtl'`, toolbar and settings layout flip appropriately (`dir` on toolbars/modals).
16
+ When the active locale specifies `direction: 'rtl'`, toolbar and modal layout flip (`dir` on containers).
17
17
 
18
18
  ## Numeric and currency display
19
19
 
20
- Axes support:
21
-
22
- - Fraction digits, min/max significant digits, `tickSize`, `autoPrecision`
23
- - `currency`, `useCurrency`, `currencyDisplay`
24
- - `numberNotation`: `standard` | `scientific` | `compact`
25
- - `unit` / `unitPlacement`
26
- - Optional **`displayCurrency`** / **`conversionRate`** for converted display (host-defined semantics)
20
+ Axes support fraction digits, significant digits, `tickSize`, `autoPrecision`, `currency`, `useCurrency`, `currencyDisplay`, `numberNotation`, `unit` / `unitPlacement`, optional **`displayCurrency`** / **`conversionRate`** (host-defined).
27
21
 
28
22
  ## Time axis
29
23
 
30
- - **`timezone`** — string such as `UTC` or `America/New_York` for session logic and labeling where used.
31
- - **`dateFormat`** — pattern consumed by the formatting layer.
32
- - Shell prop **`initialTimeFormat12h`** and settings **12-hour toggle** affect time presentation.
33
- - **`TimeDetailLevel`** (`Auto` / `Low` / `Medium` / `High`) controls tick density (prop `initialTimeDetailLevel`).
24
+ - **`timezone`** — e.g. `UTC`, `America/New_York`.
25
+ - **`dateFormat`** — formatting pattern.
26
+ - **`initialTimeFormat12h`** and settings toggle 12h vs 24h.
27
+ - **`TimeDetailLevel`** tick density (`initialTimeDetailLevel`).
34
28
 
35
29
  ## Trading sessions and holidays
36
30
 
37
- `axes` options include:
38
-
39
- - **`tradingSessions`** — array of `{ dayOfWeek, start, end }` with `start`/`end` as `'HH:mm'` strings; used to **shade off-session** periods on the chart.
40
- - **`holidays`** — ISO `YYYY-MM-DD` strings for calendar context (where integrated).
41
- - **`exchange`** — display/metadata string.
31
+ - **`tradingSessions`** — `{ dayOfWeek, start, end }` with `HH:mm`; **shades** off-session periods.
32
+ - **`holidays`** — ISO `YYYY-MM-DD` where integrated.
33
+ - **`exchange`** — display/metadata.
42
34
 
43
35
  ## Grid and background
44
36
 
45
- - **`base.style.showGrid`** — toggles grid lines (`grid` sub-style: colors, dash, spacing).
46
- - **`base.style.backgroundColor`** — plot background.
37
+ - **`base.style.showGrid`**
38
+ - **`base.style.backgroundColor`**
47
39
 
48
40
  ## Y axis layout
49
41
 
50
- - **`axes.yAxisPosition`** — `AxesPosition.left` or `.right`.
51
- - **`axes.numberOfYTicks`** — count (also `initialNumberOfYTicks` on the shell).
52
- - **`initialYAxisWidth`** / **`initialXAxisHeight`** — layout hints passed into the stage.
53
-
54
- ## Clipboard (shell behavior)
42
+ - **`axes.yAxisPosition`** — left or right.
43
+ - **`axes.numberOfYTicks`**
44
+ - **`initialYAxisWidth`** / **`initialXAxisHeight`**
55
45
 
56
- When users copy selected text, the host shell may **normalize** numbers to a canonical plain form using the same axis parsing rules (implemented inside the chart app wrapper). This is a UX nicety for spreadsheets, not a separate public API export.
46
+ ## Clipboard (shell)
57
47
 
58
- ### Pro Tip
48
+ Copying selected text may normalize numbers for spreadsheets (formatting integration).
59
49
 
60
- TickUp Prime is the right upgrade path for teams that need production-grade multilingual interfaces with advanced layout and rendering requirements.
50
+ ---
61
51
 
62
- ### Prime Showcase
52
+ ## Tier comparison: TickUp Prime
63
53
 
64
- [Explore the TickUp Prime Showcase](https://bardamri.github.io/tickup-charts/)
54
+ Commercial Prime offerings may bundle additional locale or layout packages. **TickUp Core** behavior is as documented above. **[TickUp Prime](https://github.com/BARDAMRI/tickup-prime)** · **[Showcase](https://bardamri.github.io/tickup-charts/)**
@@ -1,10 +1,10 @@
1
1
  # Legal and policies
2
2
 
3
- TickUp ships as **open-source software** (see the **LICENSE** file in the repository root when present) and may also be described, demoed, or offered through **websites, accounts, or hosted services**. **Legal terms for those offerings**—including intellectual property, acceptable use, suspension or termination of access, privacy, and standard limitations of liability—are maintained as **templates** in the repository for you to customize with your lawyer.
3
+ **TickUp Core** is **open-source software** (see the **LICENSE** file in the repository root). Hosted demos or commercial offerings may use separate terms.
4
4
 
5
5
  ## Where to read the documents
6
6
 
7
- Policy templates ship **next to** this folder in the npm package (`node_modules/tickup/legal/`) and in the Git clone. All files live under **[`../legal/`](../legal/)**:
7
+ Policy templates ship next to this folder in the npm package (`node_modules/tickup/legal/`) and in the Git clone under **[`../legal/`](../legal/)**:
8
8
 
9
9
  | Document | File |
10
10
  |----------|------|
@@ -13,28 +13,26 @@ Policy templates ship **next to** this folder in the npm package (`node_modules/
13
13
  | **Privacy Policy** | [`../legal/PRIVACY_POLICY.md`](../legal/PRIVACY_POLICY.md) |
14
14
  | **Acceptable Use Policy** | [`../legal/ACCEPTABLE_USE_POLICY.md`](../legal/ACCEPTABLE_USE_POLICY.md) |
15
15
 
16
- ## What the Terms of Service cover (summary)
16
+ ## Terms of Service (summary)
17
17
 
18
- The Terms of Service template is written so you can:
18
+ The Terms template helps you:
19
19
 
20
- - **Retain ownership** of TickUp branding, product, documentation, and proprietary parts of the Services.
21
- - **Suspend or terminate** user access, change or discontinue features, and refuse service where appropriate, subject to applicable law and any stricter promises you make elsewhere.
22
- - Use **standard protections**: disclaimers of warranty, caps on liability, indemnity where appropriate, governing law and venue placeholders, and rules for changes to the terms.
20
+ - **Retain ownership** of branding, product, and documentation.
21
+ - **Suspend or terminate** access where appropriate, subject to law.
22
+ - Use **standard protections**: warranty disclaimers, liability caps, indemnity, governing law placeholders.
23
23
 
24
- **Open-source code** released under the repo **LICENSE** is called out separately so the license for that code and the Terms for hosted products can coexist without confusion.
24
+ **Open-source code** under the repo **LICENSE** is called out separately from terms for hosted products.
25
25
 
26
26
  ## Not legal advice
27
27
 
28
- These markdown files are **starting points**, not a substitute for counsel. Replace all bracketed placeholders (`[Legal Entity Name]`, `[Contact Email]`, `[Jurisdiction]`, etc.) and adapt clauses for your entity, products, and regions before publication.
28
+ These files are **starting points**. Replace bracketed placeholders and adapt with qualified counsel before publication.
29
29
 
30
30
  ## Older stub
31
31
 
32
- A short legacy note lives in the repo under **`docs/Documentation/Terms_of_Use.md`** (that tree is **not** bundled on npm). [View on GitHub](https://github.com/BARDAMRI/TickUp/blob/main/docs/Documentation/Terms_of_Use.md) — it points here and to **`legal/`**.
32
+ A legacy note may live under **`docs/Documentation/Terms_of_Use.md`** (not bundled on npm).
33
33
 
34
- ### Pro Tip
34
+ ---
35
35
 
36
- Commercial Prime deployments should always pair technical rollout with the appropriate legal terms and policy templates for hosted services.
36
+ ## Tier comparison: TickUp Prime
37
37
 
38
- ### Prime Showcase
39
-
40
- [Explore the TickUp Prime Showcase](https://bardamri.github.io/tickup-charts/)
38
+ Commercial **TickUp Prime** subscriptions should use counsel-approved terms for billing and support. OSS **LICENSE** terms govern this Core package. **[TickUp Prime](https://github.com/BARDAMRI/tickup-prime)**
@@ -1,41 +1,40 @@
1
- # TickUp Charts documentation
1
+ # TickUp Core documentation
2
2
 
3
- Complete guides for integrating and operating the TickUp Charts React charting library.
3
+ Integration guides for **TickUp Core** (Standard Edition): the MIT open-source React charting library shipped as the **`tickup`** npm package.
4
4
 
5
- The **npm package** has **`tickup`** (default — `TickUpStage` and chart helpers) and **`tickup/full`** (e.g. `TickUpCommand`, `TickUpHost`, extended exports). Product-focused guides import from **`tickup/full`**.
5
+ ## Package entries
6
6
 
7
- Published tarballs **include this `documentation/` folder** and the sibling **`legal/`** policy templates (see root `package.json` **`files`**) so links in **[14-legal-and-policies.md](./14-legal-and-policies.md)** resolve under `node_modules/tickup/`. Type declarations ship in **`dist/*.d.ts`**. This documentation covers the open-source core package.
7
+ - **`tickup`** `TickUpStage`, types, overlays, live-data helpers, and drawing utilities.
8
+ - **`tickup/full`** — Product shells (`TickUpCommand`, `TickUpHost`, …), extended exports, and optional engine profile types for advanced setups.
8
9
 
9
- The **reference example app** in [`../example/`](../example/) (Vite + React) exercises all product tiers, `chartOptions`, the compact symbol strip on Pulse, host symbol callbacks, and the imperative ref API; see [`../example/README.md`](../example/README.md). The example app itself is **not** published to npm.
10
+ Published tarballs include this **`documentation/`** folder and sibling **`legal/`** templates (see root **`package.json`** **`files`**). Type declarations ship under **`dist/*.d.ts`**.
11
+
12
+ The **example app** in [`../example/`](../example/) (Vite + React) demonstrates hosts, `chartOptions`, and the imperative ref API; it is **not** published to npm.
10
13
 
11
14
  ## Contents
12
15
 
13
16
  | # | Guide | Description |
14
17
  |---|--------|-------------|
15
- | 1 | [Introduction](./01-introduction.md) | Overview, package scope, and Prime upgrade path |
16
- | 2 | [Glossary](./01-glossary.md) | Terms: intervals, ranges, products, placements, etc. |
17
- | 3 | [Installation](./02-installation.md) | Peer dependencies, package install, styled-components |
18
- | 4 | [Quick start](./03-quick-start.md) | Minimal embed, ref, controlled data |
19
- | 5 | [Products & layout](./04-products-and-layout.md) | Pulse, Flow, Command, Desk; toolbars (public line) |
20
- | 6 | [Props & chart options](./05-props-and-chart-options.md) | `TickUpHost`, `chartOptions`, shell theme + chart theme |
21
- | 7 | [Imperative API](./06-imperative-api.md) | Ref handle: shapes, data, **`getVisibleRanges()`**, **`getCanvasSize()`**, view, context |
22
- | 8 | [Data & live updates](./07-data-and-live-updates.md) | `intervalsArray`, `applyLiveData`, merge helpers |
23
- | 9 | [Drawings & shapes](./08-drawings-and-shapes.md) | Toolbar tools, select/edit, programmatic shapes & patches |
24
- | 10 | [Settings modal](./09-settings-modal.md) | In-app settings categories and persistence |
25
- | 11 | [Toolbar & interactions](./10-toolbar-and-interactions.md) | Chart type, snapshot, crosshair, tooltip, pan/zoom |
26
- | 12 | [Exports & advanced](./11-exports-and-advanced.md) | Full export list, `TickUpStage`, branding, init/update |
27
- | 13 | [Overlays & indicators](./12-overlays-and-indicators.md) | SMA/EMA/VWAP/Bollinger, `overlays` / `overlayKinds` |
28
- | 14 | [i18n & axes](./13-internationalization-and-axes.md) | Locale, RTL, currency, sessions, grid |
29
- | 15 | [Legal & policies](./14-legal-and-policies.md) | Terms of Service, Privacy, Acceptable Use templates (`legal/`) |
30
-
31
- ## Older material
32
-
33
- Additional notes and legacy pages may still live under [`../docs/`](../docs/) (roadmap, contributing, design). The **authoritative integration reference** is this `documentation/` folder.
34
-
35
- ### Pro Tip
36
-
37
- Use this docs hub for core integration, then evaluate TickUp Prime for teams that require premium rendering profiles and commercial-grade analysis workflows.
38
-
39
- ### Prime Showcase
40
-
41
- [Explore the TickUp Prime Showcase](https://bardamri.github.io/tickup-charts/)
18
+ | 1 | [Introduction](./01-introduction.md) | Scope of TickUp Core (Standard Tier) |
19
+ | 2 | [Glossary](./01-glossary.md) | Intervals, ranges, products, placements |
20
+ | 3 | [Installation](./02-installation.md) | Peers, install, bundlers |
21
+ | 4 | [Quick start](./03-quick-start.md) | Minimal embed and data flow |
22
+ | 5 | [Products & layout](./04-products-and-layout.md) | Pulse, Flow, Command, Desk |
23
+ | 6 | [Props & chart options](./05-props-and-chart-options.md) | `TickUpHost`, `chartOptions` |
24
+ | 7 | [Imperative API](./06-imperative-api.md) | Ref handle: data, view, drawings |
25
+ | 8 | [Data & live updates](./07-data-and-live-updates.md) | `intervalsArray`, `applyLiveData`, guardrails |
26
+ | 9 | [Drawings & shapes](./08-drawings-and-shapes.md) | Toolbar tools and programmatic shapes |
27
+ | 10 | [Settings modal](./09-settings-modal.md) | In-app settings categories |
28
+ | 11 | [Toolbar & interactions](./10-toolbar-and-interactions.md) | Symbol strip, pan/zoom, snapshot |
29
+ | 12 | [Exports & advanced](./11-exports-and-advanced.md) | Public export surface |
30
+ | 13 | [Overlays & indicators](./12-overlays-and-indicators.md) | Standard Tier overlays |
31
+ | 14 | [i18n & axes](./13-internationalization-and-axes.md) | Locale, RTL, sessions |
32
+ | 15 | [Legal & policies](./14-legal-and-policies.md) | Policy templates in `legal/` |
33
+
34
+ Legacy notes may appear under [`../docs/`](../docs/). **Authoritative integration reference** is this folder.
35
+
36
+ ---
37
+
38
+ ## Tier comparison: TickUp Prime
39
+
40
+ **TickUp Core** (this package) is the **Standard Edition**: Canvas 2D, a **2,000**-candle cap, **1 Hz** live-update throttling on Standard shells, and **three** overlay indicators. For WebGL rendering, unlimited history, and expanded tooling, see **[TickUp Prime](https://github.com/BARDAMRI/tickup-prime)** and the **[live showcase](https://bardamri.github.io/tickup-charts/)**.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tickup",
3
- "version": "1.0.34",
3
+ "version": "1.0.35",
4
4
  "description": "High-performance React financial charts. Canvas 2D rendering, advanced technical analysis tools, and real-time data streaming.",
5
5
  "type": "module",
6
6
  "main": "./dist/tickup.cjs.js",