No description
Find a file
Fabian Kantereit a4782d4a5f fix: resolve station tooltip collision for same-named nested surveys
Surveys with identical local names at different hierarchy levels (e.g.
two "entrance" subsections under different parents) produced the same
fullName key in stationMap, causing one station to be overwritten and
its dot/tooltip to disappear. Now builds the full dotted path for each
survey by traversing the parent chain before constructing station keys.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-10 17:16:14 +02:00
public fix: stalactites now point downward in icon 2026-06-01 19:07:50 +02:00
src fix: resolve station tooltip collision for same-named nested surveys 2026-06-10 17:16:14 +02:00
test feat: surface terrain rendering for .lox files 2026-05-04 22:46:53 +02:00
.gitignore test: Only execute Riesending test suite if it exists 2026-04-29 17:17:04 +02:00
IDEA.md Initial project setup: add IDEA.md and implementation plan 2026-04-29 11:30:37 +02:00
index.html Allow installation as PWA 2026-05-10 18:27:40 +02:00
package-lock.json Allow installation as PWA 2026-05-10 18:27:40 +02:00
package.json Allow installation as PWA 2026-05-10 18:27:40 +02:00
PLAN.md docs: mark project complete and add Nextcloud plugin docs pointer 2026-05-05 10:54:14 +02:00
PROGRESS.md docs: mark project complete and add Nextcloud plugin docs pointer 2026-05-05 10:54:14 +02:00
README.md phase 1: project scaffold — Vite + Three.js dev environment 2026-04-29 11:46:28 +02:00
vite.config.js Allow installation as PWA 2026-05-10 18:27:40 +02:00

Cave Viewer

A self-contained web-based 3D viewer for Survex .3d and Therion .lox cave survey files, embeddable via iframe in VSCode and Nextcloud.

Development

npm install
npm run dev       # start dev server at http://localhost:5173

Build

npm run build     # produces self-contained bundle in dist/
npm run preview   # serve the dist/ bundle locally

Tests

npm test          # run vitest unit tests

Usage

Open a .3d or .lox file via the postMessage API (see PLAN.md Phase 6) or drop it directly once file-drop support is added.