pond-ts 0.36.0 → 0.38.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 (2) hide show
  1. package/CHANGELOG.md +80 -3
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -8,7 +8,9 @@ The `@pond-ts` packages — `pond-ts`, `@pond-ts/react`, `@pond-ts/charts`, and
8
8
  them all. Pre-1.0: minor bumps may include new features and type-level changes;
9
9
  patch bumps are strictly additive.
10
10
 
11
- [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.36.0...HEAD
11
+ [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.38.0...HEAD
12
+ [0.38.0]: https://github.com/pjm17971/pond-ts/compare/v0.37.0...v0.38.0
13
+ [0.37.0]: https://github.com/pjm17971/pond-ts/compare/v0.36.0...v0.37.0
12
14
  [0.36.0]: https://github.com/pjm17971/pond-ts/compare/v0.35.0...v0.36.0
13
15
  [0.35.0]: https://github.com/pjm17971/pond-ts/compare/v0.34.1...v0.35.0
14
16
  [0.34.1]: https://github.com/pjm17971/pond-ts/compare/v0.34.0...v0.34.1
@@ -32,6 +34,81 @@ patch bumps are strictly additive.
32
34
  [0.19.0]: https://github.com/pjm17971/pond-ts/compare/v0.18.0...v0.19.0
33
35
  [0.18.0]: https://github.com/pjm17971/pond-ts/compare/v0.17.1...v0.18.0
34
36
 
37
+ ## [0.38.0] — 2026-07-03
38
+
39
+ A `@pond-ts/charts` release: **axis-edge value indicators + the crosshair
40
+ cursor** — the ChartIQ / Yahoo-Finance price-tag family, driven by the Tidal
41
+ terminal. `pond-ts`, `@pond-ts/react`, and `@pond-ts/fit` carry no code changes —
42
+ republished in lock-step (peer ranges widen to `^0.38.0`).
43
+
44
+ ### Added
45
+
46
+ - `@pond-ts/charts`: **`<YAxisIndicator>` + `createLiveValue`** — a value pill
47
+ pinned to a y-axis edge, decoupled from the series' last point. A `LiveValue`
48
+ `source` updates it at high frequency **without re-rendering the chart** (only
49
+ the subscribed pill repaints). Props: `value` / `source`, `axis`, `side`,
50
+ `color`, `format`, `line` (dashed guide), `pointer` (callout triangle).
51
+ - `@pond-ts/charts`: **`cursor="crosshair"`** `CursorMode` — a synced vertical
52
+ line + per-series dots, each series' value pinned to its y-axis and the hovered
53
+ time pinned to the x-axis.
54
+ - `@pond-ts/charts`: **`indicator`** opt-in on `<Baseline>` (a y-axis value pill)
55
+ and `<Marker>` (an x-axis time pill, with a connector down to the mark).
56
+ - `@pond-ts/charts`: `<Baseline labelSide>` (`left` / `right`) + `labelPosition`
57
+ (`center` on the line / `above` it) for the near-line label chip.
58
+ - `@pond-ts/charts`: `<Region edges>` (default `true`; `false` = shaded fill with
59
+ no side outlines).
60
+ - `@pond-ts/charts`: `axisPillStyle`, `contrastText`, `pointerStyle` chip helpers
61
+ are exported.
62
+
63
+ ### Changed
64
+
65
+ - `@pond-ts/charts`: axis indicator pills are **solid** (colour fill +
66
+ auto-contrast text), aligned to the tick-label row, and **always show the axis
67
+ coordinate** — never a custom label (a label stays the in-plot chip).
68
+ - `@pond-ts/charts`: cursor flag / inline chips now have **square corners**; the
69
+ cursor **time** atop a flag stack renders as plain text (no chip background).
70
+ - `@pond-ts/charts`: Storybook reorganized into a feature-axis reference tree with
71
+ systematic per-prop coverage (dev-only; stories are excluded from the package).
72
+
73
+ ### Fixed
74
+
75
+ - `@pond-ts/charts`: the crosshair x-axis pill used the container's time formatter
76
+ (showing a raw number on a value axis) — it now uses the axis's own resolved
77
+ formatter, matching the ticks. The crosshair also no longer double-renders the
78
+ time (a stray per-row chip alongside the x-axis pill).
79
+
80
+ ## [0.37.0] — 2026-07-02
81
+
82
+ A `@pond-ts/charts` release: the axis wave — label, tick, and domain controls
83
+ driven by the Tidal terminal's friction. `pond-ts`, `@pond-ts/react`, and
84
+ `@pond-ts/fit` carry no code changes — republished in lock-step (peer ranges
85
+ widen to `^0.37.0`).
86
+
87
+ ### Added
88
+
89
+ - **Charts — axis title typography (`theme.axis.title`).** The rotated y-axis
90
+ title now renders a touch larger than the ticks by default and is fully
91
+ themeable (`{ color, size, opacity }`, shared with the x-axis label). (#318)
92
+ - **Charts — `YAxis labelPlacement`.** `'rotated'` (default) or `'top'` — a
93
+ horizontal title above the axis, aligned to the axis line, in a reserved
94
+ header band that clears the top tick. (#318, #320)
95
+ - **Charts — `XAxis align`.** `'center'` (**new default**), `'auto'` (previous
96
+ behaviour: centred but first/last end-anchored), or `'right'` (label beside an
97
+ extended tick). (#318)
98
+ - **Charts — `YAxis pad`.** Fractional headroom added to each side of the
99
+ resolved domain (`0` default) — lifts a tight domain off the plot edges
100
+ without hand-computing bounds. (#319)
101
+ - **Charts — `YAxis boundaryLabels`.** `false` drops the top & bottom tick
102
+ numbers (gridlines stay) for stacked layouts where the edge labels crowd. (#319)
103
+ - **Charts — new `Charts/Axes` Storybook gallery** covering the above. (#318)
104
+
105
+ ### Changed
106
+
107
+ - **Charts — domain-extreme y-tick labels now clamp inside the row** instead of
108
+ half-overflowing the top/bottom edge (resolves Tidal friction F-charts-6). (#319)
109
+ - **Charts — `XAxis` tick-label default is now `'center'`** (was the
110
+ end-anchored `'auto'`). Pass `align="auto"` for the old behaviour. (#318)
111
+
35
112
  ## [0.36.0] — 2026-07-02
36
113
 
37
114
  A `@pond-ts/charts` release: a CSS-custom-property → theme bridge so a canvas
@@ -77,7 +154,7 @@ lock-step (their `pond-ts` / `@pond-ts/react` peer ranges widen to `^0.35.0`).
77
154
  (`[6, 4]` dashed, `[2, 3]` ≈ dotted; omit or `[]` = solid) applied to the
78
155
  series stroke. Lets a theme set a **modeled / forecast** line (e.g. GARCH
79
156
  vol) apart from an observed one at a glance. Distinct from a `GapMode`'s
80
- inferred gap-bridge dashing (which marks *missing data*, not the whole
157
+ inferred gap-bridge dashing (which marks _missing data_, not the whole
81
158
  line). Additive: existing themes are unaffected; a solid line never touches
82
159
  `setLineDash`. New `Charts/LineChart → LineStyles` story. (#313)
83
160
 
@@ -116,7 +193,7 @@ Tidal wire-format spike. `@pond-ts/react`, `@pond-ts/charts`, and
116
193
  - **`TimeSeries.fromColumns`** — the columnar (struct-of-arrays) ingress,
117
194
  the counterpart to `fromJSON`'s row-tuple shape. Accepts either a plain
118
195
  `number[]` or a `Float64Array` per column — one polymorphic door, so a
119
- wire format only changes the *decoder*, not the ingest. `Float64Array`
196
+ wire format only changes the _decoder_, not the ingest. `Float64Array`
120
197
  columns are adopted directly (zero-copy); `number[]` columns are copied.
121
198
  A `null`/`undefined` cell or a non-finite value (`NaN`/`Infinity`) is a
122
199
  gap, identically across both input shapes. Enforces the same
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pond-ts",
3
- "version": "0.36.0",
3
+ "version": "0.38.0",
4
4
  "description": "TypeScript-first time series primitives",
5
5
  "license": "MIT",
6
6
  "repository": {