diff --git a/README.md b/README.md index ced76d0..195d54b 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,35 @@ # Neutrino +## A minimal, human-readable exchange format for 3D scene data > A neutrino is a fermion (an elementary particle) that interacts only via the weak interaction and gravity. The neutrino is so named because it is electrically neutral and because its rest mass is so small that it was long thought to be zero. The rest mass of the neutrino is much smaller than that of the other known elementary particles excluding massless particles. Neutrinos typically pass through normal matter unimpeded and undetected. - [Neutrino on Wikipedia](https://en.wikipedia.org/wiki/Neutrino) -# A minimal, human-readable exchange format for 3D scene data - ## Goals/properties of the format Neutrino should have: -1. Minimal core data structure +1. Reliable core data structure 2. Human-readable syntax 3. Simple cross-platform integration -4. Safely extendable data structure +4. Safe extensibility -### Minimal core data structure +### Reliable core data structure - No redundancy +- Explicit data types - No junk data (anything that isn't universally relevant to the vast majority of 3D software) ### Human-readable syntax - Clear, categorical data hierarchy (meshes → transforms, materials → texture maps, etc.) -- Stored via an ASCII format which can be directly opened and read by users (for instance, indented JSON files) +- Stored via an ASCII format which can be directly opened and read by users - Verbose data structures with simple English names (for example, named location/rotation/scale arrays in a transform dictionary rather than a nameless array of arrays which looks like Matrix code) (similar philosophy to Python and Ruby syntax) ### Simple cross-platform integration -- No hard requirements for storage format (although I am using and recommend JSON since it's human-readable, widely-supported, and directly converts to generic Python dictionaries) - No application-specific data structures -### Safely extendable data structure +### Safe extensibility - Should be able to support arbitrary, additional data for specific pipeline needs - Additional data will be discarded by the Neutrino preprocessor if it's not recognized by the target application. The core data structure can never be modified since it's the fallback. @@ -100,7 +99,7 @@ Neutrino should have: ### Example -```json +``` { "settings": { "assets": {