Skip to content

Model intake resource limits ​

Print Buddy streams supported 3MF mesh XML into compact float32 vertex and int32 triangle buffers, retaining only the small model structure as XML. Large geometry is not rejected at the former 32 MiB model XML threshold. Unsupported XML layouts and encodings use the existing ElementTree fallback.

Safety limits in this revision:

ResourceLimit
Download or local source200 MiB
ZIP members4,096
Total expanded ZIP content512 MiB
Any expanded ZIP member400 MiB
Aggregate .model XML400 MiB
STL file32 MiB
XML triangles / vertices10,000,000 each
XML elements across models40,000,000
Estimated geometry working storage1,536 MiB

ZIP sizes are checked before opening any member. Model XML is then counted with a streaming parser. XML document type declarations are refused. Binary STL triangle counts are checked from the header when its length matches the file. The STL byte limit also applies to ASCII STL. Site downloads count actual streamed bytes even if Content-Length is missing or incorrect; failed partial downloads are removed.

Discord upload, link and reprint intake check before title extraction, audit and color prompts. Direct audit, color inventory and geometry loading apply the same guard. A safety-ceiling refusal explains the exceeded budget and asks you to simplify or split the file. Nothing is sliced or started for a refused intake.

Verification limits ​

Geometry layout, transforms, topology, mesh audit and part annotation now consume the same indexed vertex/face arrays instead of re-expanding the mesh into Python objects, and color inventory scans members without building the model DOM. Meshes the streaming reader declines still take the ElementTree fallback, whose memory use this work does not bound. Synthetic streaming-success and allocation-bound tests cover the parser and individual consumers; they do not by themselves establish an end-to-end RSS guarantee. Private-model capped intake and successful slicing acceptance remains required before claiming this revision solves the observed memory problem. OrcaSlicer's memory use must be measured separately from Print Buddy's.

Documentation home

Documentation content is copied from catduckgnaf/print-buddy — that repo's docs/ directory is the source of truth.