capture method
Every part's state, in registration order, as one value restore
takes back: flutter3d_sim's Snapshot, whose data holds plain
values only.
Implementation
@override
Map<String, Object?> capture() => <String, Object?>{
for (final part in _parts)
part.id: <String, Object?>{
'version': part.version,
'data': part.capture(),
},
};