git clone https://github.com/ColmapView/colmapview.github.io.git
cd colmapview.github.io
npm install# Using Deno (recommended)
deno task dev
# Or using npm
npm run devOpen http://localhost:5173 in your browser.
# Using Deno
deno task build
# Or using npm
npm run build# Run tests
deno task test
# Watch mode
deno task test:watch
# With coverage
deno task test:coveragesrc/
├── components/
│ ├── gallery/ # Image gallery components
│ ├── layout/ # App layout (header, sidebar, status bar)
│ ├── modals/ # Modal dialogs
│ └── viewer3d/ # 3D viewer (PointCloud, CameraFrustums, etc.)
├── hooks/ # Custom React hooks
├── parsers/ # COLMAP file parsers (binary & text)
├── store/ # Zustand state management
└── types/ # TypeScript type definitions
- Runtime: Deno 2.0 / Node.js 22
- Build: Vite 7
- Framework: React 19
- 3D: Three.js + React Three Fiber + Drei
- State: Zustand
- Styling: Tailwind CSS 4
- Testing: Deno Test
- Update
CHANGELOG.md- move items from[Unreleased]to new version - Update version in
package.jsonanddeno.json - Commit:
git commit -m "Release vX.Y.Z" - Tag:
git tag -a vX.Y.Z -m "ColmapView vX.Y.Z" - Push:
git push origin main && git push origin vX.Y.Z - Create release:
gh release create vX.Y.Z --title "ColmapView vX.Y.Z" --notes "..."
The application automatically deploys to GitHub Pages on push to main via GitHub Actions.