|
| | World () |
| auto | chunks () noexcept -> std::span< page_type > |
| auto | chunks () const noexcept -> std::span< const page_type > |
| template<typename Tag> |
| void | fill_field (const Schema::template value_type< Tag > &value) noexcept |
| 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_activity (ChunkKey key) const noexcept -> ChunkActivity |
|
auto | chunk_activity (ChunkCoord3 coord) const noexcept -> ChunkActivity |
|
auto | active_category_count (ChunkKey key) const noexcept -> std::uint32_t |
|
auto | dirty_mask (ChunkKey key) const noexcept -> DirtyMask |
|
auto | active_mask (ChunkKey key) const noexcept -> ActiveMask |
|
auto | dirty_bounds (ChunkKey key) const noexcept -> Box3 |
|
void | mark_dirty (ChunkKey key, DirtyMask mask, Box3 bounds) noexcept |
| void | mark_content_changed (ChunkKey key) noexcept |
|
void | mark_topology_dirty (ChunkKey key, DirtyMask mask, Box3 bounds) noexcept |
|
void | mark_topology_rebuilt (ChunkKey key) noexcept |
|
void | clear_dirty (ChunkKey key, DirtyMask mask) noexcept |
|
auto | observe_dirty (ChunkKey key, DirtyMask mask) const noexcept -> DirtyObservation |
|
bool | clear_dirty_observed (ChunkKey key, DirtyObservation observed) noexcept |
|
void | mark_active (ChunkKey key, ActiveMask mask) noexcept |
|
void | clear_active (ChunkKey key, ActiveMask mask) noexcept |
| void | collect_dirty_chunks (DirtyMask mask, std::vector< ChunkKey > &out) const |
| void | collect_active_chunks (ActiveMask mask, std::vector< ChunkKey > &out) const |
| auto | dirty_chunks (DirtyMask mask) const -> std::vector< ChunkKey > |
| auto | active_chunks (ActiveMask mask) 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 value-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.
template<typename
Shape, typename Schema>
Advances the chunk content version without marking dirty work.
Use this after a content write that must invalidate version-keyed derived state but does not concern any dirty-mask consumer. This changes only the content version. Use mark_dirty for dirty-metadata consumers, mark_topology_dirty when topology freshness must change, and the schedule's notification protocol when an OnDirty task must run. An intervening call also makes an earlier DirtyObservation stale.
The key must be valid, matching the precondition of mark_dirty.