Repository navigation
Releases: lucadesimoni/3d-ar-viewer
Release list
Spatial Assembly AR 0.5.1
- Roadmap brought up to date
Install
- Web app: unpack
spatial-ar-web-0.5.1.zip(orspatial-ar-web-0.5.1.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.5.1.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.5.1-amd64.tar.gz(orspatial-ar-image-0.5.1-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.5.1. - Mendix widget: import
anthropic.SpatialArViewer-0.5.1.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory). - Android app (optional; the web app installs as a PWA without it): open
spatial-ar-android-0.5.1.apkon the phone and allow the install. Adds ARCore tracking and camera frames. - iOS app (optional):
spatial-ar-ios-0.5.1-unsigned.ipais unsigned; sign it with your Apple ID to install. Adds ARKit world tracking, which Safari lacks. See native/README.md.
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Copyright Outthinkx. Free for noncommercial use under the PolyForm Noncommercial License 1.0.0; commercial use needs a paid licence from Outthinkx. See LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.5.0
The overlay lines itself up with the real object, for any assembly
- Every second or two in AR, the app matches the edges of the parts already
built to the camera picture, and moves the overlay onto the object when the
fit is clear. It works from the parts' shapes (boxes, plates, cylinders,
tubes, spheres, and loaded 3D models), so it needs no recognition target.
It refines the placement you have: a tap, a WebXR anchor, the shelf
detector. It can be switched off in AR settings ("Line the overlay up with
the real object"). - It refuses rather than guesses. A fit is used only when most of the model
agrees with the picture all round its outline, and no other pose nearby fits
nearly as well. Otherwise the overlay stays where it was. - Measured on rendered views with known truth (docs/RECOGNITION.md): from a
start off by 5 to 20 cm, it settles within a pixel or two on the shelves,
the engine and the rack, with at most 2 visibly wrong moves in 96 tries per
assembly and setting. The small gearbox is mostly out of its reach (3 wrong
moves in 96) and is mostly left alone. - On real frames it has not yet helped. On six device photos of KALLAX
shelves, it refused every time: no pose standing on the floor fits those
frames well, which points at the camera's reported pose or field of view
rather than at the shelf. Every look is logged ("alignment look",
"alignment moved the overlay") with why, so a device session will show it. - Every shelf-detector attempt is logged with its outcome and why it failed,
and a blank frame no longer produces a phantom shelf.
Android app
- The page is told when ARCore has to be installed, instead of waiting; this
failed the 0.5.0 release on the emulator. - A crashed page reloads instead of closing the app.
Install
- Web app: unpack
spatial-ar-web-0.5.0.zip(orspatial-ar-web-0.5.0.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.5.0.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.5.0-amd64.tar.gz(orspatial-ar-image-0.5.0-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.5.0. - Mendix widget: import
anthropic.SpatialArViewer-0.5.0.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory). - Android app (optional; the web app installs as a PWA without it): open
spatial-ar-android-0.5.0.apkon the phone and allow the install. Adds ARCore tracking and camera frames. - iOS app (optional):
spatial-ar-ios-0.5.0-unsigned.ipais unsigned; sign it with your Apple ID to install. Adds ARKit world tracking, which Safari lacks. See native/README.md.
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Copyright Outthinkx. Free for noncommercial use under the PolyForm Noncommercial License 1.0.0; commercial use needs a paid licence from Outthinkx. See LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.4.0
- Self-hosted vision runtimes, error reports, privacy notice
Install
- Web app: unpack
spatial-ar-web-0.4.0.zip(orspatial-ar-web-0.4.0.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.4.0.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.4.0-amd64.tar.gz(orspatial-ar-image-0.4.0-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.4.0. - Mendix widget: import
anthropic.SpatialArViewer-0.4.0.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Copyright Outthinkx. Free for noncommercial use under the PolyForm Noncommercial License 1.0.0; commercial use needs a paid licence from Outthinkx. See LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.3.1
- Commercial licence contact in LICENSE and README
Install
- Web app: unpack
spatial-ar-web-0.3.1.zip(orspatial-ar-web-0.3.1.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.3.1.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.3.1-amd64.tar.gz(orspatial-ar-image-0.3.1-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.3.1. - Mendix widget: import
anthropic.SpatialArViewer-0.3.1.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Copyright Outthinkx. Free for noncommercial use under the PolyForm Noncommercial License 1.0.0; commercial use needs a paid licence from Outthinkx. See LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.3.0
- Free for noncommercial use, paid for commercial use (PolyForm Noncommercial 1.0.0)
Install
- Web app: unpack
spatial-ar-web-0.3.0.zip(orspatial-ar-web-0.3.0.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.3.0.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.3.0-amd64.tar.gz(orspatial-ar-image-0.3.0-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.3.0. - Mendix widget: import
anthropic.SpatialArViewer-0.3.0.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Copyright Outthinkx. Free for noncommercial use under the PolyForm Noncommercial License 1.0.0; commercial use needs a paid licence from Outthinkx. See LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.2.0
- Proprietary evaluation licence (Outthinkx); releases no longer published to public registries
Install
- Web app: unpack
spatial-ar-web-0.2.0.zip(orspatial-ar-web-0.2.0.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.2.0.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices). - Container:
docker load -i spatial-ar-image-0.2.0-amd64.tar.gz(orspatial-ar-image-0.2.0-arm64.tar.gz), thendocker run -p 8080:8080 spatial-ar:0.2.0. - Mendix widget: import
anthropic.SpatialArViewer-0.2.0.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Proprietary software of Outthinkx, licensed for evaluation only: see LICENSE.txt in each package.
Third-party components keep their own licences: THIRD_PARTY_NOTICES.txt.
Spatial Assembly AR 0.1.1
- The image compiles the app natively, never under QEMU
- Automatic releases retry cleanly and check the release commit first
- Automatic releases on every merge to main
Install
- Web app: unpack
spatial-ar-web-0.1.1.zip(orspatial-ar-web-0.1.1.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.1.1.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices).
Also published as@lucadesimoni/spatial-ar-viewer@0.1.1on GitHub Packages. - Container:
docker run -p 8080:8080 ghcr.io/lucadesimoni/3d-ar-viewer:0.1.1(linux/amd64, linux/arm64). - Mendix widget: import
anthropic.SpatialArViewer-0.1.1.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.
Spatial Assembly AR 0.1.0
The first packaged release of Spatial Assembly AR: guided assembly with an AR
overlay on phones and tablets, and the tooling that checks it.
Components
- Web app: the static build, for any static host (
spatial-ar-web-0.1.0.zip
/.tar.gz). Also live at https://3d-ar-viewer-ten.vercel.app/. - Server:
@lucadesimoni/spatial-ar-viewer, the app plus a zero-dependency
Node server, as an npm package with thespatial-ar-viewercommand. - Container image:
ghcr.io/lucadesimoni/3d-ar-viewer, for linux/amd64 and
linux/arm64, running as a non-root user with a health check. - Mendix widget (preview):
anthropic.SpatialArViewer-0.1.0.mpk, a
pluggable widget wrapping the app. Packaged and load-tested against an AMD
loader and ES modules, not yet imported into Studio Pro.
What it does
- Assemblies with mates, tolerances and a step sequence; four samples: a bench
gearbox, KALLAX shelves (4x2 and 4x4), a twin-spool turbofan, a 14-bay
equipment rack. - Snapping and fit checks: a dragged part seats on its joint or says why not;
diagnostics for fit, seating, sequence, interference, keep-out and handedness. - AR on Android (WebXR with hit-test, platform anchors and DOM overlay) and on
iPhone/iPad Safari (camera passthrough, aim-and-tap); the Needle App Clip
hosts the WebXR path on iOS. - Markerless anchoring onto a cube shelf: grid facade to metric pose, then
frame-by-frame tracking. A lattice read one row off is corrected by its
outline, and in WebXR by the measured floor. - A phone layout built for one hand: one sheet at a time, a step strip that
follows the current step, actions that stay on screen. - A diagnostics log every session can export, readable with
scripts/read-report.mjs.
Install
- Web app: unpack
spatial-ar-web-0.1.0.zip(orspatial-ar-web-0.1.0.tar.gz) onto any static host. AR needs HTTPS. - Server:
npm install -g ./lucadesimoni-spatial-ar-viewer-0.1.0.tgz, thenspatial-ar-viewer(port 8080;--httpswith a certificate for devices).
Also published as@lucadesimoni/spatial-ar-viewer@0.1.0on GitHub Packages. - Container:
docker run -p 8080:8080 ghcr.io/lucadesimoni/3d-ar-viewer:0.1.0(linux/amd64, linux/arm64). - Mendix widget: import
anthropic.SpatialArViewer-0.1.0.mpkinto the app'swidgetsfolder (Studio Pro: App → Synchronize App Directory).
Check downloads against SHA256SUMS.txt: sha256sum -c SHA256SUMS.txt.