Furniture Planner
Diseña muebles a medida partiendo de medidas del espacio disponible. Genera un plano técnico HTML interactivo con vistas SVG, BOM, lista de cortes optimizada, herrajes y secuencia de armado.
Workflow
Fase 1: Espacio
Intentar leer ~/Casa/datos/plano.json (generado por skill mi-casa). Si existe, extraer dimensiones del ambiente donde va el mueble. Si no existe, pedir manualmente:
Si el usuario provee un plano arquitectonico (imagen o PDF), consultar references/lectura-planos.md para interpretar dimensiones, muros y aberturas del espacio.
- Dimensiones del hueco: ancho, alto, profundidad disponible (mm)
- Obstáculos: tomacorrientes (posición desde piso y desde lateral), caños, ventanas, zócalos (alto en mm), desniveles
- Acceso: por dónde entra el mueble (puertas, pasillos — relevante para muebles grandes)
Confirmar medidas con el usuario antes de avanzar.
Fase 2: Tipo de mueble
Clasificar según método constructivo:
Muebles de caja (módulos combinables): bajo mesada, alacena, placard, biblioteca, rack TV, vanitory, estantería
Muebles de estructura (patas + tablero): mesa, escritorio, banco, mesa ratona, isla de cocina
Muebles complejos (estructura + ensambles especiales): silla, banqueta — requieren más detalle de uniones y ángulos
Aplicar dimensiones estándar como defaults según tipo. Consultar references/dimensiones-estandar.md para valores por tipo de mueble. Presentar los defaults al usuario y dejar que ajuste.
Fase 3: Material
Consultar references/materiales.md para opciones disponibles. Preguntar:
- Material base: multilaminado fenólico pino 18mm (2440x1220), melamina 18mm (2750x1830), MDF 18mm (2750x1830), u otro
- Terminación: viene con melamina, pintura/laca, barniz, fórmica/HPL
- Tapacantos: PVC 2mm (bordes visibles), PVC 1mm (semi-visibles), melamina 0.4mm (ocultos)
- Proveedor: preguntar si tiene proveedor o cotización propia
- Si tiene → usar esos precios directamente
- Si no tiene → la skill busca precios en Fase 5 (Cotización)
- País/región: preguntar dónde compra los materiales (ej: Argentina, Uruguay, Chile)
- Se usa en Fase 5 para cargar proveedores locales si existen
Fase 4: Composición
Depende del tipo de mueble:
Para muebles de caja → Consultar references/modulos.md. El usuario elige y combina módulos:
- Módulo con cajones (2-4) — preferido para muebles bajos por ergonomía
- Módulo con puertas (1-2) — mejor para colgantes/alacenas
- Módulo abierto (estantes)
- Módulo puertas + estantes
- Módulo esquinero
Validar que la suma de anchos de módulos no exceda el espacio disponible. Si sobra espacio, ofrecer rellenos/fillers.
Para muebles de estructura → Consultar references/modulos.md sección "Templates de estructura". Definir dimensiones de tapa, patas, faldones.
Para muebles complejos → Consultar references/modulos.md sección "Templates complejos". Guiar con ángulos y uniones.
Fase 5: Cotización
Con el BOM completo (piezas de Fase 4 + herrajes de references/herrajes.md + tornillería), cotizar todos los items.
Si el usuario tiene proveedor/cotización → usar esos precios, saltar a Fase 6.
Si no tiene → buscar cada item con WebSearch/WebFetch:
- Armar BOM completo: listar placas (cant, material, medida), herrajes (tipo, modelo, cant), tapacantos, tornillería
- Cargar proveedores: buscar
references/proveedores-{país}.md(ej:proveedores-ar.mdpara Argentina). Si existe, usar la lista de proveedores por tipo de material con URLs y tips de búsqueda. Si no existe, buscar genéricamente con WebSearch en tiendas locales del país indicado - Validar alternativas: si el producto exacto no se encuentra, buscar el más parecido. Comparar specs técnicas (carga, medida, tipo de montaje) contra lo que necesita el mueble. Si no sirve técnicamente, explicar por qué y buscar otra opción
- Comparar entre proveedores: para cada item, registrar precio en todos los proveedores donde se encontró
- Optimizar por proveedor: agrupar la lista de compras por proveedor de modo que el total sea el más bajo posible, priorizando buena calidad sobre precio mínimo. Considerar que comprar varios items en un mismo proveedor puede convenir por envío/viaje
Output: lista de compras agrupada por proveedor con precio por item y total por proveedor.
Fase 6: Generación
Consultar references/metodos-construccion.md para reglas de ensamble y references/herrajes.md para selección de herrajes.
-
Calcular BOM: listar cada pieza con espesor x ancho x largo, dirección de veta, tapacantos por lado (frente/fondo/izq/der)
-
Optimizar cortes: agrupar piezas por espesor, calcular cuántas placas se necesitan (kerf de sierra: 3mm, agregar 10% desperdicio)
-
Listar herrajes: bisagras, guías, soportes, tornillería, tiradores — con cantidades
-
Secuencia de armado: orden lógico paso a paso
-
Costo total: usar precios de Fase 5, desglosado por proveedor
-
Generar HTML: leer
references/html-template.mdpara el scaffold del output. Generar el HTML con:- Vistas SVG: frontal, lateral (corte), planta
- Tabla BOM completa
- Lista de cortes con cantidad de placas
- Lista de herrajes
- Secuencia de armado numerada
- Lista de compras por proveedor (proveedor → items → precio → total)
- Costo total del proyecto
Crear directorio
~/Casa/muebles/si no existe. Guardar como~/Casa/muebles/{nombre}-plano.html. -
Export CorteCloud (opcional): si el usuario usa servicio de corte o pide exportar para CorteCloud, consultar
references/cortecloud-excel.mdpara formato y reglas de mapeo. Generar Excel con skilldocument-skills:xlsx. Agrupar piezas por Material+Espesor (un archivo por grupo, excluir fondos de hardboard 3mm salvo que el usuario pida). Guardar como~/Casa/muebles/{nombre}-cortecloud.xlsx(o{nombre}-cortecloud-{material}.xlsxsi hay múltiples materiales).
Fase 7: Render (opcional)
Después de generar el HTML, ofrecer: "¿Querés un render del mueble?"
Si el usuario acepta, usar skill nano-banana para la generación de imagen. Para el prompt:
Consultar references/render-prompts.md para construir el prompt:
- Usar la estructura
[composition] [subject] in [style] with [lighting], featuring [details] - Elegir template según tipo de mueble (cocina, placard, mesa, biblioteca, rack TV)
- Aplicar keywords de textura según el material elegido en Fase 3
- Agregar "no people, no text" para resultado más limpio
- Elegir aspect ratio sugerido según orientación del mueble
Guardar el render en ~/Casa/muebles/{nombre}-render.png.
No reemplaza los planos SVG técnicos — es una visualización complementaria.
Reglas de construcción
Estas reglas aplican siempre. Consultar references/metodos-construccion.md para detalle.
Ver references/metodos-construccion.md para todas las reglas (materiales, uniones, tapacantos, ergonomía, etc.).