-
Notifications
You must be signed in to change notification settings - Fork 1
Description
The goal is to decouple “how space is discretised & connected” from analyses that rely on those discretisations (bin assignment, shortest‑paths, plotting, etc.).
You keep a single high‑level Environment API, but let users swap geometry engines to support regular grids, hex tilings, irregular polygons, curved tracks, or full 3‑D meshes.
Mixed or evolving geometries
Hybrid arenas – e.g. open field + elevated linear ramp. You could combine a RegularGridEngine for the field and a TrackGraphEngine for the ramp, then union the interiors so decoding algorithms work seamlessly across both regions.
Developmental growth – an arena that starts as a straight arm and later has branches welded on. Begin with TrackGraphEngine, then call append_track_segment() when the branch is added.
High‑resolution mesh → coarse grid – build statistics on a MeshEngine for path‑length accuracy, but down‑sample to a RegularGridEngine (or hex) for fast PDF estimation; engines convert between each other.