pub(crate) fn json_response_cache_key(cache_key: &str) -> StringExpand description
Typed ParseResponse cache key for the JSON transport.
Versioned SEPARATELY from request_cache_key, which is the client-facing
identifier and the seed for the parquet keys — bumping that would needlessly
invalidate every parquet entry too.
Introduced at v2 with issue #1841: the JSON route now emits Y-up meshes
like every other transport, so the pre-existing (unversioned) entries hold
raw IFC Z-up meshes and would silently serve a ROTATED model to a client
that rightly expects the uniform wire frame. A new suffix retires them.
v3 adds direct symbolic fill provenance (#4459), retiring otherwise valid
JSON responses that cannot suppress duplicate 3D fills.
v4 adds the IfcMapConversionScaled factors to metadata.georeferencing
(#4653). A v3 entry has no factor fields, decodes cleanly with every factor
defaulted to 1, and a client applying them places a scaled file wrong.
v5 carries the embedded symbolic_data in the frame this response’s own
meshes are in (#4706). This entry is the whole response, symbols included,
and it is returned BEFORE any extraction runs, so bumping
symbolic_cache_key alone leaves the JSON endpoint replaying old-frame
symbols for every file already on disk: measured on a translated, rotated
site, a planted v4 entry came back with its grid axis at (500, -300)
where the live parse puts it at (0, 0).
Bump again on any change to what ParseResponse means on the wire.