@pond-ts/react 0.30.0 → 0.31.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +75 -5
  2. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,11 +3,14 @@
3
3
  All notable changes to this project are documented here.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
- `pond-ts` and `@pond-ts/react` release together under a single `v*` tag, so this
7
- file covers both packages. Pre-1.0: minor bumps may include new features and
8
- type-level changes; patch bumps are strictly additive.
9
-
10
- [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.30.0...HEAD
6
+ The `@pond-ts` packages — `pond-ts`, `@pond-ts/react`, `@pond-ts/charts`, and
7
+ `@pond-ts/fit` release together under a single `v*` tag, so this file covers
8
+ them all. Pre-1.0: minor bumps may include new features and type-level changes;
9
+ patch bumps are strictly additive.
10
+
11
+ [Unreleased]: https://github.com/pjm17971/pond-ts/compare/v0.31.1...HEAD
12
+ [0.31.1]: https://github.com/pjm17971/pond-ts/compare/v0.30.0...v0.31.1
13
+ [0.31.0]: https://github.com/pjm17971/pond-ts/compare/v0.30.0...3c4e8bd
11
14
  [0.30.0]: https://github.com/pjm17971/pond-ts/compare/v0.29.0...v0.30.0
12
15
  [0.29.0]: https://github.com/pjm17971/pond-ts/compare/v0.28.0...v0.29.0
13
16
  [0.28.0]: https://github.com/pjm17971/pond-ts/compare/v0.27.0...v0.28.0
@@ -22,6 +25,73 @@ type-level changes; patch bumps are strictly additive.
22
25
  [0.19.0]: https://github.com/pjm17971/pond-ts/compare/v0.18.0...v0.19.0
23
26
  [0.18.0]: https://github.com/pjm17971/pond-ts/compare/v0.17.1...v0.18.0
24
27
 
28
+ ## [0.31.1] — 2026-06-28
29
+
30
+ ### Fixed
31
+
32
+ - **`@pond-ts/charts` and `@pond-ts/fit` now ship their own README** on npm.
33
+ 0.31.0 inadvertently published the `pond-ts` core README on every package
34
+ (each `prepack` copied the repo-root README); charts and fit now carry their
35
+ own. No code or API changes.
36
+
37
+ ## [0.31.0] — 2026-06-28
38
+
39
+ First published release of **`@pond-ts/charts`** and **`@pond-ts/fit`** (both were
40
+ previously `private`). All four packages — `pond-ts`, `@pond-ts/react`,
41
+ `@pond-ts/charts`, `@pond-ts/fit` — now release together, lock-step, under one
42
+ `v*` tag.
43
+
44
+ ### Added — `pond-ts` (core)
45
+
46
+ - **`ValueSeries` + `TimeSeries.byValue(axis)` — the value axis as a closed
47
+ type.** `byValue` re-keys a series onto a monotonic non-time **value axis**
48
+ (distance, cumulative work, …), returning a `ValueSeries` — the value-keyed
49
+ counterpart of `TimeSeries`. It carries the ordering-based operators
50
+ (`axisValues`, `axisAt`, `column`, `nearestIndex`, `sliceByValue`); the
51
+ calendar/clock operators are deliberately absent — a value axis has no
52
+ wall-clock semantics, and the disjoint `ValueSeriesSchema` makes them
53
+ type-impossible. The axis must be **defined, finite, and non-decreasing at
54
+ every row** (it becomes the index); it is dropped from the value columns (it
55
+ is now the key) and the rest reshare zero-copy. Substrate: a new `'value'`
56
+ `KeyKind` + `ValueKeyColumn`. Projection is O(N + C); `nearestIndex` is
57
+ O(log N); `sliceByValue` is O(log N + C) zero-copy. (value-axis RFC Phase 1.)
58
+ - **`scan(source, step, init, options?)` — typed-accumulator running fold.** The
59
+ general form of `cumulative` (the classic `mapAccumL`): the accumulator `A`
60
+ (any value, seeded from `init`) is **decoupled** from the numeric `output` and
61
+ the output column. `step(acc, value, i)` returns `[nextAcc, output]`. With no
62
+ `options.output` the source column is **replaced** in place (as `cumulative`
63
+ does); with `options.output` a **new** column is appended and the source is
64
+ left intact. Missing-cell carry, stored-`NaN`, and multi-entity semantics are
65
+ inherited from `cumulative` (scope per entity with
66
+ `partitionBy(col).scan(...).collect()`). Column-native, O(N + C), no event
67
+ materialization. Enables `split = scan + byColumn` — materialize cross-bin
68
+ state (e.g. hysteresis elevation gain) into a column, then segment it with
69
+ `byColumn`'s pure, order-free reducers. (estela F-geo-2-splits; value-axis
70
+ RFC wave lead.)
71
+
72
+ ### Added — `@pond-ts/charts` (initial release)
73
+
74
+ - **First public release.** A React charting layer over pond-ts — a canvas data
75
+ plane with SVG interactive overlays. `ChartContainer` / `ChartRow` / `Layers`
76
+ composition; `LineChart`, `AreaChart`, `BarChart`, `Scatter`, `BoxPlot`;
77
+ `TimeAxis` / `YAxis` / `XAxis` (time **and** value x-axes); the cursor system
78
+ (staffed flag, per-row cursor modes); shared gap-rendering modes; and the
79
+ estela theme. Peer-depends on `pond-ts`, `@pond-ts/react`, and React 18/19.
80
+
81
+ ### Added — `@pond-ts/fit` (initial release)
82
+
83
+ - **First public release.** A fitness / activity domain library over pond-ts — the
84
+ `Activity` / `Section` façade, unit-safe quantities (`Distance` / `Speed` /
85
+ `Power` / … with `.format()`), geo / power / zones analytics, `Profile` +
86
+ `usingProfile()` → `ProfiledActivity` / `ProfiledSection`, and the `Track`
87
+ value object. Façade-first: one curated flat barrel, with the functional
88
+ operator surface kept internal. Peer-depends on `pond-ts`.
89
+
90
+ ### Changed
91
+
92
+ - **All `@pond-ts/*` peer / dependency ranges widened to `^0.31.0`** for the
93
+ lock-step release.
94
+
25
95
  ## [0.30.0] — 2026-06-17
26
96
 
27
97
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pond-ts/react",
3
- "version": "0.30.0",
3
+ "version": "0.31.1",
4
4
  "description": "React hooks for pond-ts live time series",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -33,7 +33,7 @@
33
33
  "test:runtime": "vitest run"
34
34
  },
35
35
  "peerDependencies": {
36
- "pond-ts": "^0.30.0",
36
+ "pond-ts": "^0.31.0",
37
37
  "react": "^18.0.0 || ^19.0.0"
38
38
  },
39
39
  "devDependencies": {