ecs: cleanup documentation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
f57073f02f
commit
2532436170
2 changed files with 3 additions and 22 deletions
|
|
@ -4,9 +4,8 @@
|
|||
|
||||
## Design principles:
|
||||
|
||||
* Clean-room implementation (author has not read any other ECS implementation code.)
|
||||
* Clean-room implementation (author has not read any other ECS implementation code, just working from first-principles)
|
||||
* Solve the problems ECS solves, in a way that is natural to Zig and leverages Zig comptime.
|
||||
* Avoid patent infringement upon Unity ECS patent claims.
|
||||
* Fast. Optimal for CPU caches, multi-threaded, leverage comptime as much as is reasonable.
|
||||
* Simple. Small API footprint, should be natural and fun - not like you're writing boilerplate.
|
||||
* Enable other libraries to provide tracing, editors, visualizers, profilers, etc.
|
||||
|
|
@ -35,9 +34,3 @@ There are plenty of known issues, and things that just aren't implemented yet. A
|
|||
* When entity is deleted, maybe via systems / an event/callback, need a way to be notified of destruction. Same with updated maybe.
|
||||
|
||||
See also the numerous TODOs in main.zig.
|
||||
|
||||
## Copyright & patent mitigation
|
||||
|
||||
The initial implementation was a clean-room implementation by Stephen Gutekanst without having read other ECS implementations' code, but with speaking to people familiar with other ECS implementations. Contributions past the initial implementation may be made by individuals in non-clean-room settings (familiar with open source implementations only.)
|
||||
|
||||
Critically, this entity component system stores components for a classified archetype using independent arrays allocated per component as well as hashmaps for sparse component data as an optimization. This is a novel and fundamentally different process than what is described in Unity Software Inc's patent US 10,599,560. This is not legal advice.
|
||||
|
|
|
|||
|
|
@ -2,25 +2,13 @@
|
|||
//!
|
||||
//! ## Design principles:
|
||||
//!
|
||||
//! * Clean-room implementation (author has not read any other ECS implementation code.)
|
||||
//! * Clean-room implementation (author has not read any other ECS implementation code, just working
|
||||
//! from first-principles)
|
||||
//! * Solve the problems ECS solves, in a way that is natural to Zig and leverages Zig comptime.
|
||||
//! * Avoid patent infringement upon Unity ECS patent claims.
|
||||
//! * Fast. Optimal for CPU caches, multi-threaded, leverage comptime as much as is reasonable.
|
||||
//! * Simple. Small API footprint, should be natural and fun - not like you're writing boilerplate.
|
||||
//! * Enable other libraries to provide tracing, editors, visualizers, profilers, etc.
|
||||
//!
|
||||
//! ## Copyright & patent mitigation
|
||||
//!
|
||||
//! The initial implementation was a clean-room implementation by Stephen Gutekanst without having
|
||||
//! read other ECS implementations' code, but with speaking to people familiar with other ECS
|
||||
//! implementations. Contributions past the initial implementation may be made by individuals in
|
||||
//! non-clean-room settings.
|
||||
//!
|
||||
//! Critically, this entity component system stores components for a classified archetype using
|
||||
//! independent arrays allocated per component as well as hashmaps for sparse component data as an
|
||||
//! optimization. This is a novel and fundamentally different process than what is described in
|
||||
//! Unity Software Inc's patent US 10,599,560. This is not legal advice.
|
||||
//!
|
||||
|
||||
const std = @import("std");
|
||||
const testing = std.testing;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue