Skip to content

Numos.Chunks package - #75

Open
Roudenn wants to merge 8 commits into
ArtisticRoomba:masterfrom
Roudenn:chunks-project
Open

Roudenn wants to merge 8 commits into
ArtisticRoomba:masterfrom
Roudenn:chunks-project

Conversation

@Roudenn

@Roudenn Roudenn commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

About PR

Adds a Numos.Chunks project & 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

  • AtmosChunkConstants now only has atmos-specific chunk stuff (InitialGasChannelCapacity), the rest is split into ChunkConstants class
  • AtmosChunkHandle renamed into ChunkHandle and moved from the API to Numos.Chunks
  • Added abstract Chunk class that contains stuff that should be shared for all voxel chunks with some helper methods, it's inherited by AtmosChunk
  • Chunk map dictionary is now managed by the ChunkMap<T> (where T is a Chunk type) class, AtmosKernel stores an instance of that class to do chunk operations

@Roudenn

Roudenn commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor Author

Will be ready for review when I fix the tests

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant