Opens the component editor with the internal circuit loaded for
modification. On save, updates the component definition and all
existing instances in the main circuit.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Double-click any INPUT, OUTPUT, or CLOCK gate to assign a custom label.
Labels are shown inside the gate and used in waveform viewer instead of
generic IN_0/OUT_0 names. Example circuits now ship with meaningful
labels (S, R, D, EN, Q, Q̅, CLK).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace single-pass recursive evaluation with iterative fixed-point
evaluation that runs multiple passes until all gate values stabilize.
Crucially, gate values are NO LONGER reset to 0 before evaluation,
which preserves latch/flip-flop memory state.
Add console logs for toggle, wire, and evaluation stability debugging.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 4 example circuits accessible from a new toolbar dropdown:
- SR Flip-Flop (NOR) — basic set-reset latch
- SR Flip-Flop (NAND) — active-low variant
- D Latch (1-bit Memory) — gated latch with enable
- D Flip-Flop (Master-Slave) — edge-triggered with CLK
Each example shows name + description in the dropdown and loads
the full circuit with proper gate placement and wiring.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace horizontal toolbar sections with dropdown buttons (I/O, Gates,
Components). Each opens a dropdown menu on click, keeping the toolbar
clean and compact. Dropdowns close on outside click or after selecting
a gate.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Redesign toolbar sections to use horizontal button rows instead of
vertical stacking. Fix component placement by attaching click handlers
directly to dynamically created buttons and passing correct gate object
shape to getComponentWidth/Height.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Redesigned toolbar with I/O, Gates, and Components sections
- Component editor: sub-canvas mode to design reusable chips
- Save/Cancel with main circuit state preservation
- Components persist in localStorage
- Custom components render as purple chips with dynamic I/O ports
- Component evaluation simulates internal circuit as black box
- Toolbar height increased to 56px for section labels
- All height references updated consistently
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- INPUT/CLOCK gates can now be dragged (click-without-move = toggle,
click-and-drag = move). Uses 4px movement threshold.
- Waveform only records samples on intentional actions (INPUT toggle,
manual step, simulation tick), not on gate placement/movement/connections.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add progressive puzzle mode alongside the existing sandbox:
- 8 levels from basic gates to 2-bit adder
- Truth table verification with pass/fail feedback
- Gate restrictions per level
- Custom components system (save circuits as reusable chips)
- Save/load circuits as JSON
- Level selection sidebar with difficulty ratings
- Mode toggle: Sandbox (free play) vs Puzzle (guided levels)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>