dschmidt opened a new pull request, #3540:
URL: https://github.com/apache/tika/pull/3540

   [TIKA-5036](https://issues.apache.org/jira/browse/TIKA-5036), SketchUp part 
(Blender is #3539).
   
   SketchUp stores a PNG preview in every `.skp` file. `SketchUpParser` (cad 
module) emits it as the `THUMBNAIL`. The file starts with "SketchUp Model" and 
the version as length-prefixed UTF-16 strings; after that, the preview sits in 
one of two places:
   
   - up to SketchUp 2020, in a `CDib` record about 2 KB into the file: the 
record's length fields, then the PNG;
   - from SketchUp 2021, in a zip that starts a few bytes after the version. 
Its `meta/model_thumbnail.png` shows the model alone on a transparent 
background and is taken; `meta/preview_thumbnail.png` (the view with background 
and axes) is the fallback, as some files lack it.
   
   `application/vnd.sketchup.skp` is new, detected by the header. No SketchUp 
type is registered anywhere; this is the one file(1) has used since 2018 for 
the same header.
   
   Checked against 107 real files from public repositories, SketchUp 3 to 2026: 
all are detected, with and without a file name, and each thumbnail matches, 
byte for byte, the PNG an independent extraction finds.
   
   An open question on the `*.skp` glob: Tika maps it to `application/vnd.koan` 
(SSEYO Koan), as IANA does, and two types cannot share a glob. This PR leaves 
it there, so a SketchUp file is recognized by its content, and a `.skp` without 
the header is still Koan. Moving the glob to SketchUp, keeping it with Koan, or 
something else entirely: I don't have a strong opinion and would go with 
whatever you prefer.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to