Conversation
Contributor
Author
|
Will be ready for review when I fix the tests |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About PR
Adds a
Numos.Chunksproject & package that contains stuff related to voxel chunks in Numos's implementation.Only does abstraction, renaming and reorganization of code, PR doesn't change anything about how the chunk system works, except for removing some redundancies such as passing the dimensions when they're already defined.
Why
Required for #35 because pipes should be stored in a separate voxel grid that is also able to be compatible with the atmos simulation.
This PR only implements parity for the chunk code layer (voxel operations such as finding neighbours & supporting docks and portals are still hardcoded to atmos), but still does progress towards supporting custom modules better.
Making voxel operations abstract will require a lot of work and multiple thermonuclear refactors, so this PR is okay to be merged as a "Part 1" before going deeper into abstractions.
Changes
AtmosChunkConstantsnow only has atmos-specific chunk stuff (InitialGasChannelCapacity), the rest is split intoChunkConstantsclassAtmosChunkHandlerenamed intoChunkHandleand moved from the API toNumos.ChunksChunkclass that contains stuff that should be shared for all voxel chunks with some helper methods, it's inherited byAtmosChunkChunkMap<T>(where T is a Chunk type) class,AtmosKernelstores an instance of that class to do chunk operations