Skip to main content

Module session

Module session 

Source
Expand description

Prepared multi-profile / multi-AOI session.

Execution model:

  1. 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.
  2. AOIs resolve to pixel windows on each profile’s own grid. Work items are grid tiles of output_tile pixels 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.
  3. 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.
  4. At most max_tiles_in_flight evaluated tiles are alive between the pool and the sink (max_tiles_in_flight == 1 runs a serial evaluate-then-write branch).
  5. 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_estimate separates enforced bounds, estimates and unaccounted allocations.
  6. Failure safety: errors and caught panics after the output directory exists fail every open unit and still write an aborted report (best effort; see run).

Structs§

Prepared
ProfileReport

Enums§

Grid

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.json into the new directory out.