Particle Physics Deck
A lecture and masterclass deck built around a collision event — for CERN Open Data classes, discovery explainers and outreach talks. Extends Deck 3D, so the whole presentation chassis arrives with it: a slide deck with a captured camera view per slide, rich-text write-ups, clickable hotspot markers, custom sanitized HTML panels with data-action buttons, audience-facing legends, the animation transport, and a publicApi allowlist so an embedding page can drive the deck. On top of that it adds the detector — five nested barrels on the beam axis in real metres (beam pipe 0.03 m, tracker 1.2 m, ECAL 1.8 m, HCAL 2.9 m, muon system 7.4 m, 22 m long) drawn as low-opacity wireframe so tracks read through them — plus `tracks` for reconstructed particle trajectories and a pT colour legend. Barrels only, and no experiment's exact numbers, so it reads as 'a detector' to an ATLAS, CMS, LHCb or Belle II audience alike. HOW YOU BUILD A LECTURE. In Studio, load an event into `tracks` (and hits into `pointcloud`, jet boxes into `boxes` if you want them), frame the camera on the part of the event you are about to talk about, then capture it as a slide from the Slides panel and write the explanation into that slide's rich text. Repeat per event or per step of the argument. Place hotspot markers on the barrels — a marker's click can jump to a slide, so 'click the ECAL to see how a photon shows up' is one binding rather than code. Build the audience's own legend in Studio's Legends section: an entry per particle type with a colour swatch and a visibility toggle, or an entry carrying a slider bound to `playback.seek` with `paramKey: 'frame'` if you want the room to scrub through events themselves — the legend is the only surface whose slider can pass that parameter. The toolbar carries the event transport (previous, play/pause, next), which drives the shared `playback` frame clock that `tracks`, `pointcloud` and `boxes` all follow, so one clock moves the whole event. Drag and drop a real detector model (GLB/glTF, OBJ, STL, PLY, 3MF) or a hit cloud (PCD, XYZ, PTS) if you have one. WHAT THE AUDIENCE SEES, AND WHAT IT DOES NOT. The annotation tools are opt-in rather than inherited: markup, measure, sticky notes, the animation picker, AR and snapshot are all tagged optional and stay hidden in view mode until you list them in Studio's Presentation settings, and `state.presentation.tools` ships empty on purpose — so a published lecture shows only the transport, the slides, and whatever you switched on. The pT legend ships switched off too, because a colour ramp over an event you have not loaded is a meaningless 0-to-1 gradient; switch it on and it mirrors the range and colormap the tracks actually used. Nothing ships pre-placed: no slides, no markers, no legend entries, no tracks — a pre-written slide would be someone else's lecture and you would delete it first. This is a Studio plate, so opened cold it is a detector with nothing in it. The review tools live on the Particle Event Display plate instead — section planes, opening-angle measurement, review pins, the object tree — because a lecture audience does not need a section plane. One inherited wrinkle worth knowing: if you do add a section plane, its slider panel renders behind the slide panel, since both sit at the foot of the screen and the slides win on stacking order.
Supported file formats: GLB, GLTF, OBJ, STL, PLY, 3MF, PCD, XYZ, PTS