Replace an item at a specific position. Updates both id_map and fid_map.
When silent is true, no items_changed is emitted (e.g. placeholder→Session replace on restore).
| position |
The position of the item to replace |
| item |
The new SessionBase item to replace with |
| silent |
If true, do not emit items_changed so nothing downstream triggers |