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