tess 0.4.0
Performance-first tile and path simulation substrate
Loading...
Searching...
No Matches
tess::PlannedDirtyAccumulator Class Reference

#include <tess/ops/queued.h>

Public Member Functions

void reserve (std::size_t count)
void clear () noexcept
template<typename World>
auto record (const World &, ChunkKey chunk, std::uint32_t dirty_mask, Box3 bounds) -> PlannedDirtyRecordStatus
auto records () const noexcept -> std::span< const PlannedDirtyRecord >
template<typename World>
auto validation_status (const World &) const noexcept -> PlannedDirtyMergeStatus

Friends

class PlannedDirtyPartitions
template<bool BindWorld, WritePolicy Policy, typename World, typename Fn>
auto detail::execute_validated_planned_operation_deferred_dirty (World &world, const PlannedOperation &operation, PlannedDirtyAccumulator &dirty, Fn &&fn) -> PlannedExecutionResult
template<WritePolicy Policy, typename World, typename Fn>
auto execute_planned_operation_deferred_dirty (World &world, const PlannedOperation &operation, PlannedDirtyAccumulator &dirty, Fn &&fn) -> PlannedExecutionResult
template<typename World>
auto merge_planned_dirty (World &world, PlannedDirtyAccumulator &dirty) -> PlannedDirtyMergeResult
template<typename World>
auto merge_planned_dirty (World &world, PlannedPhaseExecutionScratch &scratch) -> PlannedDirtyMergeResult
auto collect_planned_dirty (PlannedDirtyAccumulator &dirty, PlannedDirtyPartitions &partitions) -> PlannedDirtyCollectResult

Detailed Description

Owns shape-bound deferred dirty records for deterministic later merging.

Member Function Documentation

◆ record()

template<typename World>
auto tess::PlannedDirtyAccumulator::record ( const World & ,
ChunkKey chunk,
std::uint32_t dirty_mask,
Box3 bounds ) -> PlannedDirtyRecordStatus
inline

Records a dirty chunk only when it belongs to world's shape.

◆ validation_status()

template<typename World>
auto tess::PlannedDirtyAccumulator::validation_status ( const World & ) const -> PlannedDirtyMergeStatus
inlinenodiscardnoexcept

Validates this accumulator's O(1) shape/chunk stamp for world.

◆ collect_planned_dirty

auto collect_planned_dirty ( PlannedDirtyAccumulator & dirty,
PlannedDirtyPartitions & partitions ) -> PlannedDirtyCollectResult
friend

Moves compatible operation partitions into one reusable accumulator.

◆ execute_planned_operation_deferred_dirty

template<WritePolicy Policy, typename World, typename Fn>
auto execute_planned_operation_deferred_dirty ( World & world,
const PlannedOperation & operation,
PlannedDirtyAccumulator & dirty,
Fn && fn ) -> PlannedExecutionResult
friend

Executes one validated operation while deferring dirty metadata.

◆ merge_planned_dirty [1/2]

template<typename World>
auto merge_planned_dirty ( World & world,
PlannedDirtyAccumulator & dirty ) -> PlannedDirtyMergeResult
friend

Coalesces and applies deferred dirty records after validating their world stamp. Rejected merges leave both the world and accumulator unchanged.

◆ merge_planned_dirty [2/2]

template<typename World>
auto merge_planned_dirty ( World & world,
PlannedPhaseExecutionScratch & scratch ) -> PlannedDirtyMergeResult
friend

Applies phase dirty records through the scratch object's accumulator.


The documentation for this class was generated from the following file: