Expand description
Prepared multi-profile / multi-AOI session.
Execution model:
- Profiles are processed in batches of
max_inflight_profiles. Each batch is loaded and prepared (interpolator from supplied global simplices) in the single session pool. - AOIs resolve to pixel windows on each profile’s own grid. Work items are grid tiles of
output_tilepixels anchored at grid pixel (0, 0); a tile is evaluated once for the union of AOI windows and every AOI receives its sub-rectangle. AOI output therefore equals the crop of the full-grid output by construction. - Native terrain blocks are shared through one byte-bounded cache across all profiles, batches and AOIs of the session. Items are ordered by terrain-block locality.
- At most
max_tiles_in_flightevaluated tiles are alive between the pool and the sink (max_tiles_in_flight == 1runs a serial evaluate-then-write branch). - Admission: per-profile load+prepare estimates come from request content and file lengths
before anything is read; plan sizes are bounded before plans are allocated; the report’s
memory_estimateseparates enforced bounds, estimates and unaccounted allocations. - Failure safety: errors and caught panics after the output directory exists fail every
open unit and still write an
abortedreport (best effort; seerun).
Structs§
Enums§
Constants§
- MAX_
PLAN_ TILES_ PER_ PROFILE - Work items above this count in one profile plan are rejected before the plan is allocated
(raise
output_tile). Bounds plan metadata: items, tile set and per-unit tile records.
Functions§
- aoi_
window - run
- Runs a session and writes outputs plus
report.jsoninto the new directoryout.