This file describes this repository and tool. v2f is short for "Verilog to Factorio." The purpose of this tool is to allow Factorio players to use Verilog to describe combinator circuits. An additional purpose is to provide a simple API for describing combinators, so players can manually create designs. Take a Verilog file and outputs json blueprint strings that can be imported in Factorio 2.0. Exposes a Rust and Lua API for players to make designs in code. Ok here you go This isn't the full flow. Getting Yosys in the browser is very painful, so here is just the backend flow with a GUI slapped on top. You can place combinators and simulate them. This is what it looks like: With prebuilt development image Click the following to open a dev container on a github hosted machine: Once you click through, you will get a development machine ready to use the tool. Follow the Lua or CLI sections to continue. The second easiest way is to install VSCode and Docker. Also install the dev-containers extension for VSCode. Clone the repo into you preferred working directory. Open the repo with VSCode, you should be prompted to re-open in a dev-container. Select yes. If not, press ctrl-p and type >reopen and select "Dev containers: Reopen in container" The Lua API reference is here. It contains all the functions and constructs that let you make a design, simulate it, and realize the physical representation. Once you have your environment running, you can create a new lua file and run it by clicking "Run and Debug" > "Current lua file". This will cause the project to compile, so the first run may take ~30 seconds to start. Subsequent runs should start instantly. With the "Run and Debug" set to "Current lua file" you can press F5 to run the currently open lua file. You only need to set V2F_ROOT to the repo root and update PATH to include $(V2F_ROOT)/target/release. You can do this automatically by executing source env.bash. This will add the needed environment variables and alias v2f t...
First seen: 2026-03-29 02:46
Last seen: 2026-03-29 13:53