Interactive point cloud viewer built with Nuxt and Potree.
- Touchscreen joystick navigation lets users explore any point in 3D space.
- Runs as a progressive web app that streams point clouds from Google Cloud Storage.
- Online demo at https://point.seongland.com
mkdir src/static/potree
gsutil -m cp -r -n gs://potree-architecture src/static/potree
mv src/static/potree/potree-architecture src/static/potre
rm -r src/static/potree
mv src/static/potre src/static/potree
VERSION=1.3.2
set -a; source .env; set +a
docker build -t ghcr.io/seongland/pointland:$VERSION .
docker push ghcr.io/seongland/pointland:$VERSION
docker tag ghcr.io/seongland/pointland:$VERSION ghcr.io/seongland/pointland:latest
docker push ghcr.io/seongland/pointland:latest
# deploy
okteto namespace
# deploy to current cluster
okteto stack deploy --wait
# if windows, change to default
kubectl config use-context docker-desktop
- Cloudflare DNS
- Google Cloud Run
- Docker, Nuxt, and TypeScript
- Feathers and Express backend
- MongoDB database
The codebase was explored using Ranked Recursive Summarization to provide a concise picture of how everything fits together.
src/
holds Vue components, pages, and layouts used by Nuxt.nuxt.config.ts
configures modules and build options.docker-compose.yaml
andDockerfile
support local development and container builds.
- Static point clouds stored in Google Cloud Storage are served to the Potree viewer.
- The client communicates with a Feathers API for additional data and authentication.
- CORS settings live in
cors.json
. - The service runs behind Cloudflare with HTTPS enforced.
yarn
yarn dev
./PotreeConverter.exe ./resources/*.las -o ./potree