// Shared application state — single source of truth export const state = { // Circuit gates: [], connections: [], nextId: 1, // Interaction placingGate: null, dragging: null, dragOffset: { x: 0, y: 0 }, connecting: null, hoveredGate: null, hoveredPort: null, mouseX: 0, mouseY: 0, // Waveform waveformVisible: false, waveformHeight: 220, recording: true, waveData: {}, // { gateId: [{ t, value }] } timeStep: 0, waveZoom: 20, // pixels per time step waveScroll: 0, resizingWave: false, // Simulation simRunning: false, simInterval: null, simSpeed: 500 // ms per tick };