Browse by type

Paleograph is a browser-based 3D viewer built for archaeologists who need to explore excavation datasets without leaving the trench. It accepts CSV exports that contain stratigraphic layers, find categories and spatial coordinates, then renders each find as an interactive object in a Three.js scene. The interface runs entirely on a static host, so all analysis stays on the workstation that serves the files.



Download the latest release and run it on your own http server (Details below)
Drop a CSV file onto the interface.
Map columns for East (X), North (Y), Elevation (Z), Category and Layer.
Adjust styling:
X, Y, Z are auto-selected; otherwise choose them manually.Feel free to submit bug reports and feature request via github issues.
Also feel free to do pull requests. Since I dont work in archeaology anymore mainting this is not my highest priority. Would be happy to hand over "core maintainer" to someone more close to archeolgy.
For any questions contact d.finsterwalder ( at ) gmail.com
The whole application runs local in your webbrowser. Nothing is ever uploaded or otherwise send to the webserver. Despite this you can't just open the index.html file and still need a server to run it for the reasons below.
Modern browsers sandbox files loaded via the file:// scheme. ES module scripts, import maps and cross-file requests are blocked in that mode, so opening index.html directly from Finder/Explorer results in an empty page. Serving the folder over HTTP keeps everything on your machine but satisfies those security checks.
Download a release or if you are into git clone the repositary.
From the project root, start the built-in server in your terminal / command line:
bash
python3 -m http.server 5173
Visit http://localhost:5173/ in your browser.
To stop the server in your Terminal use Ctrl+C.
Pick whichever toolchain you already have installed:
npx http-server . -p 5173npx serve . --listen 5173bunx serve --port 5173basic-http-server . 5173 (install once with cargo install basic-http-server)All of these commands run entirely on the local workstation; nothing is uploaded anywhere.
vite preview or live-server add live reload while you edit.mkcert, nginx, or Caddy if you need a HTTPS server so tablets on the site can access the server running on your laptop.http://192.168.1.50:5173/).If you can't get it to work and are desperate for help feel free to reach out to me: d.finsterwalder ( at ) gmail.com
| Path | Purpose |
|---|---|
index.html |
Entry point that wires the overlay UI to the Three.js scene. |
src/main.js |
CSV parsing, UI state management, colour logic, camera controls. |
src/sceneManager.js |
Three.js scene setup, geometry generation, grid/label rendering. |
src/style.css |
Overlay layout, sliders, buttons and typography. |
When serving Paleograph from nginx, keep production files under a releases tree:
releases/current/ – files served by nginx (e.g. /srv/server/paleograph/releases/current).releases/backups/<timestamp>/ – immutable snapshots per deploy.releases/.deploy_tmp/ – internal staging folder for the deploy script.From the repo root run:
./deploy.sh
The script runs npm install, executes the Vite build, then syncs the output into releases/current/ and stores a timestamped backup. Point your nginx site block at the current directory, for example:
server {
server_name paleograph.noelith.dev;
root /srv/server/paleograph/releases/current;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
Issue certificates with certbot --nginx -d paleograph.noelith.dev (or your domain) after the config is in place.
$ claude mcp add palaeograph \
-- python -m otcore.mcp_server <graph>