Build and wire. Place A, B, C or FlipFlop on empty workspace. Wire an OUT port to an IN port. Every input accepts multiple inbound wires; every output accepts just one outgoing wire. Use a router to split work. Competing input wires take fair turns when a building is ready. Crossing wires do not connect.
Move. Drag a building in any tool except Erase. There is no grid snap. Bodies cannot overlap but may touch. Compatible ports snap and connect when brought close; wires remain attached. The taller workspace fits eight A units stacked vertically. Wires may pass under buildings.
Request recipe. A changes a blank red outline to A; B changes A to B; C makes it solid. Requests fill at C’s output, but score only when they reach OUTPUT. A wrong stage stalls the request and flags an error.
FlipFlop and queues. FlipFlop alternates output 1, output 2. With one connected output it uses only that output. A full chosen branch makes it wait. Each building handles one request at a time; other requests wait on finite wires. A and B take 0.5s, C 2.0s, and FlipFlop 0.1s.
Test. Every Test starts empty and runs for exactly 30 simulation seconds at your chosen Input Clock. Deliver at least 23 completed red requests without recipe errors to qualify. The layout and clock are locked during the run. Stop cancels; another Test always starts fresh. Clear removes requests and counters; Empty chip also removes hardware. Playback changes viewing speed, not the result.
Input Clock. Click INPUT’s body to open its clock settings. Default is 2 Req/s; ±25% changes it by 0.5 Req/s. Default restores 2 immediately. Settings are locked during an active Test or Stress Test. Clicking an INPUT port still wires normally.
Stress Test. Starts empty at 2 Req/s, then 2.5, 3, 3.5… Each stage lasts 30 seconds and adds 25% of default (not compound growth). Queues stay between stages. The first request that cannot leave INPUT ends the test immediately. The highest fully passed stage is recorded; a failed first stage or a cancelled test earns no stress record.
Dashboard. Test Summary shows delivered requests against the goal. The count turns green when the goal is reached with no recipe errors. Stress Test Summary shows the rate being tested and the last fully completed stage. Average delivered measures the whole elapsed Test, or the current stress stage, including idle time; it resets at every new Test and every stress stage.
Leaderboards. Open or close the Leaderboard pop-up from the top-right button, even while a run is active. Its Test and Stress Test tabs have separate Top 10 lists. Test sorts are Throughput & Cost, Value, and Cost. Stress sorts by last successful Input Clock, then lowest Price. Results appear automatically; the latest ranking row is bold. Viewing a pop-up does not pause a run.
Save / Open. Save Design requests a portable .json download and shows a download link, filename and copyable JSON. Use the browser’s Downloads list to locate it. If an embedded preview blocks downloads, Copy JSON and paste it into Open Design. On supported browsers, Choose location opens a native save dialog. Browser autosave and local leaderboards are convenience storage and may be lost when browser data is cleared.
Keyboard. V: Select/Move · A/B/C/R: buildings · W: Wire · E: Erase · Space: start Test / Stop · Escape: close pop-ups, cancel the active gesture and deselect everything. Delete removes a selected processing building.
About. NeoFAB is a client-side CPU-factory proof of concept. Unlimited construction budget; optimize correct output against hardware cost. No external libraries or network service are required.