Indicatrix in the browser
Open or start a faceting design, edit and solve it, and render it in a browser tab. Nothing to install.
The web app shares its faceting engine with the desktop studio, so it shares the desktop editor's beta status: check results against a conventional CAD before cutting. It is also a smaller program than the desktop app. Section 3 lists exactly what is missing today; several of those items are current limits of this first browser build, not decisions.
1What it is
The web app is the same Indicatrix, compiled to run inside a browser page. You open a design file (or start a new one from a template), edit its cutting instructions, let the solver close the meet points, look at the stone as a solid, a faceting diagram and a spectral render, read off the optical figures, and save the design back to your disk as a download.
It runs entirely on your own machine. The page is a set of static files; once it has loaded, your designs, your settings and the rendering all stay in the browser and nothing is uploaded anywhere. There is no account.
2What it can do
- Designs
- Start a new design from the template gallery (an empty design plus five built-in templates). Open or import
.asc,.gem,.gcsand Indicatrix's own.indicatrix.toml(alone, or together with its.asc), by file picker or by dragging files onto the page. Save.asc, the native pair, or the native file alone. The cutting sheet downloads as an HTML page and the faceting diagram as a PNG. - CAD editor
- The tier table with inline angle editing, keyboard and Ctrl+wheel nudging, undo and redo; the four-tab inspector (Tier, Preform, Optimize, Schedule); design settings, including a compact custom-material editor; and the guided walkthrough, the same ten-step worked example as the desktop.
- Mouse manipulation
- In the Solid view, drag the angle, depth and index handles of a selected facet, or switch to Slice mode and cut a new facet by dragging a line across the stone. One drag is one undo step, and the design solves itself when you let go.
- Solving
- Solves run in a background Web Worker, so the page stays responsive, and can re-run automatically after each edit (auto-solve). Optimize and Retarget also run there with live progress, and Cancel stops the search between steps and keeps the best result found so far.
- Rendering
- A progressive spectral path-traced render on your CPU cores, with a denoise once the picture settles. It uses the same physics, the same material catalogue and the same lighting choices as the desktop app, and it can load an HDR environment map (see the limits below). Export the result as a PNG in sRGB or Display P3.
- Views
- The Render view, the Solid view (facet picking and selection linked to the tier table) and the Diagram view (crown, pavilion and profile panels).
- Optical figures
- The metrics readout (brilliance, fire, scintillation, windowing, extinction) and the Tilt Performance dialog: brilliance, windowing and extinction against tilt, four azimuths of 181 points each. Both run in their own worker, so they never wait behind a solve.
- Session memory
- Your settings, the current design and your place in the walkthrough are kept for the life of the browser tab, so a reload brings them back. Closing the tab clears them, so save your design as a download before you leave.
3What it cannot do yet
These are the differences from the desktop application, as of this beta. The right-hand column says where each one lives today.
| Feature | Web app | Desktop app |
|---|---|---|
| Design library | No. Open files one at a time. | The searchable local library and the remote coordinator's catalogue (studio page). |
| Rough planner | No. It plans across the design library, which the browser app does not have. | Library → Plan Rough...: ranks up to 10 layouts of up to 99 stones from a block of rough (beta; studio page). Desktop-only for now. |
| Remote and distributed rendering | No. | Hand sample tracing to a coordinator or render worker (distributed page). |
| GPU rendering | No. Rendering is CPU-only for now. | The GPU compute path, when the machine has a suitable adapter. A browser-sized GPU path is being researched; it is planned, not promised (see roadmap). |
| Deep Solve | No. | Available in the desktop editor. |
| Tilt video export | No. | Tilt Performance dialog in the desktop studio. |
| Tilt dialog: hover preview, copy data table | No. The curves, axis switches and hover readout work. | Tilt Performance dialog in the desktop studio. |
| Ghost preview and Compare window for Optimize and Retarget | No. Results are listed tier by tier; the stone is not redrawn with the pending angles. | Viewport preview and the before/after Compare window in the desktop editor. |
| Full custom-material editor | Partly. Name, refractive index, dispersion, birefringence, specific gravity and colour; one custom material travels with the design. | The full editor and the saved custom-material store. |
| Large master stills | Up to 4096 pixels on the longest edge and 4096 samples per pixel. | Up to 8192 × 8192 pixels and 32768 samples per pixel. |
| Saved state | This tab's session only. Save your work as downloads. | Designs live in the local database and on disk. |
4How it works
The desktop application and the web app are built from the same Rust code for the editor, the meet-point solver and the optics. The browser build compiles that code to WebAssembly and draws its interface with the same toolkit (Slint) inside a single canvas.
The heavy work runs in Web Workers so the page never freezes: rendering is spread over a pool of them, one per CPU core minus one, up to eight; solving, Optimize and Retarget share one more, and the optical figures have their own, so they never wait behind a solve. Rendering is the same spectral, polarization-aware path tracer, run on the CPU; there is no GPU involved.
Your work is kept in the browser tab's session storage (settings, the current design, walkthrough progress) and in the files you save. There is no server side to the app: no upload, no account, no design database.
5Browser requirements
A current desktop Chrome, Edge, Firefox or Safari. The page needs
WebAssembly, Web Workers and WebGL 2 (used to draw the interface), and it
uses sessionStorage if it is available. It does not need
WebGPU, and it does not need any special server settings. If WebGL 2 is
disabled, the page says so instead of starting.
A tablet works for viewing and tapping. Touch arrives as mouse events, so Ctrl or Shift gestures and the keyboard shortcuts need a keyboard; everything they do is also reachable from the menus and buttons.
6Limits
- Render speed. The desktop app can use the GPU; the browser renders on the CPU. A few hundred samples per pixel take tens of seconds to minutes depending on the machine and the size of the view, so expect it to be slower than the desktop's GPU path. The live view traces at most 960 pixels on its longest edge.
- Samples and export size. The live render takes 64 to 1024 samples per pixel. PNG export takes 16 to 4096 samples and up to 4096 pixels on the longest edge.
- HDR environment maps. A
.hdrfile is limited to 64 MiB and 8192 × 4096 texels in the browser. Each render worker keeps its own decoded copy, so a large map is used on fewer workers, with a message, rather than being downsampled. - Long solves. A solve in the worker that runs for more than 60 seconds is stopped.
- Memory. Rendering is held to a fixed memory budget across the workers, which is why very large environment maps are limited.
7Get the desktop app
For the design library, the Rough planner, GPU rendering, remote rendering, Deep Solve, tilt video export and full-size master stills, use the desktop application. It installs from crates.io or builds from source; the commands are in the getting started section of the overview, and the application itself is described on the studio and CAD page. The two open the same files, so a design saved from the web app opens on the desktop and back.