json_response_cache_key

Function json_response_cache_key 

Source
pub(crate) fn json_response_cache_key(cache_key: &str) -> String
Expand 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.