Switches, knobs, LEDs and damage
Updated v2.4.4At a glance
- Click a switch on the running sheet and it throws — a button closes while you hold it, a knob steps
- Symbols actually move: the blade swings, the button travels, the wiper sweeps its track, so you can see which one just changed
- Every interactive part on the board also gets a row in the transport, so one scrolled off-screen is still reachable and a pot can be set exactly
- LEDs light at the brightness the drive really produces, in the colour the part's wavelength says — not just on or off
- Buzzers make sound synthesised from the measured drive, so it's right at any simulation speed. Magnetic sings on DC, piezo correctly stays silent
- Parts carry absolute-maximum ratings, and exceeding one latches a fault that changes the electrical model, not just the picture
- A fuse blows on the melting integral, so it survives capacitor inrush and dies on a sustained overload — the way a real one does
- A blown part stays blown when you reopen the document, and clicking it fits a new one
A schematic you can only look at is a drawing. While a simulation is running, the parts that have something to do respond.
Working a part on the sheet
Click it. While the simulation is up, a left click on an interactive part works it rather than selecting it: a switch throws, a button closes while you hold it and releases when you let go, a knob steps.
Hovering shows a small chip above the symbol naming the action — "click to close", "hold", "click for B", or a knob's live value — and the cursor changes. An interaction nobody can see is one nobody performs, and that chip is the entire disclosure. It doesn't repeat the state, because the symbol already carries that.
Hovering a part's reference or value text shows no chip: a click there still drags the label, simulation or not, and the affordance must never promise a gesture it won't deliver.
Symbols that move
A switch that never moves is a picture of a switch. So they move: an SPDT blade throws between A and B, an SPST blade swings closed, a push button's cap travels down while held, a pot's wiper sweeps its track.
The sweep takes about a tenth of a second and that's not decoration — on a sheet with a dozen switches on it, the sweep is the only thing that tells you which one just moved and which way. A blade that teleported would read as a redraw glitch. It runs off the display, not the solver, so a switch thrown while paused — or with the simulator closed entirely — still visibly moves, and the sheet always draws the position you last left it in, which is what a schematic of a real switch shows you.
The control row
Every interactive part on the board also gets an entry in a CTRL row in the transport, beneath the supply sliders. Same treatment, same reason: the thing you touch and the traces it moves belong in one place. It also solves what clicking the symbol can't — a switch scrolled off-screen is still reachable, and a pot can be set to an exact value instead of nudged.
A momentary is closed only while held and cannot latch; a toggle latches. That distinction is the whole difference between a push button and a switch, so it's enforced rather than assumed.
Where you left a knob is saved with the document as simulation state, not as a property of the part — because it isn't one.
LEDs and buzzers
Brightness is perceptual. A linear map makes an LED read as either off or saturated, with nothing in the range a dimming circuit actually lives in, so the response is gamma-corrected to match the eye. Colour comes from the part's wavelength — what a datasheet gives you, and what keeps six different LEDs on one sheet consistent with each other. Pick "Blue 465 nm" from the part's colour property and you also get its real 3.2 V forward voltage, so it genuinely won't light from 2.5 V.
Sound is synthesised from the measured drive, never streamed. Since the speed dial runs in simulated seconds per wall second, playing back a captured waveform would turn a 2.7 kHz buzzer into a growl at slow speeds. Synthesis is correct at every rung of the dial.
A magnetic buzzer contains its own oscillator and sings at its rated tone on DC. A piezo element is passive and follows its drive, so on DC it's correctly silent. Modelling them the same way makes half of all buzzer circuits behave wrongly. Audio is muted by default — a CAD tool that makes noise unbidden is hostile.
Damage
Parts can carry absolute-maximum ratings. Exceed one and a fault latches, changing the electrical model rather than just the picture, and says so — a part that silently stopped conducting would read as a solver bug. A faulted part emits nothing, so a burnt-out LED doesn't keep glowing.
A fuse blows on the melting integral, not on a current threshold. A fuse must survive inrush and die on a sustained overload, and only the integral expresses both. Comparing instantaneous current against the rating blows every fuse on capacitor inrush at power-up — the one moment a real fuse is designed to survive. Thermal ratings average over a window for the same reason: an LED rated 40 mA absolute-max isn't destroyed by a 40 mA spike lasting one timestep.
Faults live on the part, so a fuse you blew is still blown when you reopen the document. Click it to fit a new one, or use the Reset faults button that appears in the control row whenever anything is blown. Repairing only undoes the damage — a pot position on the same part survives.