mirror of
https://github.com/slint-ui/slint.git
synced 2025-09-29 05:14:48 +00:00
57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
# SixtyFPS development guide
|
|
|
|
The build instructions are in the [building.md](./building.md) file
|
|
|
|
## Repository structures
|
|
|
|
### `helper_crates`
|
|
|
|
A set of crates that are somehow not strictly related to sixtyfps, and that could be moved to
|
|
their own repository and have their own version release at some point.
|
|
|
|
### `sixtyfps_compiler`
|
|
|
|
The main library for the compiler for .60.
|
|
|
|
Nothing in there should depends on the runtime crates.
|
|
|
|
There is a **`test`** subdirectory that contains the syntax tests.
|
|
These tests allow to test the proper error conditions.
|
|
|
|
### `sixtyfps_runtime`
|
|
|
|
The library crates that are used at runtime.
|
|
|
|
- **`corelib`** is the main library. It is meant to be used for all frontends. Ideally it should
|
|
be kept as small as possible. **`corelib-macros`** contains some procedural macro used by corelib.
|
|
- **`rendering_backends`** contains the different backend for the different platform, separated from
|
|
corelib. Currently there is just the gl backend
|
|
- **`interpreter`** is the library used by the more dynamic languages backend to compile and
|
|
interet .60 files. It links both against corelib and the compiler lib
|
|
|
|
### `tools`
|
|
|
|
- **`compiler`** is the tool to generate the target language (e.g. c++) from the .60 files for
|
|
frontend that have a compilation step and generated code.
|
|
- **`viewer`** is a tool that allow to open and view a .60 file.
|
|
|
|
### `api`
|
|
|
|
Here one find the frontend for different language.
|
|
|
|
### `tests`
|
|
|
|
The integration test that are testing a bunch of .60 with different frontends
|
|
|
|
### `examples`
|
|
|
|
Some manual tests
|
|
|
|
## Documentation
|
|
|
|
There are some documentations comments in the code.
|
|
HTML documentation can be generated with something like
|
|
|
|
```
|
|
cargo doc --document-private-items --no-deps --open
|
|
```
|