The object to traverse and update
The target scope to convert PrecisionValues to
OptionalprovidedScope: SupportedMeasuresOptional scope to use if none can be detected
Internal WeakSet to prevent circular references
OptionaldetectedScope: SupportedMeasuresInternally tracked scope for the current level
Recursively traverses and updates all PrecisionValue fields in an object If providedScope is not specified, it will be detected from the data:
This function is particularly useful for converting DUC data between different measurement scopes, such as when elements need to be converted from their original scope to a target scope (e.g., 'mm' to 'in').
When processing arrays of elements (e.g., an 'elements' array), each element will be processed using its individual scope if available, falling back to the provided or detected scope.