You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 63ff754
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,27 @@
1
1
# Changelog
2
2
3
+
## 1.0.1
4
+
5
+
Needs the virocore web build from the same change: the new renderer calls are
6
+
absent from 1.0.0's binary, and each falls back to the old path when missing.
7
+
8
+
### Fixed
9
+
10
+
-**A runtime abort is reported.**`ViroWebRendererOptions.onAbort`, `renderer.addAbortListener()` and `renderer.abortedWith`. An abort — out of memory past the heap's ceiling, most often — is terminal, and it used to surface only as a rejection a model load caught, so nothing reached a host's error tracking. Model loads in flight settle as failed.
11
+
-**Model files are removed from the virtual FS once loaded.** MEMFS holds every file in JS memory until unlinked, so each model stayed resident for the life of the page.
12
+
-**The camera feed is drawn from the stream, not the tracker's buffer.** The stream is requested at `feedWidth`/`feedHeight` (default 1280x960) and uploaded to a source texture straight from the `<video>`; the tracker gets a downscaled copy at `captureWidth` along the stream's aspect. No readback, no per-frame texture. Older renderers keep the RGBA path.
13
+
-**Relocalising frames keep their rotation.** tinyvio's `poseConfidence` now decides the renderer's state: Full or PositionNoScale is Normal, RotationOnly is Limited (rotation applied, position held), None holds the last pose. An engine without it is drawn only while Running.
14
+
-**The pose is smoothed** with a One Euro filter before `arSetPose` (`poseSmoothing`, or `false` for the raw solve). tinyvio does not filter, and the raw pose shook content visibly while tracking was healthy.
15
+
-**`onStatus` is debounced** out of Normal (15 frames) and back at once, and carries the frame's `confidence` and `reason`. `reason === NoGravity` that persists means no motion events are arriving.
16
+
-**The default asset paths keep their trailing slash under Vite.** Vite rewrites `new URL("../slam/", import.meta.url)` at dev time to the directory without its `/`, so the tracker asked for `.../slamtinyvio-slam.wasm` and AR aborted ("both async and sync fetching of the wasm failed"). The renderer's `../wasm/` base had the same pattern. Both bases now end in `/`.
17
+
-**An engine loaded through `loadSlam` finds its own `.wasm`.** The session pointed every engine at this package's `slam/` copy, including one a host loaded from its own script, which then fetched a file that was not there. With a custom `loadSlam` and no `slamBaseUrl`, the engine resolves the `.wasm` next to its script.
18
+
- Playback reports untracked frames as Unavailable, so they hold the last tracked pose as the live path does.
19
+
20
+
### Added
21
+
22
+
-`PoseConfidence`, `TrackingReason`, `PoseFilter`, `ViroRendererAbortError`; `ViroSceneApi.createSourceTexture` and `updateTextureFromSource`.
23
+
-`test/session.test.mjs` in `npm test`, and `npm run test:browser`: taps, the heap, the abort, source textures and dropout holding, in a real Chrome. Against 1.0.0's binary nine of its checks fail.
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+19Lines changed: 19 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,24 @@
1
1
# Release Notes
2
2
3
+
## 1.0.1
4
+
5
+
Fixes found running the web player against real scenes. The compiled renderer in this release is virocore 3.0.2; the new calls fall back to the old path on an older binary, but the heap, tap and dropout fixes live in the binary and need this one.
6
+
7
+
### Fixed
8
+
9
+
-**Large models no longer kill the renderer.** The heap was fixed at 256 MB, and a 30 to 40 MB generated GLB crossed it once decoded; `abort("OOM")` is permanent, so every later call failed and the canvas stayed black. The heap now grows to 2 GB, and glTF loads no longer copy the model.
10
+
-**An abort is reported.**`onAbort` in the options, `renderer.addAbortListener()` and `renderer.abortedWith`. Model loads in flight settle as failed.
11
+
-**Model files leave the virtual FS once loaded,** instead of staying in JS memory for the life of the page.
12
+
-**Taps land where they are drawn.** They were mirrored about the horizontal axis.
13
+
-**Web AR holds its pose through a dropout** instead of snapping to a default orientation. tinyvio's `poseConfidence` decides the state: RotationOnly applies rotation and holds position, None holds the last pose.
14
+
-**The pose is smoothed** with a One Euro filter (`poseSmoothing`, or `false` for the raw solve), and `onStatus` is debounced out of Normal and carries `confidence` and `reason`.
15
+
-**The camera feed draws from the stream** at `feedWidth`/`feedHeight` (default 1280x960) through a source texture, with no per-frame readback; the tracker gets a downscaled copy.
16
+
-**Web AR starts under Vite.** The tracker's wasm path lost its trailing slash in dev, and an engine loaded through `loadSlam` was pointed at the package's copy instead of its own.
17
+
18
+
### Added
19
+
20
+
-`PoseConfidence`, `TrackingReason`, `PoseFilter`, `ViroRendererAbortError`; `ViroSceneApi.createSourceTexture` and `updateTextureFromSource`.
21
+
3
22
## 1.0.0
4
23
5
24
First published release. The Viro renderer — the same C++ engine ViroReact runs natively on iOS, Android, Apple Vision Pro and Meta Quest — compiled to WebAssembly and drawing through WebGL2.
0 commit comments