{
  "revision": 18,
  "units": "mm",
  "status": "Secuencia de estudio; detalles y fijaciones pendientes de liberación",
  "wings": {
    "label": "Cuatro alas laterales + piezas centrales",
    "steps": [
      {
        "id": "replanteo",
        "title": "Medir, etiquetar y replantear",
        "label": "Medir, etiquetar y replantear",
        "parts": [],
        "description": "Medir sección real de ambos palos y cada H3. Transferir los IDs; agrupar por familia y cortar con tope las piezas repetidas. Hacer un nudo real a escala 1:1 antes de una serie.",
        "how": "Medir sección real de ambos palos y cada H3. Transferir los IDs; agrupar por familia y cortar con tope las piezas repetidas. Hacer un nudo real a escala 1:1 antes de una serie.",
        "toolAccess": "Probar el atornillador real y su punta en ese nudo. La animación no prueba una fijación.",
        "temporarySupport": "Mesa plana, caballetes y sargentos; no levantar piezas sin retención.",
        "check": "3.000 × 3.000 mm de contorno; ejes del círculo centrados. No perforar el metal desde agujeros ilustrativos.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 0,
        "number": 1,
        "completedParts": [],
        "partCount": 0,
        "completedCount": 0
      },
      {
        "id": "front-long",
        "title": "Montantes del marco delantero",
        "label": "Montantes del marco delantero",
        "parts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1"
        ],
        "description": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "how": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "toolAccess": "Ambas caras del bastidor accesibles; girar con ayuda cuando haga falta.",
        "temporarySupport": "Sargentos contra topes; conservar travesaños provisionales de transporte.",
        "check": "Separación exterior entre montantes 1.134,22 mm; sección real supuesta 70 mm.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 1,
        "number": 2,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1"
        ],
        "partCount": 2,
        "completedCount": 2
      },
      {
        "id": "front-izquierda",
        "title": "Ala izquierda del marco delantero",
        "label": "Ala izquierda del marco delantero",
        "parts": [
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14"
        ],
        "description": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 2,
        "number": 3,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14"
        ],
        "partCount": 7,
        "completedCount": 9
      },
      {
        "id": "front-derecha",
        "title": "Ala derecha del marco delantero",
        "label": "Ala derecha del marco delantero",
        "parts": [
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19"
        ],
        "description": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 3,
        "number": 4,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19"
        ],
        "partCount": 7,
        "completedCount": 16
      },
      {
        "id": "front-central",
        "title": "Cerrar el marco central delantero",
        "label": "Cerrar el marco central delantero",
        "parts": [
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1"
        ],
        "description": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "how": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "toolAccess": "Resolver los encuentros T desde una cara abierta. No depender de atornillar a testa a través de una pieza que luego tapa la entrada.",
        "temporarySupport": "Marco acostado y escuadrado en plantilla.",
        "check": "El marco oculto es rectangular; la abertura visible de la fachada permanece circular.",
        "hardwareCategories": [
          "plates-central"
        ],
        "phase": "taller",
        "index": 4,
        "number": 5,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1"
        ],
        "partCount": 4,
        "completedCount": 20
      },
      {
        "id": "skin-rails",
        "title": "Largueros para fijar la fachada",
        "label": "Largueros para fijar la fachada",
        "parts": [
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "description": "Presentar los ocho largueros en sus cotas exactas; los cuatro laterales junto al vano llegan al montante continuo.",
        "how": "Presentar los ocho largueros en sus cotas exactas; los cuatro laterales junto al vano llegan al montante continuo.",
        "toolAccess": "Las cuatro intersecciones opuestas requieren unión superficial accesible por el interior. No intentar un tornillo axial atravesando una madera alineada.",
        "temporarySupport": "Sargentos hasta cerrar placas; dejar el frente descubierto.",
        "check": "No desplazar el vano ni crear tacos cortos sin área útil para tornillos.",
        "hardwareCategories": [
          "plates-cross"
        ],
        "phase": "taller",
        "index": 5,
        "number": 6,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "partCount": 8,
        "completedCount": 28
      },
      {
        "id": "front-fix",
        "title": "Cerrar herrajes del marco delantero",
        "label": "Cerrar herrajes del marco delantero",
        "parts": [],
        "description": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "how": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "toolAccess": "Atornillar a fibra lateral desde la cara abierta usando fijaciones aptas para el herraje. En el frente cerrar cruces inferiores antes de las vigas de mesa.",
        "temporarySupport": "Mantener la plantilla hasta verificar todas las uniones del módulo.",
        "check": "Ningún nudo T ni diagonal queda resuelto únicamente por un marcador del visor.",
        "hardwareCategories": [
          "plates-frame",
          "plates-central",
          "plates-cross"
        ],
        "phase": "taller",
        "index": 6,
        "number": 7,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "partCount": 0,
        "completedCount": 28
      },
      {
        "id": "back-long",
        "title": "Montantes del marco trasero",
        "label": "Montantes del marco trasero",
        "parts": [
          "LONG_BACK_+1",
          "LONG_BACK_-1"
        ],
        "description": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "how": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "toolAccess": "Ambas caras del bastidor accesibles; girar con ayuda cuando haga falta.",
        "temporarySupport": "Sargentos contra topes; conservar travesaños provisionales de transporte.",
        "check": "Separación exterior entre montantes 1.134,22 mm; sección real supuesta 70 mm.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 7,
        "number": 8,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1"
        ],
        "partCount": 2,
        "completedCount": 30
      },
      {
        "id": "back-izquierda",
        "title": "Ala izquierda del marco trasero",
        "label": "Ala izquierda del marco trasero",
        "parts": [
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14"
        ],
        "description": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 8,
        "number": 9,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14"
        ],
        "partCount": 7,
        "completedCount": 37
      },
      {
        "id": "back-derecha",
        "title": "Ala derecha del marco trasero",
        "label": "Ala derecha del marco trasero",
        "parts": [
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19"
        ],
        "description": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 9,
        "number": 10,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19"
        ],
        "partCount": 7,
        "completedCount": 44
      },
      {
        "id": "back-central",
        "title": "Cerrar el marco central trasero",
        "label": "Cerrar el marco central trasero",
        "parts": [
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "description": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "how": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "toolAccess": "Resolver los encuentros T desde una cara abierta. No depender de atornillar a testa a través de una pieza que luego tapa la entrada.",
        "temporarySupport": "Marco acostado y escuadrado en plantilla.",
        "check": "El marco oculto es rectangular; la abertura visible de la fachada permanece circular.",
        "hardwareCategories": [
          "plates-central"
        ],
        "phase": "taller",
        "index": 10,
        "number": 11,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 4,
        "completedCount": 48
      },
      {
        "id": "back-fix",
        "title": "Cerrar herrajes del marco trasero",
        "label": "Cerrar herrajes del marco trasero",
        "parts": [],
        "description": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "how": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "toolAccess": "Atornillar a fibra lateral desde la cara abierta usando fijaciones aptas para el herraje. En el frente cerrar cruces inferiores antes de las vigas de mesa.",
        "temporarySupport": "Mantener la plantilla hasta verificar todas las uniones del módulo.",
        "check": "Ningún nudo T ni diagonal queda resuelto únicamente por un marcador del visor.",
        "hardwareCategories": [
          "plates-frame",
          "plates-central",
          "plates-cross"
        ],
        "phase": "taller",
        "index": 11,
        "number": 12,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 0,
        "completedCount": 48
      },
      {
        "id": "embalar",
        "title": "Embalar y descargar sin deformar",
        "label": "Embalar y descargar sin deformar",
        "parts": [],
        "description": "Preferencia: dos caras planas completas si el camión admite 3 × 3 m. Alternativa: cuatro alas laterales largas, más montantes y barras centrales etiquetados; exige más cierres en sitio.",
        "how": "Preferencia: dos caras planas completas si el camión admite 3 × 3 m. Alternativa: cuatro alas laterales largas, más montantes y barras centrales etiquetados; exige más cierres en sitio.",
        "toolAccess": "Dejar visibles IDs, puntos de izado y tornillos a revisar; no apilar sobre brazos metálicos.",
        "temporarySupport": "Usar bastidor de transporte, travesaños temporales, separadores y amarres en madera fuerte. Levantamiento coordinado o asistencia mecánica según peso real.",
        "check": "Ninguna cara viaja suelta ni soportada por las puntas. Pesar cada bulto. No cortar montantes de 3 m.",
        "hardwareCategories": [],
        "phase": "transporte",
        "index": 12,
        "number": 13,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 0,
        "completedCount": 48
      },
      {
        "id": "depth-critical",
        "title": "Separadores de acceso crítico",
        "label": "Separadores de acceso crítico",
        "parts": [
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20"
        ],
        "description": "Presentar frente y dorso en útiles a 640 mm entre caras internas. Colocar primero los seis separadores cuyo acceso posterior taparán enlaces o riostras.",
        "how": "Presentar frente y dorso en útiles a 640 mm entre caras internas. Colocar primero los seis separadores cuyo acceso posterior taparán enlaces o riostras.",
        "toolAccess": "Conservar acceso lateral y exterior a la H3 o conector. No usar el tornillo axial a testa como solución automática.",
        "temporarySupport": "Ambas caras sujetas a soportes estables; el cuerpo aún no es autoestable.",
        "check": "IDs 01, 02, 10, 11, 19 y 20 instalados antes de postes, enlaces y V posterior.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T"
        ],
        "phase": "sitio",
        "index": 13,
        "number": 14,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20"
        ],
        "partCount": 6,
        "completedCount": 54
      },
      {
        "id": "depth-rest",
        "title": "Los otros catorce separadores",
        "label": "Los otros catorce separadores",
        "parts": [
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "description": "Colocar el resto de separadores de 640 mm con el mismo tope y comprobar el paralelismo de las caras.",
        "how": "Colocar el resto de separadores de 640 mm con el mismo tope y comprobar el paralelismo de las caras.",
        "toolAccess": "Atornillar los herrajes antes de cerrar diagonales o revestimiento.",
        "temporarySupport": "Soportes temporales y sargentos; mantener la escuadra tridimensional.",
        "check": "Profundidad entre caras de los bastidores 640 mm; cuerpo estructural completo 780 mm y fachada 20 mm.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T"
        ],
        "phase": "sitio",
        "index": 14,
        "number": 15,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "partCount": 14,
        "completedCount": 68
      },
      {
        "id": "h3-close",
        "title": "Cerrar H3 y encuentros T del cuerpo",
        "label": "Cerrar H3 y encuentros T del cuerpo",
        "parts": [],
        "description": "Ver las 32 ubicaciones compatibles de H3 convexa en el visor. En los ocho T de contorno y ocho T centrales usar el detalle de placa o conector que se valide; no forzar una H3 cóncava.",
        "how": "Ver las 32 ubicaciones compatibles de H3 convexa en el visor. En los ocho T de contorno y ocho T centrales usar el detalle de placa o conector que se valide; no forzar una H3 cóncava.",
        "toolAccess": "Comprobar entrada de punta en cada ala. Con brazos de 100 mm el apoyo útil puede quedar en sólo 30 mm: agujeros y tornillo dependen de medición real.",
        "temporarySupport": "No retirar útiles hasta que las uniones y diagonales estén verificadas.",
        "check": "La cóncava se explica aparte; no hay ubicación compatible validada en esta geometría. El acero frontal y la piel requieren resolver su espesor.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T",
          "plates-central"
        ],
        "phase": "sitio",
        "index": 15,
        "number": 16,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "partCount": 0,
        "completedCount": 68
      },
      {
        "id": "depth-braces",
        "title": "Cuatro diagonales de profundidad",
        "label": "Cuatro diagonales de profundidad",
        "parts": [
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1"
        ],
        "description": "Colocar las cuatro riostras idénticas en las caras laterales. Usar plantilla YZ exacta: cortes de asiento horizontales y verticales, no simplemente dos ingletes iguales.",
        "how": "Colocar las cuatro riostras idénticas en las caras laterales. Usar plantilla YZ exacta: cortes de asiento horizontales y verticales, no simplemente dos ingletes iguales.",
        "toolAccess": "Uniones con placas laterales o escuadras dimensionadas, accesibles desde el costado. Cerrar después de los separadores.",
        "temporarySupport": "Sujetar cada riostra a sus asientos; sostener ambos bastidores.",
        "check": "Eje 37,838° respecto a horizontal; largo geométrico 810,38 mm. No invaden el círculo.",
        "hardwareCategories": [
          "plates-depth-braces"
        ],
        "phase": "sitio",
        "index": 16,
        "number": 17,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1"
        ],
        "partCount": 4,
        "completedCount": 72
      },
      {
        "id": "posts",
        "title": "Dos postes 4×4 continuos",
        "label": "Dos postes 4×4 continuos",
        "parts": [
          "POST_+1",
          "POST_-1"
        ],
        "description": "Añadir los dos postes posteriores completos de 3 m, fijados a su interfaz con el cuerpo y su sistema de anclaje elegido.",
        "how": "Añadir los dos postes posteriores completos de 3 m, fijados a su interfaz con el cuerpo y su sistema de anclaje elegido.",
        "toolAccess": "Acceso desde atrás antes de enlaces y mesa. Usar la fijación dimensionada para cargas y madera reales.",
        "temporarySupport": "Apuntalar verticales en ambas direcciones hasta cerrar enlaces, riostras y anclajes.",
        "check": "Sección real supuesta 90 mm. Ejes X ±950 mm; caras anteriores Y400 mm.",
        "hardwareCategories": [
          "plates-posts",
          "anchors"
        ],
        "phase": "sitio",
        "index": 17,
        "number": 18,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1"
        ],
        "partCount": 2,
        "completedCount": 74
      },
      {
        "id": "rear-links",
        "title": "Enlaces posterior inferior y superior",
        "label": "Enlaces posterior inferior y superior",
        "parts": [
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45"
        ],
        "description": "Instalar las dos barras iguales de 1.810 mm entre postes; la inferior apoya la V de la casita.",
        "how": "Instalar las dos barras iguales de 1.810 mm entre postes; la inferior apoya la V de la casita.",
        "toolAccess": "Desde atrás con placas o escuadras de cara lateral; el tornillo a testa no se considera dimensionado.",
        "temporarySupport": "Retener las columnas y enlaces con sargentos; no retirar puntales.",
        "check": "Confirmar que los seis separadores críticos quedaron cerrados y accesibles para mantenimiento.",
        "hardwareCategories": [
          "plates-rear-links"
        ],
        "phase": "sitio",
        "index": 18,
        "number": 19,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45"
        ],
        "partCount": 2,
        "completedCount": 76
      },
      {
        "id": "rear-chevron",
        "title": "Las dos maderas de la casita",
        "label": "Las dos maderas de la casita",
        "parts": [
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "description": "Montar las dos riostras T40, una a cada lado. Forman una sola V invertida; ambas se encuentran en el centro a Z800 mm. La unión superior no toca otro travesaño.",
        "how": "Montar las dos riostras T40, una a cada lado. Forman una sola V invertida; ambas se encuentran en el centro a Z800 mm. La unión superior no toca otro travesaño.",
        "toolAccess": "Cerrar por la cara posterior con la placa de unión del vértice y conectores inferiores propuestos. No intentar un tornillo horizontal por la testa enfrentada.",
        "temporarySupport": "Sargento en vértice y apoyo de cada pie en enlace; sostener postes y conjunto.",
        "check": "Corte real corregido: eje 38,505° horizontal; corte vertical 51,495° respecto al eje. Largo 1.178,09 mm.",
        "hardwareCategories": [
          "plate-rear-apex",
          "plates-rear-feet"
        ],
        "phase": "sitio",
        "index": 19,
        "number": 20,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "partCount": 2,
        "completedCount": 78
      },
      {
        "id": "rear-fasteners",
        "title": "Revisar vértice y pies de la casita",
        "label": "Revisar vértice y pies de la casita",
        "parts": [],
        "description": "La placa posterior une lateralmente las dos riostras. Los pies precisan unión propia a poste y enlace; la H3 de 90° no sirve para este ángulo.",
        "how": "La placa posterior une lateralmente las dos riostras. Los pies precisan unión propia a poste y enlace; la H3 de 90° no sirve para este ángulo.",
        "toolAccess": "Presentar atornillador perpendicular a la cara Y480 de la riostra; el esquema muestra acceso posterior libre y una placa de estudio.",
        "temporarySupport": "Mantener los puntales: esta V baja no demuestra arriostramiento de los 3 m de altura.",
        "check": "Ver ficha Casita: apoyo en el poste sólo 34,72 mm de altura y apoyo sobre enlace 68,79 mm. Fijaciones por definir.",
        "hardwareCategories": [
          "plate-rear-apex",
          "plates-rear-feet"
        ],
        "phase": "sitio",
        "index": 20,
        "number": 21,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "partCount": 0,
        "completedCount": 78
      },
      {
        "id": "table-arms",
        "title": "Dos ménsulas de mesa",
        "label": "Dos ménsulas de mesa",
        "parts": [
          "TABLE_ARM_+1",
          "TABLE_ARM_-1"
        ],
        "description": "Colocar las dos ménsulas de 710 mm a su cota. La cara superior recibe las tres vigas por apoyo.",
        "how": "Colocar las dos ménsulas de 710 mm a su cota. La cara superior recibe las tres vigas por apoyo.",
        "toolAccess": "Fijar lateralmente a postes con herraje y tornillos elegidos, antes de instalar vigas y tablero.",
        "temporarySupport": "Sargentos y soporte bajo la ménsula hasta cerrar riostra.",
        "check": "Cara superior Z912 mm; cara inferior Z842 mm.",
        "hardwareCategories": [
          "plates-table-arms"
        ],
        "phase": "sitio",
        "index": 21,
        "number": 22,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1"
        ],
        "partCount": 2,
        "completedCount": 80
      },
      {
        "id": "table-braces",
        "title": "Dos diagonales de mesa",
        "label": "Dos diagonales de mesa",
        "parts": [
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1"
        ],
        "description": "Añadir las diagonales a 45° entre postes y ménsulas, manteniendo las caras de asiento.",
        "how": "Añadir las diagonales a 45° entre postes y ménsulas, manteniendo las caras de asiento.",
        "toolAccess": "Acceso desde cada costado; placa o escuadra apta para esta unión. No H3 forzada sobre diagonal.",
        "temporarySupport": "Retirar soporte de ménsula sólo después de validar el nudo.",
        "check": "Largo geométrico 1.024,59 mm; no son las dos piezas de la casita posterior.",
        "hardwareCategories": [
          "plates-table-braces"
        ],
        "phase": "sitio",
        "index": 22,
        "number": 23,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1"
        ],
        "partCount": 2,
        "completedCount": 82
      },
      {
        "id": "table-beams",
        "title": "Tres vigas iguales bajo la mesa",
        "label": "Tres vigas iguales bajo la mesa",
        "parts": [
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275"
        ],
        "description": "Apoyar las tres vigas de 1.970 mm sobre las ménsulas en Y −275, 0 y +275 mm.",
        "how": "Apoyar las tres vigas de 1.970 mm sobre las ménsulas en Y −275, 0 y +275 mm.",
        "toolAccess": "Atornillar desde caras accesibles antes del fenólico. Verificar que las placas interiores inferiores ya están completas.",
        "temporarySupport": "Mantener puntales generales y fijar vigas para impedir vuelco local.",
        "check": "Apoyo real sobre ménsulas; cara superior Z982 mm.",
        "hardwareCategories": [
          "plates-table-beams"
        ],
        "phase": "sitio",
        "index": 23,
        "number": 24,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275"
        ],
        "partCount": 3,
        "completedCount": 85
      },
      {
        "id": "table-top",
        "title": "Fenólico interior de la mesa",
        "label": "Fenólico interior de la mesa",
        "parts": [
          "TABLE_PLYWOOD_01"
        ],
        "description": "Añadir el tablero único de 1.800 × 620 × 18 mm; sellar cantos y mantener desmontable para mantenimiento.",
        "how": "Añadir el tablero único de 1.800 × 620 × 18 mm; sellar cantos y mantener desmontable para mantenimiento.",
        "toolAccess": "Tornillos desde arriba a vigas, con cabezas enrasadas y longitud elegida para el espesor real.",
        "temporarySupport": "No usar la mesa como plataforma de trabajo ni asiento.",
        "check": "Altura terminada Z1.000 mm; superficie sin puntas ni cables cruzados.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 24,
        "number": 25,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01"
        ],
        "partCount": 1,
        "completedCount": 86
      },
      {
        "id": "lighting-first",
        "title": "Pasar cableado y montar soportes de luz",
        "label": "Pasar cableado y montar soportes de luz",
        "parts": [],
        "description": "Instalar perfiles y cableado LED por detrás antes de la piel; ramales etiquetados y desconectables. Consultar el esquema de luces.",
        "how": "Instalar perfiles y cableado LED por detrás antes de la piel; ramales etiquetados y desconectables. Consultar el esquema de luces.",
        "toolAccess": "Dejar fuentes, fusibles, controlador y conectores accesibles desde atrás.",
        "temporarySupport": "Alimentación desconectada durante montaje; cable retenido, sin soportar cargas de madera.",
        "check": "Simular todos los efectos con brillo limitado antes de cerrar; no ocultar una fuente dentro de una cavidad sin acceso.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 25,
        "number": 26,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01"
        ],
        "partCount": 0,
        "completedCount": 86
      },
      {
        "id": "facade--1--1",
        "title": "Revestimiento inferior izquierdo",
        "label": "Revestimiento inferior izquierdo",
        "parts": [
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 26,
        "number": 27,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8"
        ],
        "partCount": 17,
        "completedCount": 103
      },
      {
        "id": "facade-1--1",
        "title": "Revestimiento inferior derecho",
        "label": "Revestimiento inferior derecho",
        "parts": [
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 27,
        "number": 28,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8"
        ],
        "partCount": 17,
        "completedCount": 120
      },
      {
        "id": "facade--1-1",
        "title": "Revestimiento superior izquierdo",
        "label": "Revestimiento superior izquierdo",
        "parts": [
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 28,
        "number": 29,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8"
        ],
        "partCount": 17,
        "completedCount": 137
      },
      {
        "id": "facade-1-1",
        "title": "Revestimiento superior derecho",
        "label": "Revestimiento superior derecho",
        "parts": [
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 29,
        "number": 30,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8",
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "partCount": 17,
        "completedCount": 154
      },
      {
        "id": "final",
        "title": "Anclar, revisar y habilitar",
        "label": "Anclar, revisar y habilitar",
        "parts": [],
        "description": "Completar anclajes y revisión presencial de uniones, estabilidad, instalaciones y lluvia. Verificar equipos y materiales desmontables.",
        "how": "Completar anclajes y revisión presencial de uniones, estabilidad, instalaciones y lluvia. Verificar equipos y materiales desmontables.",
        "toolAccess": "Todas las fijaciones previstas tienen acceso y están marcadas; cualquier unión pendiente impide liberar el conjunto.",
        "temporarySupport": "Retirar arriostramiento temporal sólo tras comprobación del responsable de montaje.",
        "check": "No trepar. Capacidad estructural y anclajes requieren validación propia; el visor explica geometría y orden, no certifica cargas.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 30,
        "number": 31,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8",
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "partCount": 0,
        "completedCount": 154
      }
    ],
    "partStages": {
      "LONG_FRONT_+1": 1,
      "LONG_FRONT_-1": 1,
      "FRAME_FRONT_02": 2,
      "FRAME_FRONT_03": 2,
      "FRAME_FRONT_04": 2,
      "FRAME_FRONT_11": 2,
      "FRAME_FRONT_12": 2,
      "FRAME_FRONT_13": 2,
      "FRAME_FRONT_14": 2,
      "FRAME_FRONT_07": 3,
      "FRAME_FRONT_08": 3,
      "FRAME_FRONT_09": 3,
      "FRAME_FRONT_16": 3,
      "FRAME_FRONT_17": 3,
      "FRAME_FRONT_18": 3,
      "FRAME_FRONT_19": 3,
      "FRAME_FRONT_15": 4,
      "FRAME_FRONT_20": 4,
      "OPENING_FRONT_H_+1": 4,
      "OPENING_FRONT_H_-1": 4,
      "SKIN_RAIL_01": 5,
      "SKIN_RAIL_02_0": 5,
      "SKIN_RAIL_02_1": 5,
      "SKIN_RAIL_03_0": 5,
      "SKIN_RAIL_03_1": 5,
      "SKIN_RAIL_04_0": 5,
      "SKIN_RAIL_04_1": 5,
      "SKIN_RAIL_05": 5,
      "LONG_BACK_+1": 7,
      "LONG_BACK_-1": 7,
      "FRAME_BACK_02": 8,
      "FRAME_BACK_03": 8,
      "FRAME_BACK_04": 8,
      "FRAME_BACK_11": 8,
      "FRAME_BACK_12": 8,
      "FRAME_BACK_13": 8,
      "FRAME_BACK_14": 8,
      "FRAME_BACK_07": 9,
      "FRAME_BACK_08": 9,
      "FRAME_BACK_09": 9,
      "FRAME_BACK_16": 9,
      "FRAME_BACK_17": 9,
      "FRAME_BACK_18": 9,
      "FRAME_BACK_19": 9,
      "FRAME_BACK_15": 10,
      "FRAME_BACK_20": 10,
      "OPENING_BACK_H_+1": 10,
      "OPENING_BACK_H_-1": 10,
      "DEPTH_01": 13,
      "DEPTH_02": 13,
      "DEPTH_10": 13,
      "DEPTH_11": 13,
      "DEPTH_19": 13,
      "DEPTH_20": 13,
      "DEPTH_03": 14,
      "DEPTH_04": 14,
      "DEPTH_05": 14,
      "DEPTH_06": 14,
      "DEPTH_07": 14,
      "DEPTH_08": 14,
      "DEPTH_09": 14,
      "DEPTH_12": 14,
      "DEPTH_13": 14,
      "DEPTH_14": 14,
      "DEPTH_15": 14,
      "DEPTH_16": 14,
      "DEPTH_17": 14,
      "DEPTH_18": 14,
      "BRACE_DEPTH_+1_+1": 16,
      "BRACE_DEPTH_+1_-1": 16,
      "BRACE_DEPTH_-1_+1": 16,
      "BRACE_DEPTH_-1_-1": 16,
      "POST_+1": 17,
      "POST_-1": 17,
      "SUPPORT_REAR_2955": 18,
      "SUPPORT_REAR_45": 18,
      "BRACE_REAR_+1": 19,
      "BRACE_REAR_-1": 19,
      "TABLE_ARM_+1": 21,
      "TABLE_ARM_-1": 21,
      "BRACE_TABLE_+1": 22,
      "BRACE_TABLE_-1": 22,
      "TABLE_BEAM_+0": 23,
      "TABLE_BEAM_+275": 23,
      "TABLE_BEAM_-275": 23,
      "TABLE_PLYWOOD_01": 24,
      "FACADE_-1_-1_+0": 26,
      "FACADE_-1_-1_+1": 26,
      "FACADE_-1_-1_+2": 26,
      "FACADE_-1_-1_+3": 26,
      "FACADE_-1_-1_+4": 26,
      "FACADE_-1_-1_+5": 26,
      "FACADE_-1_-1_+6": 26,
      "FACADE_-1_-1_+7": 26,
      "FACADE_-1_-1_+8": 26,
      "FACADE_-1_-1_-1": 26,
      "FACADE_-1_-1_-2": 26,
      "FACADE_-1_-1_-3": 26,
      "FACADE_-1_-1_-4": 26,
      "FACADE_-1_-1_-5": 26,
      "FACADE_-1_-1_-6": 26,
      "FACADE_-1_-1_-7": 26,
      "FACADE_-1_-1_-8": 26,
      "FACADE_+1_-1_+0": 27,
      "FACADE_+1_-1_+1": 27,
      "FACADE_+1_-1_+2": 27,
      "FACADE_+1_-1_+3": 27,
      "FACADE_+1_-1_+4": 27,
      "FACADE_+1_-1_+5": 27,
      "FACADE_+1_-1_+6": 27,
      "FACADE_+1_-1_+7": 27,
      "FACADE_+1_-1_+8": 27,
      "FACADE_+1_-1_-1": 27,
      "FACADE_+1_-1_-2": 27,
      "FACADE_+1_-1_-3": 27,
      "FACADE_+1_-1_-4": 27,
      "FACADE_+1_-1_-5": 27,
      "FACADE_+1_-1_-6": 27,
      "FACADE_+1_-1_-7": 27,
      "FACADE_+1_-1_-8": 27,
      "FACADE_-1_+1_+0": 28,
      "FACADE_-1_+1_+1": 28,
      "FACADE_-1_+1_+2": 28,
      "FACADE_-1_+1_+3": 28,
      "FACADE_-1_+1_+4": 28,
      "FACADE_-1_+1_+5": 28,
      "FACADE_-1_+1_+6": 28,
      "FACADE_-1_+1_+7": 28,
      "FACADE_-1_+1_+8": 28,
      "FACADE_-1_+1_-1": 28,
      "FACADE_-1_+1_-2": 28,
      "FACADE_-1_+1_-3": 28,
      "FACADE_-1_+1_-4": 28,
      "FACADE_-1_+1_-5": 28,
      "FACADE_-1_+1_-6": 28,
      "FACADE_-1_+1_-7": 28,
      "FACADE_-1_+1_-8": 28,
      "FACADE_+1_+1_+0": 29,
      "FACADE_+1_+1_+1": 29,
      "FACADE_+1_+1_+2": 29,
      "FACADE_+1_+1_+3": 29,
      "FACADE_+1_+1_+4": 29,
      "FACADE_+1_+1_+5": 29,
      "FACADE_+1_+1_+6": 29,
      "FACADE_+1_+1_+7": 29,
      "FACADE_+1_+1_+8": 29,
      "FACADE_+1_+1_-1": 29,
      "FACADE_+1_+1_-2": 29,
      "FACADE_+1_+1_-3": 29,
      "FACADE_+1_+1_-4": 29,
      "FACADE_+1_+1_-5": 29,
      "FACADE_+1_+1_-6": 29,
      "FACADE_+1_+1_-7": 29,
      "FACADE_+1_+1_-8": 29
    },
    "totalParts": 154,
    "partAssignment": "Cada ID se incorpora exactamente una vez; herrajes se muestran según fase y piezas presentes."
  },
  "faces": {
    "label": "Dos caras completas de 3 × 3 m",
    "steps": [
      {
        "id": "replanteo",
        "title": "Medir, etiquetar y replantear",
        "label": "Medir, etiquetar y replantear",
        "parts": [],
        "description": "Medir sección real de ambos palos y cada H3. Transferir los IDs; agrupar por familia y cortar con tope las piezas repetidas. Hacer un nudo real a escala 1:1 antes de una serie.",
        "how": "Medir sección real de ambos palos y cada H3. Transferir los IDs; agrupar por familia y cortar con tope las piezas repetidas. Hacer un nudo real a escala 1:1 antes de una serie.",
        "toolAccess": "Probar el atornillador real y su punta en ese nudo. La animación no prueba una fijación.",
        "temporarySupport": "Mesa plana, caballetes y sargentos; no levantar piezas sin retención.",
        "check": "3.000 × 3.000 mm de contorno; ejes del círculo centrados. No perforar el metal desde agujeros ilustrativos.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 0,
        "number": 1,
        "completedParts": [],
        "partCount": 0,
        "completedCount": 0
      },
      {
        "id": "front-long",
        "title": "Montantes del marco delantero",
        "label": "Montantes del marco delantero",
        "parts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1"
        ],
        "description": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "how": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "toolAccess": "Ambas caras del bastidor accesibles; girar con ayuda cuando haga falta.",
        "temporarySupport": "Sargentos contra topes; conservar travesaños provisionales de transporte.",
        "check": "Separación exterior entre montantes 1.134,22 mm; sección real supuesta 70 mm.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 1,
        "number": 2,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1"
        ],
        "partCount": 2,
        "completedCount": 2
      },
      {
        "id": "front-izquierda",
        "title": "Contorno completo del marco delantero",
        "label": "Contorno completo del marco delantero",
        "parts": [
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19"
        ],
        "description": "En taller, presentar ambos laterales a la vez sobre una plantilla plana de 3 × 3 m. Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 2,
        "number": 3,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19"
        ],
        "partCount": 14,
        "completedCount": 16
      },
      {
        "id": "front-central",
        "title": "Cerrar el marco central delantero",
        "label": "Cerrar el marco central delantero",
        "parts": [
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1"
        ],
        "description": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "how": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "toolAccess": "Resolver los encuentros T desde una cara abierta. No depender de atornillar a testa a través de una pieza que luego tapa la entrada.",
        "temporarySupport": "Marco acostado y escuadrado en plantilla.",
        "check": "El marco oculto es rectangular; la abertura visible de la fachada permanece circular.",
        "hardwareCategories": [
          "plates-central"
        ],
        "phase": "taller",
        "index": 3,
        "number": 4,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1"
        ],
        "partCount": 4,
        "completedCount": 20
      },
      {
        "id": "skin-rails",
        "title": "Largueros para fijar la fachada",
        "label": "Largueros para fijar la fachada",
        "parts": [
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "description": "Presentar los ocho largueros en sus cotas exactas; los cuatro laterales junto al vano llegan al montante continuo.",
        "how": "Presentar los ocho largueros en sus cotas exactas; los cuatro laterales junto al vano llegan al montante continuo.",
        "toolAccess": "Las cuatro intersecciones opuestas requieren unión superficial accesible por el interior. No intentar un tornillo axial atravesando una madera alineada.",
        "temporarySupport": "Sargentos hasta cerrar placas; dejar el frente descubierto.",
        "check": "No desplazar el vano ni crear tacos cortos sin área útil para tornillos.",
        "hardwareCategories": [
          "plates-cross"
        ],
        "phase": "taller",
        "index": 4,
        "number": 5,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "partCount": 8,
        "completedCount": 28
      },
      {
        "id": "front-fix",
        "title": "Cerrar herrajes del marco delantero",
        "label": "Cerrar herrajes del marco delantero",
        "parts": [],
        "description": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "how": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "toolAccess": "Atornillar a fibra lateral desde la cara abierta usando fijaciones aptas para el herraje. En el frente cerrar cruces inferiores antes de las vigas de mesa.",
        "temporarySupport": "Mantener la plantilla hasta verificar todas las uniones del módulo.",
        "check": "Ningún nudo T ni diagonal queda resuelto únicamente por un marcador del visor.",
        "hardwareCategories": [
          "plates-frame",
          "plates-central",
          "plates-cross"
        ],
        "phase": "taller",
        "index": 5,
        "number": 6,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05"
        ],
        "partCount": 0,
        "completedCount": 28
      },
      {
        "id": "back-long",
        "title": "Montantes del marco trasero",
        "label": "Montantes del marco trasero",
        "parts": [
          "LONG_BACK_+1",
          "LONG_BACK_-1"
        ],
        "description": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "how": "Apoyar los dos montantes continuos de 3 m en plantilla, paralelos y sin cortar. Frente y dorso se arman planos en taller.",
        "toolAccess": "Ambas caras del bastidor accesibles; girar con ayuda cuando haga falta.",
        "temporarySupport": "Sargentos contra topes; conservar travesaños provisionales de transporte.",
        "check": "Separación exterior entre montantes 1.134,22 mm; sección real supuesta 70 mm.",
        "hardwareCategories": [],
        "phase": "taller",
        "index": 6,
        "number": 7,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1"
        ],
        "partCount": 2,
        "completedCount": 30
      },
      {
        "id": "back-izquierda",
        "title": "Contorno completo del marco trasero",
        "label": "Contorno completo del marco trasero",
        "parts": [
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19"
        ],
        "description": "En taller, presentar ambos laterales a la vez sobre una plantilla plana de 3 × 3 m. Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "how": "Armar las piezas rectas del lateral en plantilla. Mantener sus extremos a tope, sin sumar ingletes ni entalles.",
        "toolAccess": "Fijar desde caras laterales accesibles mediante el conector elegido; no colocar un tornillo enfrentado a otra madera.",
        "temporarySupport": "Retener cada unión con sargento hasta cerrar su herraje. Estos conjuntos no se sostienen por contacto.",
        "check": "Escalones simétricos y diagonales de plantilla iguales; la H3 no sustituye el arriostramiento.",
        "hardwareCategories": [
          "plates-frame"
        ],
        "phase": "taller",
        "index": 7,
        "number": 8,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19"
        ],
        "partCount": 14,
        "completedCount": 44
      },
      {
        "id": "back-central",
        "title": "Cerrar el marco central trasero",
        "label": "Cerrar el marco central trasero",
        "parts": [
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "description": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "how": "Añadir las barras superior e inferior y los dos travesaños del vano. Son largos repetidos de 994,22 mm; los montantes de 3 m hacen los laterales.",
        "toolAccess": "Resolver los encuentros T desde una cara abierta. No depender de atornillar a testa a través de una pieza que luego tapa la entrada.",
        "temporarySupport": "Marco acostado y escuadrado en plantilla.",
        "check": "El marco oculto es rectangular; la abertura visible de la fachada permanece circular.",
        "hardwareCategories": [
          "plates-central"
        ],
        "phase": "taller",
        "index": 8,
        "number": 9,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 4,
        "completedCount": 48
      },
      {
        "id": "back-fix",
        "title": "Cerrar herrajes del marco trasero",
        "label": "Cerrar herrajes del marco trasero",
        "parts": [],
        "description": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "how": "Completar placas de encuentros a tope y T; prepresentar H3 sólo en esquinas compatibles. Las 32 H3 del cuerpo se cierran cuando están los separadores.",
        "toolAccess": "Atornillar a fibra lateral desde la cara abierta usando fijaciones aptas para el herraje. En el frente cerrar cruces inferiores antes de las vigas de mesa.",
        "temporarySupport": "Mantener la plantilla hasta verificar todas las uniones del módulo.",
        "check": "Ningún nudo T ni diagonal queda resuelto únicamente por un marcador del visor.",
        "hardwareCategories": [
          "plates-frame",
          "plates-central",
          "plates-cross"
        ],
        "phase": "taller",
        "index": 9,
        "number": 10,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 0,
        "completedCount": 48
      },
      {
        "id": "embalar",
        "title": "Embalar y descargar sin deformar",
        "label": "Embalar y descargar sin deformar",
        "parts": [],
        "description": "Preferencia: dos caras planas completas si el camión admite 3 × 3 m. Alternativa: cuatro alas laterales largas, más montantes y barras centrales etiquetados; exige más cierres en sitio.",
        "how": "Preferencia: dos caras planas completas si el camión admite 3 × 3 m. Alternativa: cuatro alas laterales largas, más montantes y barras centrales etiquetados; exige más cierres en sitio.",
        "toolAccess": "Dejar visibles IDs, puntos de izado y tornillos a revisar; no apilar sobre brazos metálicos.",
        "temporarySupport": "Usar bastidor de transporte, travesaños temporales, separadores y amarres en madera fuerte. Levantamiento coordinado o asistencia mecánica según peso real.",
        "check": "Ninguna cara viaja suelta ni soportada por las puntas. Pesar cada bulto. No cortar montantes de 3 m.",
        "hardwareCategories": [],
        "phase": "transporte",
        "index": 10,
        "number": 11,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1"
        ],
        "partCount": 0,
        "completedCount": 48
      },
      {
        "id": "depth-critical",
        "title": "Separadores de acceso crítico",
        "label": "Separadores de acceso crítico",
        "parts": [
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20"
        ],
        "description": "Presentar frente y dorso en útiles a 640 mm entre caras internas. Colocar primero los seis separadores cuyo acceso posterior taparán enlaces o riostras.",
        "how": "Presentar frente y dorso en útiles a 640 mm entre caras internas. Colocar primero los seis separadores cuyo acceso posterior taparán enlaces o riostras.",
        "toolAccess": "Conservar acceso lateral y exterior a la H3 o conector. No usar el tornillo axial a testa como solución automática.",
        "temporarySupport": "Ambas caras sujetas a soportes estables; el cuerpo aún no es autoestable.",
        "check": "IDs 01, 02, 10, 11, 19 y 20 instalados antes de postes, enlaces y V posterior.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T"
        ],
        "phase": "sitio",
        "index": 11,
        "number": 12,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20"
        ],
        "partCount": 6,
        "completedCount": 54
      },
      {
        "id": "depth-rest",
        "title": "Los otros catorce separadores",
        "label": "Los otros catorce separadores",
        "parts": [
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "description": "Colocar el resto de separadores de 640 mm con el mismo tope y comprobar el paralelismo de las caras.",
        "how": "Colocar el resto de separadores de 640 mm con el mismo tope y comprobar el paralelismo de las caras.",
        "toolAccess": "Atornillar los herrajes antes de cerrar diagonales o revestimiento.",
        "temporarySupport": "Soportes temporales y sargentos; mantener la escuadra tridimensional.",
        "check": "Profundidad entre caras de los bastidores 640 mm; cuerpo estructural completo 780 mm y fachada 20 mm.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T"
        ],
        "phase": "sitio",
        "index": 12,
        "number": 13,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "partCount": 14,
        "completedCount": 68
      },
      {
        "id": "h3-close",
        "title": "Cerrar H3 y encuentros T del cuerpo",
        "label": "Cerrar H3 y encuentros T del cuerpo",
        "parts": [],
        "description": "Ver las 32 ubicaciones compatibles de H3 convexa en el visor. En los ocho T de contorno y ocho T centrales usar el detalle de placa o conector que se valide; no forzar una H3 cóncava.",
        "how": "Ver las 32 ubicaciones compatibles de H3 convexa en el visor. En los ocho T de contorno y ocho T centrales usar el detalle de placa o conector que se valide; no forzar una H3 cóncava.",
        "toolAccess": "Comprobar entrada de punta en cada ala. Con brazos de 100 mm el apoyo útil puede quedar en sólo 30 mm: agujeros y tornillo dependen de medición real.",
        "temporarySupport": "No retirar útiles hasta que las uniones y diagonales estén verificadas.",
        "check": "La cóncava se explica aparte; no hay ubicación compatible validada en esta geometría. El acero frontal y la piel requieren resolver su espesor.",
        "hardwareCategories": [
          "H3-compatible",
          "plates-T",
          "plates-central"
        ],
        "phase": "sitio",
        "index": 13,
        "number": 14,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18"
        ],
        "partCount": 0,
        "completedCount": 68
      },
      {
        "id": "depth-braces",
        "title": "Cuatro diagonales de profundidad",
        "label": "Cuatro diagonales de profundidad",
        "parts": [
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1"
        ],
        "description": "Colocar las cuatro riostras idénticas en las caras laterales. Usar plantilla YZ exacta: cortes de asiento horizontales y verticales, no simplemente dos ingletes iguales.",
        "how": "Colocar las cuatro riostras idénticas en las caras laterales. Usar plantilla YZ exacta: cortes de asiento horizontales y verticales, no simplemente dos ingletes iguales.",
        "toolAccess": "Uniones con placas laterales o escuadras dimensionadas, accesibles desde el costado. Cerrar después de los separadores.",
        "temporarySupport": "Sujetar cada riostra a sus asientos; sostener ambos bastidores.",
        "check": "Eje 37,838° respecto a horizontal; largo geométrico 810,38 mm. No invaden el círculo.",
        "hardwareCategories": [
          "plates-depth-braces"
        ],
        "phase": "sitio",
        "index": 14,
        "number": 15,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1"
        ],
        "partCount": 4,
        "completedCount": 72
      },
      {
        "id": "posts",
        "title": "Dos postes 4×4 continuos",
        "label": "Dos postes 4×4 continuos",
        "parts": [
          "POST_+1",
          "POST_-1"
        ],
        "description": "Añadir los dos postes posteriores completos de 3 m, fijados a su interfaz con el cuerpo y su sistema de anclaje elegido.",
        "how": "Añadir los dos postes posteriores completos de 3 m, fijados a su interfaz con el cuerpo y su sistema de anclaje elegido.",
        "toolAccess": "Acceso desde atrás antes de enlaces y mesa. Usar la fijación dimensionada para cargas y madera reales.",
        "temporarySupport": "Apuntalar verticales en ambas direcciones hasta cerrar enlaces, riostras y anclajes.",
        "check": "Sección real supuesta 90 mm. Ejes X ±950 mm; caras anteriores Y400 mm.",
        "hardwareCategories": [
          "plates-posts",
          "anchors"
        ],
        "phase": "sitio",
        "index": 15,
        "number": 16,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1"
        ],
        "partCount": 2,
        "completedCount": 74
      },
      {
        "id": "rear-links",
        "title": "Enlaces posterior inferior y superior",
        "label": "Enlaces posterior inferior y superior",
        "parts": [
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45"
        ],
        "description": "Instalar las dos barras iguales de 1.810 mm entre postes; la inferior apoya la V de la casita.",
        "how": "Instalar las dos barras iguales de 1.810 mm entre postes; la inferior apoya la V de la casita.",
        "toolAccess": "Desde atrás con placas o escuadras de cara lateral; el tornillo a testa no se considera dimensionado.",
        "temporarySupport": "Retener las columnas y enlaces con sargentos; no retirar puntales.",
        "check": "Confirmar que los seis separadores críticos quedaron cerrados y accesibles para mantenimiento.",
        "hardwareCategories": [
          "plates-rear-links"
        ],
        "phase": "sitio",
        "index": 16,
        "number": 17,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45"
        ],
        "partCount": 2,
        "completedCount": 76
      },
      {
        "id": "rear-chevron",
        "title": "Las dos maderas de la casita",
        "label": "Las dos maderas de la casita",
        "parts": [
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "description": "Montar las dos riostras T40, una a cada lado. Forman una sola V invertida; ambas se encuentran en el centro a Z800 mm. La unión superior no toca otro travesaño.",
        "how": "Montar las dos riostras T40, una a cada lado. Forman una sola V invertida; ambas se encuentran en el centro a Z800 mm. La unión superior no toca otro travesaño.",
        "toolAccess": "Cerrar por la cara posterior con la placa de unión del vértice y conectores inferiores propuestos. No intentar un tornillo horizontal por la testa enfrentada.",
        "temporarySupport": "Sargento en vértice y apoyo de cada pie en enlace; sostener postes y conjunto.",
        "check": "Corte real corregido: eje 38,505° horizontal; corte vertical 51,495° respecto al eje. Largo 1.178,09 mm.",
        "hardwareCategories": [
          "plate-rear-apex",
          "plates-rear-feet"
        ],
        "phase": "sitio",
        "index": 17,
        "number": 18,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "partCount": 2,
        "completedCount": 78
      },
      {
        "id": "rear-fasteners",
        "title": "Revisar vértice y pies de la casita",
        "label": "Revisar vértice y pies de la casita",
        "parts": [],
        "description": "La placa posterior une lateralmente las dos riostras. Los pies precisan unión propia a poste y enlace; la H3 de 90° no sirve para este ángulo.",
        "how": "La placa posterior une lateralmente las dos riostras. Los pies precisan unión propia a poste y enlace; la H3 de 90° no sirve para este ángulo.",
        "toolAccess": "Presentar atornillador perpendicular a la cara Y480 de la riostra; el esquema muestra acceso posterior libre y una placa de estudio.",
        "temporarySupport": "Mantener los puntales: esta V baja no demuestra arriostramiento de los 3 m de altura.",
        "check": "Ver ficha Casita: apoyo en el poste sólo 34,72 mm de altura y apoyo sobre enlace 68,79 mm. Fijaciones por definir.",
        "hardwareCategories": [
          "plate-rear-apex",
          "plates-rear-feet"
        ],
        "phase": "sitio",
        "index": 18,
        "number": 19,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1"
        ],
        "partCount": 0,
        "completedCount": 78
      },
      {
        "id": "table-arms",
        "title": "Dos ménsulas de mesa",
        "label": "Dos ménsulas de mesa",
        "parts": [
          "TABLE_ARM_+1",
          "TABLE_ARM_-1"
        ],
        "description": "Colocar las dos ménsulas de 710 mm a su cota. La cara superior recibe las tres vigas por apoyo.",
        "how": "Colocar las dos ménsulas de 710 mm a su cota. La cara superior recibe las tres vigas por apoyo.",
        "toolAccess": "Fijar lateralmente a postes con herraje y tornillos elegidos, antes de instalar vigas y tablero.",
        "temporarySupport": "Sargentos y soporte bajo la ménsula hasta cerrar riostra.",
        "check": "Cara superior Z912 mm; cara inferior Z842 mm.",
        "hardwareCategories": [
          "plates-table-arms"
        ],
        "phase": "sitio",
        "index": 19,
        "number": 20,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1"
        ],
        "partCount": 2,
        "completedCount": 80
      },
      {
        "id": "table-braces",
        "title": "Dos diagonales de mesa",
        "label": "Dos diagonales de mesa",
        "parts": [
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1"
        ],
        "description": "Añadir las diagonales a 45° entre postes y ménsulas, manteniendo las caras de asiento.",
        "how": "Añadir las diagonales a 45° entre postes y ménsulas, manteniendo las caras de asiento.",
        "toolAccess": "Acceso desde cada costado; placa o escuadra apta para esta unión. No H3 forzada sobre diagonal.",
        "temporarySupport": "Retirar soporte de ménsula sólo después de validar el nudo.",
        "check": "Largo geométrico 1.024,59 mm; no son las dos piezas de la casita posterior.",
        "hardwareCategories": [
          "plates-table-braces"
        ],
        "phase": "sitio",
        "index": 20,
        "number": 21,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1"
        ],
        "partCount": 2,
        "completedCount": 82
      },
      {
        "id": "table-beams",
        "title": "Tres vigas iguales bajo la mesa",
        "label": "Tres vigas iguales bajo la mesa",
        "parts": [
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275"
        ],
        "description": "Apoyar las tres vigas de 1.970 mm sobre las ménsulas en Y −275, 0 y +275 mm.",
        "how": "Apoyar las tres vigas de 1.970 mm sobre las ménsulas en Y −275, 0 y +275 mm.",
        "toolAccess": "Atornillar desde caras accesibles antes del fenólico. Verificar que las placas interiores inferiores ya están completas.",
        "temporarySupport": "Mantener puntales generales y fijar vigas para impedir vuelco local.",
        "check": "Apoyo real sobre ménsulas; cara superior Z982 mm.",
        "hardwareCategories": [
          "plates-table-beams"
        ],
        "phase": "sitio",
        "index": 21,
        "number": 22,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275"
        ],
        "partCount": 3,
        "completedCount": 85
      },
      {
        "id": "table-top",
        "title": "Fenólico interior de la mesa",
        "label": "Fenólico interior de la mesa",
        "parts": [
          "TABLE_PLYWOOD_01"
        ],
        "description": "Añadir el tablero único de 1.800 × 620 × 18 mm; sellar cantos y mantener desmontable para mantenimiento.",
        "how": "Añadir el tablero único de 1.800 × 620 × 18 mm; sellar cantos y mantener desmontable para mantenimiento.",
        "toolAccess": "Tornillos desde arriba a vigas, con cabezas enrasadas y longitud elegida para el espesor real.",
        "temporarySupport": "No usar la mesa como plataforma de trabajo ni asiento.",
        "check": "Altura terminada Z1.000 mm; superficie sin puntas ni cables cruzados.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 22,
        "number": 23,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01"
        ],
        "partCount": 1,
        "completedCount": 86
      },
      {
        "id": "lighting-first",
        "title": "Pasar cableado y montar soportes de luz",
        "label": "Pasar cableado y montar soportes de luz",
        "parts": [],
        "description": "Instalar perfiles y cableado LED por detrás antes de la piel; ramales etiquetados y desconectables. Consultar el esquema de luces.",
        "how": "Instalar perfiles y cableado LED por detrás antes de la piel; ramales etiquetados y desconectables. Consultar el esquema de luces.",
        "toolAccess": "Dejar fuentes, fusibles, controlador y conectores accesibles desde atrás.",
        "temporarySupport": "Alimentación desconectada durante montaje; cable retenido, sin soportar cargas de madera.",
        "check": "Simular todos los efectos con brillo limitado antes de cerrar; no ocultar una fuente dentro de una cavidad sin acceso.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 23,
        "number": 24,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01"
        ],
        "partCount": 0,
        "completedCount": 86
      },
      {
        "id": "facade--1--1",
        "title": "Revestimiento inferior izquierdo",
        "label": "Revestimiento inferior izquierdo",
        "parts": [
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 24,
        "number": 25,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8"
        ],
        "partCount": 17,
        "completedCount": 103
      },
      {
        "id": "facade-1--1",
        "title": "Revestimiento inferior derecho",
        "label": "Revestimiento inferior derecho",
        "parts": [
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 25,
        "number": 26,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8"
        ],
        "partCount": 17,
        "completedCount": 120
      },
      {
        "id": "facade--1-1",
        "title": "Revestimiento superior izquierdo",
        "label": "Revestimiento superior izquierdo",
        "parts": [
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 26,
        "number": 27,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8"
        ],
        "partCount": 17,
        "completedCount": 137
      },
      {
        "id": "facade-1-1",
        "title": "Revestimiento superior derecho",
        "label": "Revestimiento superior derecho",
        "parts": [
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "description": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "how": "Montar las diecisiete tablas de este cuadrante según IDs. Si se elige tela o malla, estas piezas se ocultan y se usa su bastidor de sujeción específico.",
        "toolAccess": "Fijación desmontable desde el frente sobre largueros, después de cerrar herrajes interiores. Revisar placa frontal bajo cada tabla.",
        "temporarySupport": "Apoyar y sujetar tablas al cortar círculo; no cargar peso en puntas cortas.",
        "check": "El centro siempre circular. Prever separación/rebaje local frente a H3 sin deformar contorno ni presumir ausencia de interferencia.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 27,
        "number": 28,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8",
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "partCount": 17,
        "completedCount": 154
      },
      {
        "id": "final",
        "title": "Anclar, revisar y habilitar",
        "label": "Anclar, revisar y habilitar",
        "parts": [],
        "description": "Completar anclajes y revisión presencial de uniones, estabilidad, instalaciones y lluvia. Verificar equipos y materiales desmontables.",
        "how": "Completar anclajes y revisión presencial de uniones, estabilidad, instalaciones y lluvia. Verificar equipos y materiales desmontables.",
        "toolAccess": "Todas las fijaciones previstas tienen acceso y están marcadas; cualquier unión pendiente impide liberar el conjunto.",
        "temporarySupport": "Retirar arriostramiento temporal sólo tras comprobación del responsable de montaje.",
        "check": "No trepar. Capacidad estructural y anclajes requieren validación propia; el visor explica geometría y orden, no certifica cargas.",
        "hardwareCategories": [],
        "phase": "sitio",
        "index": 28,
        "number": 29,
        "completedParts": [
          "LONG_FRONT_+1",
          "LONG_FRONT_-1",
          "FRAME_FRONT_02",
          "FRAME_FRONT_03",
          "FRAME_FRONT_04",
          "FRAME_FRONT_11",
          "FRAME_FRONT_12",
          "FRAME_FRONT_13",
          "FRAME_FRONT_14",
          "FRAME_FRONT_07",
          "FRAME_FRONT_08",
          "FRAME_FRONT_09",
          "FRAME_FRONT_16",
          "FRAME_FRONT_17",
          "FRAME_FRONT_18",
          "FRAME_FRONT_19",
          "FRAME_FRONT_15",
          "FRAME_FRONT_20",
          "OPENING_FRONT_H_+1",
          "OPENING_FRONT_H_-1",
          "SKIN_RAIL_01",
          "SKIN_RAIL_02_0",
          "SKIN_RAIL_02_1",
          "SKIN_RAIL_03_0",
          "SKIN_RAIL_03_1",
          "SKIN_RAIL_04_0",
          "SKIN_RAIL_04_1",
          "SKIN_RAIL_05",
          "LONG_BACK_+1",
          "LONG_BACK_-1",
          "FRAME_BACK_02",
          "FRAME_BACK_03",
          "FRAME_BACK_04",
          "FRAME_BACK_11",
          "FRAME_BACK_12",
          "FRAME_BACK_13",
          "FRAME_BACK_14",
          "FRAME_BACK_07",
          "FRAME_BACK_08",
          "FRAME_BACK_09",
          "FRAME_BACK_16",
          "FRAME_BACK_17",
          "FRAME_BACK_18",
          "FRAME_BACK_19",
          "FRAME_BACK_15",
          "FRAME_BACK_20",
          "OPENING_BACK_H_+1",
          "OPENING_BACK_H_-1",
          "DEPTH_01",
          "DEPTH_02",
          "DEPTH_10",
          "DEPTH_11",
          "DEPTH_19",
          "DEPTH_20",
          "DEPTH_03",
          "DEPTH_04",
          "DEPTH_05",
          "DEPTH_06",
          "DEPTH_07",
          "DEPTH_08",
          "DEPTH_09",
          "DEPTH_12",
          "DEPTH_13",
          "DEPTH_14",
          "DEPTH_15",
          "DEPTH_16",
          "DEPTH_17",
          "DEPTH_18",
          "BRACE_DEPTH_+1_+1",
          "BRACE_DEPTH_+1_-1",
          "BRACE_DEPTH_-1_+1",
          "BRACE_DEPTH_-1_-1",
          "POST_+1",
          "POST_-1",
          "SUPPORT_REAR_2955",
          "SUPPORT_REAR_45",
          "BRACE_REAR_+1",
          "BRACE_REAR_-1",
          "TABLE_ARM_+1",
          "TABLE_ARM_-1",
          "BRACE_TABLE_+1",
          "BRACE_TABLE_-1",
          "TABLE_BEAM_+0",
          "TABLE_BEAM_+275",
          "TABLE_BEAM_-275",
          "TABLE_PLYWOOD_01",
          "FACADE_-1_-1_+0",
          "FACADE_-1_-1_+1",
          "FACADE_-1_-1_+2",
          "FACADE_-1_-1_+3",
          "FACADE_-1_-1_+4",
          "FACADE_-1_-1_+5",
          "FACADE_-1_-1_+6",
          "FACADE_-1_-1_+7",
          "FACADE_-1_-1_+8",
          "FACADE_-1_-1_-1",
          "FACADE_-1_-1_-2",
          "FACADE_-1_-1_-3",
          "FACADE_-1_-1_-4",
          "FACADE_-1_-1_-5",
          "FACADE_-1_-1_-6",
          "FACADE_-1_-1_-7",
          "FACADE_-1_-1_-8",
          "FACADE_+1_-1_+0",
          "FACADE_+1_-1_+1",
          "FACADE_+1_-1_+2",
          "FACADE_+1_-1_+3",
          "FACADE_+1_-1_+4",
          "FACADE_+1_-1_+5",
          "FACADE_+1_-1_+6",
          "FACADE_+1_-1_+7",
          "FACADE_+1_-1_+8",
          "FACADE_+1_-1_-1",
          "FACADE_+1_-1_-2",
          "FACADE_+1_-1_-3",
          "FACADE_+1_-1_-4",
          "FACADE_+1_-1_-5",
          "FACADE_+1_-1_-6",
          "FACADE_+1_-1_-7",
          "FACADE_+1_-1_-8",
          "FACADE_-1_+1_+0",
          "FACADE_-1_+1_+1",
          "FACADE_-1_+1_+2",
          "FACADE_-1_+1_+3",
          "FACADE_-1_+1_+4",
          "FACADE_-1_+1_+5",
          "FACADE_-1_+1_+6",
          "FACADE_-1_+1_+7",
          "FACADE_-1_+1_+8",
          "FACADE_-1_+1_-1",
          "FACADE_-1_+1_-2",
          "FACADE_-1_+1_-3",
          "FACADE_-1_+1_-4",
          "FACADE_-1_+1_-5",
          "FACADE_-1_+1_-6",
          "FACADE_-1_+1_-7",
          "FACADE_-1_+1_-8",
          "FACADE_+1_+1_+0",
          "FACADE_+1_+1_+1",
          "FACADE_+1_+1_+2",
          "FACADE_+1_+1_+3",
          "FACADE_+1_+1_+4",
          "FACADE_+1_+1_+5",
          "FACADE_+1_+1_+6",
          "FACADE_+1_+1_+7",
          "FACADE_+1_+1_+8",
          "FACADE_+1_+1_-1",
          "FACADE_+1_+1_-2",
          "FACADE_+1_+1_-3",
          "FACADE_+1_+1_-4",
          "FACADE_+1_+1_-5",
          "FACADE_+1_+1_-6",
          "FACADE_+1_+1_-7",
          "FACADE_+1_+1_-8"
        ],
        "partCount": 0,
        "completedCount": 154
      }
    ],
    "partStages": {
      "LONG_FRONT_+1": 1,
      "LONG_FRONT_-1": 1,
      "FRAME_FRONT_02": 2,
      "FRAME_FRONT_03": 2,
      "FRAME_FRONT_04": 2,
      "FRAME_FRONT_11": 2,
      "FRAME_FRONT_12": 2,
      "FRAME_FRONT_13": 2,
      "FRAME_FRONT_14": 2,
      "FRAME_FRONT_07": 2,
      "FRAME_FRONT_08": 2,
      "FRAME_FRONT_09": 2,
      "FRAME_FRONT_16": 2,
      "FRAME_FRONT_17": 2,
      "FRAME_FRONT_18": 2,
      "FRAME_FRONT_19": 2,
      "FRAME_FRONT_15": 3,
      "FRAME_FRONT_20": 3,
      "OPENING_FRONT_H_+1": 3,
      "OPENING_FRONT_H_-1": 3,
      "SKIN_RAIL_01": 4,
      "SKIN_RAIL_02_0": 4,
      "SKIN_RAIL_02_1": 4,
      "SKIN_RAIL_03_0": 4,
      "SKIN_RAIL_03_1": 4,
      "SKIN_RAIL_04_0": 4,
      "SKIN_RAIL_04_1": 4,
      "SKIN_RAIL_05": 4,
      "LONG_BACK_+1": 6,
      "LONG_BACK_-1": 6,
      "FRAME_BACK_02": 7,
      "FRAME_BACK_03": 7,
      "FRAME_BACK_04": 7,
      "FRAME_BACK_11": 7,
      "FRAME_BACK_12": 7,
      "FRAME_BACK_13": 7,
      "FRAME_BACK_14": 7,
      "FRAME_BACK_07": 7,
      "FRAME_BACK_08": 7,
      "FRAME_BACK_09": 7,
      "FRAME_BACK_16": 7,
      "FRAME_BACK_17": 7,
      "FRAME_BACK_18": 7,
      "FRAME_BACK_19": 7,
      "FRAME_BACK_15": 8,
      "FRAME_BACK_20": 8,
      "OPENING_BACK_H_+1": 8,
      "OPENING_BACK_H_-1": 8,
      "DEPTH_01": 11,
      "DEPTH_02": 11,
      "DEPTH_10": 11,
      "DEPTH_11": 11,
      "DEPTH_19": 11,
      "DEPTH_20": 11,
      "DEPTH_03": 12,
      "DEPTH_04": 12,
      "DEPTH_05": 12,
      "DEPTH_06": 12,
      "DEPTH_07": 12,
      "DEPTH_08": 12,
      "DEPTH_09": 12,
      "DEPTH_12": 12,
      "DEPTH_13": 12,
      "DEPTH_14": 12,
      "DEPTH_15": 12,
      "DEPTH_16": 12,
      "DEPTH_17": 12,
      "DEPTH_18": 12,
      "BRACE_DEPTH_+1_+1": 14,
      "BRACE_DEPTH_+1_-1": 14,
      "BRACE_DEPTH_-1_+1": 14,
      "BRACE_DEPTH_-1_-1": 14,
      "POST_+1": 15,
      "POST_-1": 15,
      "SUPPORT_REAR_2955": 16,
      "SUPPORT_REAR_45": 16,
      "BRACE_REAR_+1": 17,
      "BRACE_REAR_-1": 17,
      "TABLE_ARM_+1": 19,
      "TABLE_ARM_-1": 19,
      "BRACE_TABLE_+1": 20,
      "BRACE_TABLE_-1": 20,
      "TABLE_BEAM_+0": 21,
      "TABLE_BEAM_+275": 21,
      "TABLE_BEAM_-275": 21,
      "TABLE_PLYWOOD_01": 22,
      "FACADE_-1_-1_+0": 24,
      "FACADE_-1_-1_+1": 24,
      "FACADE_-1_-1_+2": 24,
      "FACADE_-1_-1_+3": 24,
      "FACADE_-1_-1_+4": 24,
      "FACADE_-1_-1_+5": 24,
      "FACADE_-1_-1_+6": 24,
      "FACADE_-1_-1_+7": 24,
      "FACADE_-1_-1_+8": 24,
      "FACADE_-1_-1_-1": 24,
      "FACADE_-1_-1_-2": 24,
      "FACADE_-1_-1_-3": 24,
      "FACADE_-1_-1_-4": 24,
      "FACADE_-1_-1_-5": 24,
      "FACADE_-1_-1_-6": 24,
      "FACADE_-1_-1_-7": 24,
      "FACADE_-1_-1_-8": 24,
      "FACADE_+1_-1_+0": 25,
      "FACADE_+1_-1_+1": 25,
      "FACADE_+1_-1_+2": 25,
      "FACADE_+1_-1_+3": 25,
      "FACADE_+1_-1_+4": 25,
      "FACADE_+1_-1_+5": 25,
      "FACADE_+1_-1_+6": 25,
      "FACADE_+1_-1_+7": 25,
      "FACADE_+1_-1_+8": 25,
      "FACADE_+1_-1_-1": 25,
      "FACADE_+1_-1_-2": 25,
      "FACADE_+1_-1_-3": 25,
      "FACADE_+1_-1_-4": 25,
      "FACADE_+1_-1_-5": 25,
      "FACADE_+1_-1_-6": 25,
      "FACADE_+1_-1_-7": 25,
      "FACADE_+1_-1_-8": 25,
      "FACADE_-1_+1_+0": 26,
      "FACADE_-1_+1_+1": 26,
      "FACADE_-1_+1_+2": 26,
      "FACADE_-1_+1_+3": 26,
      "FACADE_-1_+1_+4": 26,
      "FACADE_-1_+1_+5": 26,
      "FACADE_-1_+1_+6": 26,
      "FACADE_-1_+1_+7": 26,
      "FACADE_-1_+1_+8": 26,
      "FACADE_-1_+1_-1": 26,
      "FACADE_-1_+1_-2": 26,
      "FACADE_-1_+1_-3": 26,
      "FACADE_-1_+1_-4": 26,
      "FACADE_-1_+1_-5": 26,
      "FACADE_-1_+1_-6": 26,
      "FACADE_-1_+1_-7": 26,
      "FACADE_-1_+1_-8": 26,
      "FACADE_+1_+1_+0": 27,
      "FACADE_+1_+1_+1": 27,
      "FACADE_+1_+1_+2": 27,
      "FACADE_+1_+1_+3": 27,
      "FACADE_+1_+1_+4": 27,
      "FACADE_+1_+1_+5": 27,
      "FACADE_+1_+1_+6": 27,
      "FACADE_+1_+1_+7": 27,
      "FACADE_+1_+1_+8": 27,
      "FACADE_+1_+1_-1": 27,
      "FACADE_+1_+1_-2": 27,
      "FACADE_+1_+1_-3": 27,
      "FACADE_+1_+1_-4": 27,
      "FACADE_+1_+1_-5": 27,
      "FACADE_+1_+1_-6": 27,
      "FACADE_+1_+1_-7": 27,
      "FACADE_+1_+1_-8": 27
    },
    "totalParts": 154,
    "partAssignment": "Cada ID se incorpora exactamente una vez; herrajes se muestran según fase y piezas presentes."
  },
  "hardwarePolicy": "H3 sólo visible cuando existen sus tres maderas. Las placas y escuadras sin dimensionar se identifican como propuestas, nunca como fijación aprobada.",
  "temporarySupport": "El visor conserva la posición final para comparar pasos; los puntales/útiles temporales no pertenecen a las154maderas ni están dimensionados."
}