:warning: This project never reached a usable state and probably never will. Go to gdtf.eu for a more active community. :warning:
There's an unfinished rework on the branch try_again
but ultimately I noticed my own need for the project has vanished.
A starting point to build a useful open-source GDTF
libary in Rust.
GDTF is a standardized fixture format for entertainment lighting.
ToDo's are kept in Issues.
Don't just parse GDTF
Provide a useful higher-level API that resembles the fixture model in a useful way.
Suck out as much information as possible
Always return a valid result, even if some parts are fixed up or missing. Use
mitigations (defaults, renames, ...) for unexpected conditions when possible or
omit a part if mitigation is impossible or too hard.
In any case, indicate problems and actions taken in a Problem Vector.
Panics are usually considered a bug, because then no valid result is returned.
Move faster
Value developer time.
Rust is my language of choice for this project, due to its interoperability with other languages and safety.
Interoperability is needed because creative lighting people want to work in many different languages but the community is not big enough to create GDTF implementations in every language. Safety is important because the environments in which we create stage lighting are already stressful, and software should not be a burden by being unreliable.
Other languages without a runtime, like C/C++, are interoperable but not very safe. Safe languages on the other hand often have a runtime that makes language interoperability unfeasible. This is why I think Rust is a good choice for a GDTF library.
see CONTRIBUTING.md