@glandais/vcyclist-elevation-wasm 0.0.0 → 1.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 ADDED
@@ -0,0 +1,214 @@
1
+ # vcyclist
2
+
3
+ [![npm engine](https://img.shields.io/npm/v/@glandais/vcyclist-engine?label=%40glandais%2Fvcyclist-engine)](https://www.npmjs.com/package/@glandais/vcyclist-engine)
4
+ [![npm elevation](https://img.shields.io/npm/v/@glandais/vcyclist-elevation?label=%40glandais%2Fvcyclist-elevation)](https://www.npmjs.com/package/@glandais/vcyclist-elevation)
5
+ [![Maven Central](https://img.shields.io/maven-central/v/io.github.glandais/vcyclist-engine?label=io.github.glandais%3Avcyclist-engine)](https://central.sonatype.com/artifact/io.github.glandais/vcyclist-engine)
6
+
7
+ Kotlin Multiplatform port of [`@glandais/virtual-cyclist`](https://github.com/glandais/virtual-cyclist):
8
+ physics-based cycling simulator that turns a static GPS trace into a virtualized ride with
9
+ realistic speeds, times and power estimates. Inspired by [gpx2web](https://github.com/glandais/gpx2web)
10
+ (Java) for the physics model and the [`@glandais/elevation`](https://github.com/glandais/elevation)
11
+ TypeScript library for elevation data.
12
+
13
+ ```
14
+ ┌──────────────┐
15
+ sample.gpx ────▶│ GpxParser │
16
+ └──────┬───────┘
17
+
18
+ ┌─────────────────────────────────────────┐
19
+ │ Enhancer (orchestrator) │
20
+ │ ├─ PointPerDistance(-1, 30) │
21
+ │ ├─ fixElevation (Terrarium tiles)* │
22
+ │ ├─ PointPerDistance(1, 2) │
23
+ │ ├─ smoothElevation (150 m kernel) │
24
+ │ ├─ MaxSpeedComputer (cornering+braking)│
25
+ │ ├─ VirtualizeService (1 Hz physics) │
26
+ │ ├─ PointPerSecond (uniform sampling) │
27
+ │ └─ PathSimplifier (Douglas-Peucker 3D) │
28
+ └──────────────────┬──────────────────────┘
29
+
30
+ ┌──────────────┐
31
+ │ GpxWriter │────▶ output.gpx
32
+ └──────────────┘
33
+ (*) optional — needs an ElevationProvider
34
+ ```
35
+
36
+ ## Modules
37
+
38
+ | Module | Purpose | Targets |
39
+ |---|---|---|
40
+ | **`:elevation`** | Terrarium tile fetch + DEM lookup + Haversine + Douglas-Peucker 3D + triangular smoother. See [`elevation/README.md`](elevation/README.md). | JVM, JS Node, JS browser, Wasm browser |
41
+ | **`:engine`** | Path model (36 fields × `DoubleArray`), physics (4 resistive `PowerProvider`s + cyclist input + `MaxSpeedComputer` + `VirtualizeService`), GPX I/O, `Enhancer` pipeline, JVM CLI. | JVM, JS Node, JS browser, Wasm browser |
42
+ | **`:codegen`** | Tiny build-time helper that regenerates `GeneratedPath.kt` + `PointFieldAccessors.kt` from `PointField` (run only when the field list changes). | JVM only |
43
+
44
+ ## Install
45
+
46
+ ### npm (Kotlin/JS or Kotlin/Wasm consumers)
47
+
48
+ ```bash
49
+ npm install @glandais/vcyclist-engine # Kotlin/JS bundle
50
+ npm install @glandais/vcyclist-engine-wasm # Kotlin/Wasm bundle
51
+ npm install @glandais/vcyclist-elevation # Kotlin/JS bundle
52
+ npm install @glandais/vcyclist-elevation-wasm # Kotlin/Wasm bundle
53
+ ```
54
+
55
+ ### Gradle / Maven (JVM or KMP consumers)
56
+
57
+ ```kotlin
58
+ // Gradle Kotlin DSL
59
+ dependencies {
60
+ implementation("io.github.glandais:vcyclist-engine:1.0.0") // pulls -jvm / -js / -wasm-js per target
61
+ implementation("io.github.glandais:vcyclist-elevation:1.0.0")
62
+ }
63
+ ```
64
+
65
+ Replace `1.0.0` by the latest version shown in the badges above. KMP consumers automatically
66
+ get the platform-specific variant (`-jvm`, `-js`, `-wasm-js`) for their target.
67
+
68
+ See [`docs/publishing.md`](docs/publishing.md) for the release process.
69
+
70
+ ## Quick start
71
+
72
+ ### Run the JVM CLI
73
+
74
+ ```bash
75
+ # Enhance a GPX file with the default cyclist (80 kg / 280 W) and bike (Crr 0.004) :
76
+ ./gradlew :engine:run -Pargs="enhance path/to/input.gpx -o /tmp/output.gpx"
77
+ ```
78
+
79
+ The CLI runs the full enhancement pipeline (no elevation correction — no HTTP) and writes the
80
+ simulated trace back to a GPX file. See [`engine/src/jvmMain/.../EngineCli.kt`](engine/src/jvmMain/kotlin/io/github/glandais/engine/EngineCli.kt).
81
+
82
+ ### Try the browser demos (elevation only)
83
+
84
+ ```bash
85
+ # Kotlin/Wasm demo
86
+ ./gradlew :elevation:wasmJsBrowserDevelopmentRun
87
+ # Kotlin/JS demo (sibling, same UI)
88
+ ./gradlew :elevation:jsBrowserDevelopmentRun
89
+ ```
90
+
91
+ Both demos share the [original TS demo](https://github.com/glandais/elevation) UI (Leaflet +
92
+ Chart.js + GPX upload). See [`elevation/README.md`](elevation/README.md) for details.
93
+
94
+ ### Use from Kotlin
95
+
96
+ ```kotlin
97
+ import io.github.glandais.engine.Enhancer
98
+ import io.github.glandais.engine.gpx.GpxParser
99
+ import io.github.glandais.engine.gpx.firstTrackAsPath
100
+
101
+ suspend fun virtualize(xml: String): String {
102
+ val path = GpxParser.parse(xml).firstTrackAsPath()
103
+ val out = Enhancer.enhanceCourseDefault(path) // pure physics, no HTTP
104
+ return io.github.glandais.engine.gpx.GpxWriter.write(
105
+ out.toGpxDocument(trackName = "virtualized")
106
+ )
107
+ }
108
+ ```
109
+
110
+ ### Use from JavaScript / TypeScript
111
+
112
+ `generateTypeScriptDefinitions()` is enabled on both `js(IR)` and `wasmJs`, so you get a
113
+ `.d.ts` next to the bundle in `build/dist/{js,wasmJs}/productionExecutable/vcyclist-engine.d.{ts,mts}`.
114
+
115
+ The Kotlin/JS variant (`@glandais/vcyclist-engine`, `@glandais/vcyclist-elevation`) runs
116
+ **in both browser and Node.js / Bun**. The Wasm variants (`*-wasm`) are browser-only.
117
+
118
+ #### Browser
119
+
120
+ ```js
121
+ import { parseGpx, enhance, writeGpx, pathSize, pathTotalDistance } from '@glandais/vcyclist-engine';
122
+
123
+ const handle = parseGpx(gpxXml);
124
+ console.log('input points:', pathSize(handle));
125
+ const out = await enhance(handle, null); // physics only, no HTTP
126
+ console.log('output:', pathSize(out), pathTotalDistance(out), 'm');
127
+ const xml = writeGpx(out);
128
+ ```
129
+
130
+ #### Node.js / Bun (with elevation correction)
131
+
132
+ ```js
133
+ import { parseGpx, enhance, writeGpx } from '@glandais/vcyclist-engine';
134
+
135
+ const handle = parseGpx(gpxXml);
136
+ const out = await enhance(handle, { fixElevation: true }); // fetches DEM tiles, decodes WebP
137
+ const xml = writeGpx(out);
138
+ ```
139
+
140
+ `enhance(..., { fixElevation: true })` auto-instantiates a default `ElevationProvider`
141
+ (mapterhorn Terrarium tiles) and runs the full pipeline (densify → fix elevation → smooth →
142
+ max speeds → virtualize → resample → simplify).
143
+
144
+ On Node.js / Bun, tile decoding uses [`@jsquash/webp`](https://www.npmjs.com/package/@jsquash/webp)
145
+ (a pure-WASM WebP decoder, ~50 KB, listed as a runtime `dependency` of
146
+ `@glandais/vcyclist-engine` and `@glandais/vcyclist-elevation`). It is loaded lazily via
147
+ `eval('require')`, so browser bundlers do not pull it into the browser build. Requires
148
+ Node ≥ 18 (`globalThis.fetch` is built-in since Node 18 / Bun) ; Node 22+ recommended for
149
+ ESM `require()` support.
150
+
151
+ ## Build & test
152
+
153
+ ```bash
154
+ ./gradlew check # full build + all tests on all targets
155
+ ./gradlew :engine:allTests # engine tests across JVM / JS Node / JS browser / Wasm browser
156
+ ./gradlew :elevation:allTests # elevation tests
157
+ ./gradlew :elevation:jvmTest --tests '*Integration*' \
158
+ -PINTEGRATION=1 # live HTTP tests against tiles.mapterhorn.com
159
+ ./gradlew ktlintCheck # lint
160
+ ```
161
+
162
+ ## Layout
163
+
164
+ ```
165
+ vcyclist/
166
+ ├── settings.gradle.kts # multi-module Gradle KMP project
167
+ ├── gradle/libs.versions.toml # version catalog (Kotlin 2.3.21, coroutines 1.11, xmlutil 0.91, …)
168
+ ├── docs/
169
+ │ ├── PLAN.md # task-by-task progress (Phases 1-2bis)
170
+ │ ├── parity.md # parity strategy vs the TS reference
171
+ │ ├── elevation-integration.md # how to run live HTTP integration tests
172
+ │ ├── kotlin-wasm-jvm-webp.md # Kotlin/Wasm ↔ JS interop guide
173
+ │ └── tasks/ # one Markdown per implementation task (00-31, + bonus demos)
174
+ ├── elevation/ # :elevation KMP module
175
+ ├── engine/ # :engine KMP module (depends on :elevation)
176
+ └── codegen/ # :codegen JVM helper for Path accessor generation
177
+ ```
178
+
179
+ ## Status
180
+
181
+ - ✅ **Phase 1** — `:elevation` module port (tasks 00-09) : Terrarium tiles, Haversine, ECEF,
182
+ Douglas-Peucker 3D, smoother, LRU cache + TileManager, `ElevationProvider`, live HTTP integration.
183
+ - ✅ **Phase 2** — `:engine` module port (tasks 10-28) : Path model, Cyclist/Bike/Course,
184
+ GPX I/O, full physics, simulation, post-processing, `Enhancer`, CLI, `@JsExport` façades.
185
+ - ✅ **Phase 2bis** — pipeline fidelity fixes (tasks 29-31) : `VirtualizeService` last-point
186
+ timestamp, `PointPerDistance` port, integration into `Enhancer`.
187
+ - ✅ **Phase 3** — Node.js / Bun support (tasks 32-33) : runtime-detection in
188
+ `TileFetcher.js.kt` (browser path unchanged, Node path uses `globalThis.fetch` +
189
+ `@jsquash/webp` WASM decoder loaded via lazy `eval('require')`), webpack externals to keep
190
+ the browser bundle free of `@jsquash/webp`, `ElevationProvider` auto-instantiation in
191
+ `EngineJsApi.enhance` when `opts.fixElevation` is true (JS + Wasm façades), 6 jsTest classes
192
+ gated by `INTEGRATION=1`.
193
+
194
+ Total `:engine` test coverage : 32 test classes / ~326 commonTest cases / 4 targets =
195
+ ~1300 green executions, plus JVM-only smoke tests for the CLI and the full pipeline.
196
+
197
+ End-to-end smoke (after Phase 2bis) : sample.gpx (3569 source points, 130 km, ~4550 m gain)
198
+ runs through the complete `Enhancer` pipeline in ~1.7 s on JVM, producing ~1000 simplified
199
+ output points covering ~128.6 km / ~5.3 h of simulated ride.
200
+
201
+ ## Documentation
202
+
203
+ - [`docs/PLAN.md`](docs/PLAN.md) — task-by-task plan with commit hashes for every step.
204
+ - [`docs/tasks/`](docs/tasks/) — detailed Markdown spec for each task (00-31 + bonus demos).
205
+ - [`docs/parity.md`](docs/parity.md) — TS↔Kotlin parity approach and tolerances.
206
+ - [`docs/kotlin-wasm-jvm-webp.md`](docs/kotlin-wasm-jvm-webp.md) — Kotlin/Wasm ↔ JS interop
207
+ guide that underpins the `@JsExport` façades and the WebP tile decoding.
208
+ - [`elevation/README.md`](elevation/README.md) — `:elevation` module details + browser demos.
209
+
210
+ ## License
211
+
212
+ Apache License 2.0, aligned with the upstream `gpx2web` project. See the Maven Central POM
213
+ metadata in `engine/build.gradle.kts` and `elevation/build.gradle.kts`. A top-level `LICENSE`
214
+ file will be added before the first public release.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glandais/vcyclist-elevation-wasm",
3
- "version": "0.0.0",
3
+ "version": "1.1.0",
4
4
  "main": "vcyclist-elevation.mjs",
5
5
  "types": "vcyclist-elevation.d.mts",
6
6
  "devDependencies": {},
@@ -1 +1 @@
1
- {"version":3,"sources":["elevation/build/compileSync/wasmJs/main/productionLibrary/optimized/NATIVE_IMPLEMENTATIONS.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/BatchCalculator.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Constants.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Coordinates.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Distance.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/DouglasPeucker.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/EcefConverter.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationCalculator.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationFunctions.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationProvider.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationProviderConfig.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationSmoother.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Flux.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/LruCache.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/RawTile.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Tile.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/TileManager.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Tiles.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Vector3D.kt","elevation/src/wasmJsMain/kotlin/io/github/glandais/elevation/ElevationJsApi.kt","elevation/src/wasmJsMain/kotlin/io/github/glandais/elevation/TileFetcher.wasmJs.kt"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"ignoreList":[0],"x_google_ignoreList":[0],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["elevation/build/compileSync/wasmJs/main/productionLibrary/optimized/NATIVE_IMPLEMENTATIONS.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/BatchCalculator.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Constants.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Coordinates.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Distance.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/DouglasPeucker.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/EcefConverter.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationCalculator.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationFunctions.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationProvider.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationProviderConfig.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/ElevationSmoother.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Flux.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/LruCache.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/RawTile.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Tile.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/TileManager.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Tiles.kt","elevation/src/commonMain/kotlin/io/github/glandais/elevation/Vector3D.kt","elevation/src/wasmJsMain/kotlin/io/github/glandais/elevation/ElevationJsApi.kt","elevation/src/wasmJsMain/kotlin/io/github/glandais/elevation/TileFetcher.wasmJs.kt"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"ignoreList":[0],"x_google_ignoreList":[0],"names":[],"mappings":"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"}