Dense spatial grid for O(1) entity lookup by position.
Grid cells are cell_size x cell_size world units.
Uses u64 entity handles — zero-copy, no per-entity String allocation.
Bounded A* pathfinding. Returns path as Vec<(i32, i32)> excluding start.
cost_fn returns movement cost (999 = impassable) for a given (x, y).
Bounded by max_steps to prevent unbounded work.
Compute observer visibility mask: 1 for visible meshlets, 0 for culled.
fov_cells is the output of compute_fov.
meshlet_coords are the (x, y) cell positions of each meshlet.