* feat(engine): INSERT of a drawing file keeps an attribute definition's field
The attribute definitions of a drawing file read by INSERT name=file lost their
extension dictionary, so the ACAD_FIELD dictionary and the FIELD objects of an attribute
whose value is a field (the file name in a title block) were gone from the block.
adopt() now copies that object tree to the drawing under new handles, with the FIELD
class and a field list if the drawing has none.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
* foreign: index the kept objects once when walking and copying a dictionary tree
A file can keep many objects; a linear lookup per pointer grew with their product.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: andrewbrake <6925387+andrewbrake@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>