Locate main model part in a 3MF zip (JSZip contents). Handles alternate paths/casing.
(contents)
| 6928 | } |
| 6929 | } else { |
| 6930 | // Use default thumb only — multi-thumb strings are joined with `::` |
| 6931 | const imagePayload = getThumbnailImagePayload(model.thumbnail); |
| 6932 | |
| 6933 | if (!imagePayload) { |
| 6934 | console.error(`Invalid thumbnail format for ${filePath}`); |
| 6935 | failureCount++; |
| 6936 | } else { |
| 6937 | try { |
| 6938 | // Generate tags using the thumbnail image |
| 6939 | tags = await aitagging.generateTagsForImage( |
| 6940 | imagePayload.base64, |
| 6941 | settings.aiModel, |
| 6942 | { ...tagOptions, mimeType: imagePayload.mimeType }, |
| 6943 | 2000, |
| 6944 | 5, |
| 6945 | filePath |
| 6946 | ); |
| 6947 | successCount++; |
no outgoing calls
no test coverage detected