Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nexus serialization #38

Draft
wants to merge 44 commits into
base: master
Choose a base branch
from
Draft

Nexus serialization #38

wants to merge 44 commits into from

Conversation

ctreffs
Copy link
Member

@ctreffs ctreffs commented Nov 25, 2020

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:

  • Encode to YAML, JSON, binary data
  • Decode from YAML, JSON, binary data

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

  • I've read the Contribution Guidelines
  • I've followed the coding style of the rest of the project.
  • I've added tests covering all new code paths my change adds to the project (to the extent possible).
  • I've added benchmarks covering new functionality (if appropriate).
  • I've verified that my change does not break any existing tests or introduce unexpected benchmark regressions.
  • I've updated the documentation (if appropriate).

ctreffs added 30 commits June 26, 2020 10:49
# Conflicts:
#	Sources/FirebladeECS/Nexus.swift
# Conflicts:
#	Sources/FirebladeECS/Nexus.swift
# Conflicts:
#	Sources/FirebladeECS/ComponentIdentifier.swift
#	Sources/FirebladeECS/EntityIdentifierGenerator.swift
#	Tests/FirebladeECSTests/EntityTests.swift
#	Tests/FirebladeECSTests/XCTestManifests.swift
# Conflicts:
#	Tests/FirebladeECSTests/XCTestManifests.swift
@ctreffs ctreffs self-assigned this Nov 25, 2020
@ctreffs ctreffs added enhancement New feature or request help wanted Extra attention is needed labels Nov 25, 2020
@codecov
Copy link

codecov bot commented Nov 25, 2020

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
@@            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     

@ctreffs ctreffs changed the title WIP: Nexus serialization Nexus serialization Nov 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant