fireblade-engine / ecs

A dependency free, lightweight, fast Entity-Component System (ECS) implementation in Swift
MIT License
110 stars 11 forks source link

Nexus serialization #38

Open ctreffs opened 3 years ago

ctreffs commented 3 years ago

Description

This PR aims to add serialization for the whole Nexus.

There are several challenges with this, but especially the static types on deserialization make it hard to get it right.

Open ToDos:

Detailed Design

For now arbitrary components are serialized into a binary format, but this should not be the final solution since this will produce a platform dependent and unstable serialization format.

Documentation

t.b.d.

Testing

t.b.d.

Performance

t.b.d.

Source Impact

t.b.d.

Checklist

codecov[bot] commented 3 years ago

Codecov Report

Attention: Patch coverage is 69.56522% with 63 lines in your changes missing coverage. Please review.

Project coverage is 93.72%. Comparing base (9708eba) to head (cae5c71).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #38 +/- ## ========================================== - Coverage 97.21% 93.72% -3.49% ========================================== Files 24 27 +3 Lines 1435 1642 +207 ========================================== + Hits 1395 1539 +144 - Misses 40 103 +63 ```