Skip to content

Pluggable Geometry Back‑ends #9

@edeno

Description

@edeno

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions