Photonica / docs
Get it running,
then take it apart.
Everything here is the actual manual — install, the controls, every built-in demo, and how an AI assistant drives the bench over MCP.
01 / Install
Unzip and run.
Windows 10 or 11, 64-bit, and a GPU with DirectX Raytracing 1.1 — an RTX-class NVIDIA card, AMD RX 6000-series or newer, or Intel Arc. No installer, no account. Unzip the download and run Photonica.exe. Start from the Demos menu.
Video export uses ffmpeg if it's on your PATH (winget install Gyan.FFmpeg); without it, renders come out as image frames instead of an mp4.
02 / Controls
The bench responds
to your hands.
LMB dragmove the selected partShift + dragmove along the beamGizmo arrows / ringsmove or rotate — G / W toggle them, L switches global / localQ / Eyaw · R / T pitch · V / B roll (hold Shift for 0.1°/1 mm steps)Ctrl + click a beaminspect that ray, surface by surfaceRMB dragorbit the view · MMB drag pans · wheel zoomsFautofocus the measured screenZframe the whole benchPtoggle photoreal renderingCtrl + Z / Ctrl + Yundo / redoCtrl + Ssave the benchDelremove the selected part03 / Demos
Seventeen benches, already built.
Every demo is a real, working bench — dispersion, diffraction, polarisation, lens design, a Zemax import, a full achromat design walk-through. Open one from the Demos menu and start dragging parts.
04 / Assistant control (MCP)
Let an AI
hold the tweezers.
Photonica ships photonica-mcp.exe, an MCP server that drives the open app — the same interface the validation suite used to run all 33 checks. It builds benches, reads measurements, traces rays, optimises and tolerances lenses, takes screenshots, and renders video.
# Claude Code claude mcp add photonica -- "<folder>\photonica-mcp.exe"
// Claude Desktop — claude_desktop_config.json
"mcpServers": {
"photonica": { "command": "<folder>\\photonica-mcp.exe" }
}It works on the bench that's already open — starting Photonica if it isn't running — and it's local to your machine. Switch it off any time under View → Allow assistant control.
get_state / measurethe whole bench, or just the numbers: focus, spots, chromatic shift, detector poweradd_part / update_part / remove_partlenses, prisms, mirrors, polarisers, gratings — position, curvature, glass, tiltadd_screen / update_screen / update_sourcescreens and the light source: type, spectrum, polarisation, beam shapeinspect_raytrace one beam line surface by surface — angles, Fresnel R/T, arrival time, the Stokes vectorautofocus / optimize / tolerancemove a screen or lens to best focus, run the damped least-squares optimiser, run Monte-Carlo tolerancinglight_in_flightfreeze or play the travelling pulse, and choose what the screens showset_camera / screenshot / render_videoframe the viewport, grab a still, or render the timeline to mp4save_project / open_project / undo / redothe usual — plus an assistant can undo its own edits05 / Community
Share a bench,
open one back.
A .photonica file is a plain JSON project — parts, glasses, camera, timeline, all of it. Community → Share this bench uploads yours; Community → Browse opens what other people have shared, straight into the app.
Get Photonica