@glandais/vcyclist-elevation-wasm 0.0.0 → 1.0.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,182 @@
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
+ ```js
116
+ import { parseGpx, enhance, writeGpx, pathSize, pathTotalDistance } from './vcyclist-engine.mjs';
117
+
118
+ const handle = parseGpx(gpxXml);
119
+ console.log('input points:', pathSize(handle));
120
+ const out = await enhance(handle, null);
121
+ console.log('output:', pathSize(out), pathTotalDistance(out), 'm');
122
+ const xml = writeGpx(out);
123
+ ```
124
+
125
+ ## Build & test
126
+
127
+ ```bash
128
+ ./gradlew check # full build + all tests on all targets
129
+ ./gradlew :engine:allTests # engine tests across JVM / JS Node / JS browser / Wasm browser
130
+ ./gradlew :elevation:allTests # elevation tests
131
+ ./gradlew :elevation:jvmTest --tests '*Integration*' \
132
+ -PINTEGRATION=1 # live HTTP tests against tiles.mapterhorn.com
133
+ ./gradlew ktlintCheck # lint
134
+ ```
135
+
136
+ ## Layout
137
+
138
+ ```
139
+ vcyclist/
140
+ ├── settings.gradle.kts # multi-module Gradle KMP project
141
+ ├── gradle/libs.versions.toml # version catalog (Kotlin 2.3.21, coroutines 1.11, xmlutil 0.91, …)
142
+ ├── docs/
143
+ │ ├── PLAN.md # task-by-task progress (Phases 1-2bis)
144
+ │ ├── parity.md # parity strategy vs the TS reference
145
+ │ ├── elevation-integration.md # how to run live HTTP integration tests
146
+ │ ├── kotlin-wasm-jvm-webp.md # Kotlin/Wasm ↔ JS interop guide
147
+ │ └── tasks/ # one Markdown per implementation task (00-31, + bonus demos)
148
+ ├── elevation/ # :elevation KMP module
149
+ ├── engine/ # :engine KMP module (depends on :elevation)
150
+ └── codegen/ # :codegen JVM helper for Path accessor generation
151
+ ```
152
+
153
+ ## Status
154
+
155
+ - ✅ **Phase 1** — `:elevation` module port (tasks 00-09) : Terrarium tiles, Haversine, ECEF,
156
+ Douglas-Peucker 3D, smoother, LRU cache + TileManager, `ElevationProvider`, live HTTP integration.
157
+ - ✅ **Phase 2** — `:engine` module port (tasks 10-28) : Path model, Cyclist/Bike/Course,
158
+ GPX I/O, full physics, simulation, post-processing, `Enhancer`, CLI, `@JsExport` façades.
159
+ - ✅ **Phase 2bis** — pipeline fidelity fixes (tasks 29-31) : `VirtualizeService` last-point
160
+ timestamp, `PointPerDistance` port, integration into `Enhancer`.
161
+
162
+ Total `:engine` test coverage : 32 test classes / ~326 commonTest cases / 4 targets =
163
+ ~1300 green executions, plus JVM-only smoke tests for the CLI and the full pipeline.
164
+
165
+ End-to-end smoke (after Phase 2bis) : sample.gpx (3569 source points, 130 km, ~4550 m gain)
166
+ runs through the complete `Enhancer` pipeline in ~1.7 s on JVM, producing ~1000 simplified
167
+ output points covering ~128.6 km / ~5.3 h of simulated ride.
168
+
169
+ ## Documentation
170
+
171
+ - [`docs/PLAN.md`](docs/PLAN.md) — task-by-task plan with commit hashes for every step.
172
+ - [`docs/tasks/`](docs/tasks/) — detailed Markdown spec for each task (00-31 + bonus demos).
173
+ - [`docs/parity.md`](docs/parity.md) — TS↔Kotlin parity approach and tolerances.
174
+ - [`docs/kotlin-wasm-jvm-webp.md`](docs/kotlin-wasm-jvm-webp.md) — Kotlin/Wasm ↔ JS interop
175
+ guide that underpins the `@JsExport` façades and the WebP tile decoding.
176
+ - [`elevation/README.md`](elevation/README.md) — `:elevation` module details + browser demos.
177
+
178
+ ## License
179
+
180
+ Apache License 2.0, aligned with the upstream `gpx2web` project. See the Maven Central POM
181
+ metadata in `engine/build.gradle.kts` and `elevation/build.gradle.kts`. A top-level `LICENSE`
182
+ 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.0.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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"}