Major fixes for custom components when used in the main circuit:
- Add outputValues[] array for multi-output component gates, so each
output port carries its own independent value
- readSourcePort() reads the correct port value from source gates
instead of always reading gate.value
- evaluateComponent() now uses iterative fixed-point evaluation
(matching main evaluateAll) instead of a simple 10-pass loop
- Store inputIds/outputIds in component definition for consistent
port-to-gate mapping across save/load
- Renderer reads per-port values for connection color and port glow
- Added debug logs for component save and evaluation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>