The editor__logic-gate Roborazzi screenshot showed empty input slots (“🔍 Set input”) even though the fixture was constructed with two configured digital inputs (Door open, Light on). The audit screenshot appeared to show an AND gate with no wired sources.
Fixtures.logicGateSwarm() set the sources field on LogicGateMetaData (the legacy TargetingNodeMetaData wiring field) rather than the inputs field (the digital-input list introduced in #321). The LogicGateInputsSection composable reads meta.inputs, so the fixture’s sources assignment had no effect on the rendered editor — all slots appeared unset.
Changed sources = listOf(...) to inputs = listOf(...) in Fixtures.logicGateSwarm() in composeApp/src/desktopTest/kotlin/krill/zone/screenshot/Fixtures.kt. The two NodeIdentity values (INPUT_A_ID, INPUT_B_ID) are unchanged; only the field name moved from the legacy key to the current one.
When a data class has both a legacy field (sources) and a current field (inputs) serving similar purposes, fixture authors must use the field the UI actually reads. Before authoring a fixture, grep the composable under test for the field name to confirm which path is live. A mismatch silently produces a valid-compiling fixture that renders the wrong state.