PrintStash v0.7.1: subida de carpetas y límites
La v0.7.1 añadió subida de carpetas completas, límites de malla conscientes de los cgroups y renderizado serializado con un recuento correcto de modelos.
PrintStash v0.7.1 añadió la subida masiva de carpetas y completó el trabajo de memoria para mallas grandes que empezó en la v0.7.0. Un archivo demasiado grande o poco habitual ya podía saltarse su vista previa mientras la API y el resto de la importación seguían funcionando.
Subir una carpeta sin aplanarla
El diálogo de subida aceptaba varios archivos o una carpeta completa. Las rutas relativas se convertían en colecciones anidadas, conservando la organización útil del árbol de origen.
Esto valía para las subidas de carpeta del navegador y complementaba la conservación de carpetas que ya se había añadido para los archivos ZIP.
Deducir los límites de vista previa de la RAM disponible
El tope fijo de triángulos ganó un compañero consciente de la memoria. PrintStash detectaba la memoria disponible para el proceso, incluidos los límites de cgroup de Docker, y estimaba si una carga y un renderizado completos iban a caber.
Los archivos por encima del presupuesto efectivo seguían indexados mientras se omitía la vista previa generada. Los archivos 3MF grandes podían conservar una imagen incrustada sin analizar el costoso XML de la malla.
VAULT_MESH_MAX_LOAD_MB, con 200 MB por defecto, añadió un tope de seguridad independiente del formato para los archivos cuyo número de triángulos no se podía estimar de forma segura.
Acotar la memoria durante un renderizado
VAULT_MAX_RENDER_JOBS tenía uno por defecto y dividía el presupuesto disponible cuando se aumentaba. VAULT_MESH_RENDER_FACE_CHUNK_SIZE, con 200.000 caras por defecto, limitaba los arrays temporales del rasterizador. El renderizado en Float32 reducía su huella, y las arenas del asignador liberadas se devolvían al sistema operativo entre archivos donde era posible.
La versión añadió estos ajustes opcionales:
| Ajuste | Por defecto |
|---|---|
VAULT_MESH_MAX_LOAD_MB |
200 |
VAULT_MESH_MEMORY_BUDGET_FRACTION |
0.5 |
VAULT_MAX_RENDER_JOBS |
1 |
VAULT_MESH_RENDER_FACE_CHUNK_SIZE |
200000 |
VAULT_USE_EMBEDDED_3MF_PREVIEW_FOR_LARGE_FILES |
true |
No hizo falta ninguna migración de esquema.
Totales de biblioteca correctos
El recuento de All Models incluía antes solo los modelos que estaban en la raíz de la colección. Una biblioteca organizada por completo en carpetas anidadas podía mostrar cero. La v0.7.1 contaba todos los modelos visibles para la cuenta actual.
La referencia de configuración actual explica los límites. #26, #29 y #30 contienen los informes originales.