|
| | World () |
| auto | chunks () noexcept -> std::span< page_type > |
| auto | chunks () const noexcept -> std::span< const page_type > |
| auto | chunk (ChunkKey key) noexcept -> page_type & |
| auto | chunk (ChunkKey key) const noexcept -> const page_type & |
| auto | chunk (ChunkCoord3 coord) noexcept -> page_type & |
| auto | chunk (ChunkCoord3 coord) const noexcept -> const page_type & |
| auto | try_chunk (ChunkKey key) noexcept -> page_type * |
| auto | try_chunk (ChunkKey key) const noexcept -> const page_type * |
| auto | try_chunk (ChunkCoord3 coord) noexcept -> page_type * |
| auto | try_chunk (ChunkCoord3 coord) const noexcept -> const page_type * |
| auto | meta (ChunkKey key) noexcept -> ChunkMeta & |
|
auto | meta (ChunkKey key) const noexcept -> const ChunkMeta & |
|
auto | meta (ChunkCoord3 coord) noexcept -> ChunkMeta & |
|
auto | meta (ChunkCoord3 coord) const noexcept -> const ChunkMeta & |
| auto | try_meta (ChunkKey key) noexcept -> ChunkMeta * |
|
auto | try_meta (ChunkKey key) const noexcept -> const ChunkMeta * |
|
auto | try_meta (ChunkCoord3 coord) noexcept -> ChunkMeta * |
|
auto | try_meta (ChunkCoord3 coord) const noexcept -> const ChunkMeta * |
|
auto | chunk_state (ChunkKey key) const noexcept -> ChunkState |
|
auto | chunk_state (ChunkCoord3 coord) const noexcept -> ChunkState |
|
void | set_chunk_state (ChunkKey key, ChunkState state) noexcept |
|
auto | dirty_flags (ChunkKey key) const noexcept -> std::uint32_t |
|
auto | active_flags (ChunkKey key) const noexcept -> std::uint32_t |
|
auto | dirty_bounds (ChunkKey key) const noexcept -> Box3 |
|
void | mark_dirty (ChunkKey key, std::uint32_t flags, Box3 bounds) noexcept |
|
void | mark_topology_dirty (ChunkKey key, std::uint32_t flags, Box3 bounds) noexcept |
|
void | mark_topology_rebuilt (ChunkKey key) noexcept |
|
void | clear_dirty (ChunkKey key, std::uint32_t flags) noexcept |
|
auto | observe_dirty (ChunkKey key, std::uint32_t flags) const noexcept -> DirtyObservation |
|
bool | clear_dirty_observed (ChunkKey key, DirtyObservation observed) noexcept |
|
void | mark_active (ChunkKey key, std::uint32_t flags) noexcept |
|
void | clear_active (ChunkKey key, std::uint32_t flags) noexcept |
| void | collect_dirty_chunks (std::uint32_t flags, std::vector< ChunkKey > &out) const |
| void | collect_active_chunks (std::uint32_t flags, std::vector< ChunkKey > &out) const |
| auto | dirty_chunks (std::uint32_t flags) const -> std::vector< ChunkKey > |
| auto | active_chunks (std::uint32_t flags) const -> std::vector< ChunkKey > |
| auto | resolve (Coord3 coord) const noexcept -> ResolvedTile< Shape > |
| auto | try_resolve (Coord3 coord) const noexcept -> std::optional< ResolvedTile< Shape > > |
| template<typename Tag> |
| auto | field (Coord3 coord) noexcept -> Schema::template value_type< Tag > & |
| template<typename Tag> |
| auto | field (Coord3 coord) const noexcept -> const Schema::template value_type< Tag > & |
| template<typename Tag> |
| auto | try_field (Coord3 coord) noexcept -> Schema::template value_type< Tag > * |
| template<typename Tag> |
| auto | try_field (Coord3 coord) const noexcept -> const Schema::template value_type< Tag > * |
| template<typename Tag> |
| auto | field_span (ChunkKey key) noexcept |
| template<typename Tag> |
| auto | field_span (ChunkKey key) const noexcept |
template<typename
Shape, typename Schema>
class tess::World< Shape, Schema, AlwaysResident >
Dense owner of every chunk page and its metadata.
Construction allocates and zero-initializes storage for the complete bounded shape. No operation changes the number of pages afterward, so page pointers, references, and spans remain valid until the world is moved from or destroyed. Query and mutation hot paths do not allocate; methods returning a std::vector may. Instances are not internally synchronized: concurrent reads are safe, while mutation requires external synchronization with all accesses to the affected world.