Define SpatialIndex trait with entities_in_range, entities_at, and update methods. NaiveSpatialIndex uses Vec backend with Manhattan distance. sync_spatial_index system auto-updates from Changed<TilePosition>. Registered as Bevy resource. Trait abstraction allows grid/quadtree replacement later without touching callers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>