Documentation

This commit is contained in:
PedroEdiaz
2024-12-04 10:32:38 -06:00
parent b2f6707efc
commit d97a35b898
7 changed files with 34 additions and 223 deletions

View File

@@ -5,6 +5,8 @@ explore each dimension in an intuitive and dynamic way.
Import your .klein files, which represents multidimentional surface.
# Building
Manigraph is written in C99, and uses OpenGL 2.0 for the rendering. So you just
need a C compiler to build this project.
## Source code
```
@@ -32,3 +34,25 @@ make linux-wayland
make cocoa
make CC=emcc wasm
```
# Design
Manigraph is a program designed with sustainability in mind. It is built to be
portable, resource-efficient, and easy to maintain and scale. The program
follows a Data-Oriented Programming (DOP) paradigm, where each file is
responsible for a specific data type and manages its own dependencies. Each
function is named after the file it resides in, ensuring a clear organization
and structure.
The independence of data types allows for efficient scaling and maintenance.
The main file is a special case in this design: it is responsible for combining
all the data types in a comprehensive manner, actng as the workflow of the program.
# Contributing
Before commiting use `clang-format`, for coding style consistency. Your
contribution must be whitin the design principles and the concept of Manigraph.
The following diagram illustrates the relationships between files, showing how
they are connected through dependencies. It also highlights the scenarios where
files are not independent of one another,
![File layout](doc/file_layout.svg)