Embed compact shapes in page entries for library exports, add geometry
verification and structure tests for backend, and remove the redundant
:format field from the manifest — version alone determines format.
AI-assisted-by: deepseek-v4-pro
Stop stamping :page-id onto shape objects in three places:
- files_thumbnails.clj: get-thumbnail-frame now returns [frame page-id]
pair instead of stamping the page-id onto the frame itself
- binfile/v3.clj: remove stamp on export (import derives page-id from
zip entry path, never reads it from the shape)
- library/export.cljs: same — remove stamp on library export
The page-id is always available from context in these code paths.
AI-assisted-by: deepseek-v4-pro