oniyanma
Open huge point clouds in the browser, walk under the girders, measure at real scale, and edit non-destructively. A viewer built for bridge-inspection review. The UI, the AI, and MCP all call the same command layer, and viewpoint, selection, and edits can be shared live — that's what sets it apart from other point cloud viewers.
To get it running: Quickstart. To read the design thinking first: What is oniyanma. To just try it: demo.oniyanma.jp.
Guide — using it
QuickstartRun it locally, open the default dataset, walk under a girder, and measure a distance.Loading dataConverting to COPC, loading by URL or drag-and-drop, layering multiple sources, overlaying a TIN design surface.Look and walkOrbit and fly, sections, color modes, the point budget, the render budget on iPad.SelectingBox and lasso. What follows from a selection being a "predicate", not a "set of points".MeasuringDistance, polylines, horizontally-projected area. Which coordinate system, and how many meters of it.Non-destructive editingHide, delete, reclassify, recolor. Producing deliverables without ever rewriting the source.Filing findingsHolding an inspection form's item definitions as data, then filing and publishing findings from it.CollaboratingSharing viewpoint, selection, and edits in the same room. Undo scoped per user.Saving and exportingSidecars, autosave, CSV / GeoJSON export.Keyboard shortcutsEvery keybinding, including the ⌘K palette.
AI-native
The command layer as a designWhy there's no separate API for AI. A self-describing command layer collects permissions, confirmation, and tests in one place.In-app AI consoleInstructing Claude / GPT in natural language. Where keys live, and what to watch for.Confirmation gate (dry run)When a machine calls a destructive operation, only the affected count comes back first. Enforced by structure, not by prompting.Driving it from MCPOperating the point cloud in your browser from Claude Code / Claude Desktop. How the relay works and how to set it up.Eval set69 cases mapping natural language to expected command sequences. Deciding whether to change models with numbers, not guesses.
Reference
Overview and conventionsCoordinate systems (real coordinates vs. the aligned frame), the resident baseline, surfaces, actors. Read this first.Command listArguments and constraints for all 61 commands. Generated from registry.ts.window.oniyanmaThe programmatic API you can call from the browser console.State snapshotWhat each field returned by
getState() means.URL parametersSpecifying data, invite links, relay connections, the view-state hash.What's not here
The internals of the architecture (COPC streaming, LOD, Yjs sync, the Cloudflare setup) and infrastructure setup steps live in the repository's README and infra/README. This documentation covers "how to use oniyanma".