@glandais/vcyclist-engine 3.1.1 → 4.1.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/README.md CHANGED
@@ -28,6 +28,7 @@ TypeScript library for elevation data.
28
28
  │ ├─ MaxSpeedComputer (cornering+braking)│
29
29
  │ ├─ VirtualizeService (1 Hz physics) │
30
30
  │ ├─ PointPerSecond (uniform sampling) │
31
+ │ ├─ W′bal (Critical Power annotation) │
31
32
  │ └─ PathSimplifier (Douglas-Peucker 3D) │
32
33
  └──────────────────┬──────────────────────┘
33
34
  ▼
@@ -42,7 +43,7 @@ TypeScript library for elevation data.
42
43
  | Module | Purpose | Targets |
43
44
  |---|---|---|
44
45
  | **`:elevation`** | Terrarium tile fetch + DEM lookup + Haversine + Douglas-Peucker 3D + triangular smoother. See [`elevation/README.md`](elevation/README.md). | JVM, JS Node, JS browser, WASI |
45
- | **`:gpx`** | Path model (36 fields × `DoubleArray`), resamplers, Douglas-Peucker simplifier, elevation steps, GPX I/O. Published to Maven Central; **not** published to npm — its JS output ships inside `@glandais/vcyclist-engine`. | JVM, JS Node, JS browser, WASI |
46
+ | **`:gpx`** | Path model (38 fields × `DoubleArray`), resamplers, Douglas-Peucker simplifier, elevation steps, GPX I/O. Published to Maven Central; **not** published to npm — its JS output ships inside `@glandais/vcyclist-engine`. | JVM, JS Node, JS browser, WASI |
46
47
  | **`:engine`** | Physics (4 resistive `PowerProvider`s + cyclist input + `MaxSpeedComputer` + `VirtualizeService`), `Enhancer` pipeline, JVM CLI, JS façades. Re-exports `:gpx` via `api`, so `io.github.glandais.engine.path.*` and `…engine.gpx.*` stay importable from `:engine`. Also the module that links the standalone `.wasm` — see [`docs/wasm-wasi-abi.md`](docs/wasm-wasi-abi.md). | JVM, JS Node, JS browser, WASI |
47
48
  | **`:fit`** | Garmin FIT encoding. `FitCourse` model, unit conversions and `FitEncoder` itself, all in commonMain over [`fit-kotlin-sdk`](https://github.com/glandais/fit-kotlin-sdk) — a multiplatform SDK generated from the FIT profile. One encoder, byte-identical output on every target, and no vendor SDK for consumers to install. | JVM, JS Node, JS browser, WASI |
48
49
  | **`:map`** | Static map rendering: Web Mercator projection, image framing, tile download + cache, PNG output (`java.awt` / `ImageIO`). **JVM-only.** No default tile source — see [`map/README.md`](map/README.md) for the usage-policy obligations. | JVM only |
@@ -337,7 +338,6 @@ vcyclist/
337
338
  ├── gradle/libs.versions.toml # version catalog (Kotlin 2.3.21, coroutines 1.11, xmlutil 0.91, …)
338
339
  ├── docs/
339
340
  │ ├── PLAN.md # task-by-task progress (Phases 1-2bis)
340
- │ ├── parity.md # parity strategy vs the TS reference
341
341
  │ ├── elevation-integration.md # how to run live HTTP integration tests
342
342
  │ ├── kotlin-js-jvm-webp.md # Kotlin/JS ↔ JS interop guide
343
343
  │ └── tasks/ # one Markdown per implementation task (00-31, + bonus demos)
@@ -372,7 +372,6 @@ output points covering ~128.6 km / ~5.3 h of simulated ride.
372
372
 
373
373
  - [`docs/PLAN.md`](docs/PLAN.md) — task-by-task plan with commit hashes for every step.
374
374
  - [`docs/tasks/`](docs/tasks/) — detailed Markdown spec for each task (00-31 + bonus demos).
375
- - [`docs/parity.md`](docs/parity.md) — TS↔Kotlin parity approach and tolerances.
376
375
  - [`docs/kotlin-js-jvm-webp.md`](docs/kotlin-js-jvm-webp.md) — Kotlin/JS ↔ JS interop
377
376
  guide that underpins the `@JsExport` façades and the WebP tile decoding.
378
377
  - [`docs/publishing.md`](docs/publishing.md) — release flow (Maven Central + npm via