Probando Despiece – Visor STEP con nesting, cantos y pedido de materiales (feedback bienvenido)

sigo acomodando modulos que nunca quise implementar pero se dieron,

Agenda de clientes. Lo que van a notar:

  • Arreglado: editar un cliente en la agenda ya no le cambiaba el cliente al proyecto que tenías abierto — el presupuesto te salía impreso con otro
    nombre.
  • Arreglado: al elegir un cliente de la agenda ahora los campos se completan de verdad; antes quedaban los del anterior y al tipear se revertía
    solo.
  • Arreglado: si el guardado falla, ahora te avisa. Antes decía “guardado” y al recargar el cliente no estaba.
  • Arreglado: no se duplican más clientes por mayúsculas, acentos, o CUIT con guiones y sin guiones.
  • Arreglado: “seleccionar todo” respeta el buscador. Antes filtrabas 3 clientes, tildabas arriba y el borrado se llevaba toda la agenda.
  • Arreglado: con la agenda abierta, apretar Delete ya no te borraba piezas del 3D sin que lo veas. Y el nº de pedido y las notas de un trabajo ya no
    se cuelan en otro.
  • Nuevo: no te deja borrar un cliente que tiene proyectos vinculados, y te muestra cuáles son.
  • Nuevo: buscás también por dirección, la lista sale ordenada por nombre y con el total a la vista.
  • Nuevo: tocás el teléfono y llama, tocás el mail y abre el correo; y elegís cliente con las flechas y Enter, sin mouse.

Despiece · panel de Herrajes: tanda de arreglos

  1. Si usás “obra ×N”, el presupuesto cobraba el herraje al cuadrado (×3 salía ×9).
  2. Ahora el pedido, el CSV, la hoja de armado y el listado del plano dicen todos la misma cantidad. Antes “Por mueble” y “Plano” podían darte
    números distintos del mismo proyecto.
  3. Correderas: pedía el doble. Contaba un par por cada lateral de cajón en lugar de un par por cajón.
  4. Bisagras: 2 hasta 1500 mm, 3 de 1500 a 2200, 4 de 2200 en adelante. Antes los cortes eran 600/900 y una puerta de placard alta salía con menos
    bisagras de las que necesita.
  5. Patas regulables: 4 más una por cada metro pasado 1,20 m. Antes siempre 4, así que un mueble de 2,80 se hundía al medio con el tiempo.
  6. Perchero y zapatero ahora entran al pedido de compra con su costo; antes salían sin precio y directamente no se pedían al proveedor.
  7. El perchero se pide con 5 cm de holgura total, para que entre entre los laterales con las bridas y no haya que cortarlo en obra.
  8. Catálogo: ya podés corregir el precio, el nombre o la categoría de un SKU aunque esté usado en el pedido abierto. Antes te lo bloqueaba justo
    cuando el proveedor aumentaba.
  9. Cargar líneas a mano ya no te saca del campo en cada dato, y aparece un aviso cuando la lista quedó vieja y hay que volver a apretar “Aplicar
    reglas”.
  10. Los exports agrupados por mueble ahora traen TOTAL general en CSV, Excel y PDF; antes solo mostraban el subtotal de cada mueble.

Stock del taller — auditoría end-to-end + cierre del ADN

Features

  • Pedido recibido → stock: modal que mapea el pedido a la góndola, idempotente por orden (digest de líneas en el ledger) para que una entrega no
    se cuente dos veces.
  • “¿Me alcanza?”: diff entre lo que pide el proyecto y lo que hay, con “pedir lo que falta” al export de pedido existente.
  • Ledger de movimientos (IDB v3) con deshacer por compensación, y ± por fila para el conteo diario.
  • Stock del taller → nest: revive el objetivo “optimizar por costo”, que siempre veía +Infinity y devolvía el candidato 0.
  • Retazos → stock y valorización: footer con Σ cantidad y plata en el estante; export CSV/XLSX ahora alcanzable; orden por columna; 186 strings
    en 6 idiomas con gate de paridad.

Fixes

  • El render rompía el foco en cada cambio de estado: el dirty-check comparaba innerHTML contra un template con <input …/>, que el DOM
    serializa sin barra — nunca acertaba.
  • “+ Nuevo” persistía una fila fantasma antes de abrir el formulario y “Cancelar” no la borraba; ahora es draft-then-commit.
  • Datos que se perdían en silencio: el surface de error de IDB buscaba setTransient en un módulo que no lo exporta; ?? en el patch hacía
    imborrables proveedor/ubicación/costo; y la hidratación pisaba filas agregadas mientras leía (era también un flake de CI, 18 corridas verdes
    después).
  • CSV corrupto: herraje y cinta emitían 17 campos contra 16 headers, con , donde el repo usa ; para Excel es-AR; y
    alertsAsToast/autoAddOffcuts/defaultMinQuantity eran tres toggles que no hacían nada.
  • El tutorial publicado mentía: 10 de 11 capturas rotas en 6 idiomas y el default de stockEnabled invertido; nuevo gate que caza imágenes
    referenciadas que no existen.

Arreglos en el guardado de proyectos

Estuve varios días metido en cómo Despiece guarda y abre los .despiece. Lo que cambia:

  • Proyectos que abrían vacíos: después del primer guardado, los siguientes dejaban el archivo sin el modelo 3D. Reabrías y no había ninguna
    pieza — y si no te dabas cuenta y seguías trabajando, se borraban los nombres, los cantos y los materiales.
  • Modelos .glb/.gltf importados en metros volvían 1000 veces más chicos al reabrir, y con eso salían mal el corte, el presupuesto, las
    etiquetas y los planos. La unidad que elegís ahora se guarda con el proyecto.
  • Se podía perder el último lote de cambios cuando el guardado automático caía encima de tu Ctrl+S: ganaba la versión vieja.
  • Ctrl+S podía dejar de funcionar del todo hasta reiniciar, si fallaba el permiso de escritura del navegador.
  • La app ya no se traba al guardar: el guardado automático pasó de ~30 ms de congelamiento (bastante más en muebles pesados) a cero, y Ctrl+S
    tarda la mitad.
  • La contra: los archivos pesan más, porque vuelven a llevar el modelo adentro. La versión “liviana” de antes no se podía abrir sola nunca —
    siempre te pedía ir a buscar el STEP a mano.
  • Ojo con los presupuestos: los precios de herrajes todavía no viajan en el archivo. Si lo abre otra máquina, toma los precios de esa máquina
    sin avisarte.

Si te pasó algo raro guardando, contame sistema, navegador, y si el mueble venía de STEP o de .glb.