A performant, simple physical design tool to convert your RTL (Register-Transfer Level) design to an OASIS (Open Artwork System Interchange Standard) binary.
Will be written in Odin with no dependencies except odin stdlib, and maybe vendor:raylib for the rendering since it handles platform specific rendering.
Platform native, statically linked binaries will be shipped for frictionless use.
Meant to be a more performant and simpler alternative to:
We will ship binaries for all major operating systems (windows, linux/unix based OSes, macOS) once the software is in alpha stage
- To build the project you will need the Odin compiler and stdlib.
- You can install it by following the instuctions on Odin's Official Website
- Once Odin is installed you can either run the program by running
odin run srcor build it usingodin build src(both from repository root) - On Linux, you need to explicitly pass a linker flag for dbus like
--extra-linker-flags:"-ldbus-1"since that is what we use to show native file dialogs. (eg.odin run src --extra-linker-flags:"-ldbus-1"/odin build src --extra-linker-flags:"-ldbus-1") - It may also be good to compile it as position independent code by passing
-reloc-mode:pic, this will allow it run on Android/iOS and some other platforms.
- Constants are all caps with
_for spaces likeEXAMPLE_CONSTANT - Functions are all lowercase with
_spaces likeexample_function - Variables are all lowercase with
_spaces likeexample_var(same as functions) - Filenames are all lowercase with
_likeexample_file.odin - Spaces between operators like
c = a + band notc=a+b - Types capitalize each word with no underscore like
MyType - Don't alias imports so don't import like
import ex "example"justimportexample` (exception for name collision / super long name but unlikely cz we're low dependency)