Skip to content

Releases: marianorluna/ifc-viewer

ARQFI IFC Viewer v0.1.0

12 Apr 18:54

Choose a tag to compare

Primera versión documentada del visor ARQFI IFC Viewer (stack That Open Engine v3, Three.js, Vite), con arquitectura por capas (domain, application, infrastructure, presentation).

Added

  • Mundo 3D y carga IFC: escena, cámara, renderer y rejilla con @thatopen/components, @thatopen/components-front y @thatopen/fragments; carga desde archivo con IfcLoader y FragmentsManager; identificación del modelo y reconstrucción en escena.
  • WASM de web-ifc: servidos desde el propio origen (/vendor/web-ifc/…) mediante postinstall (scripts/copy-web-ifc-wasm.mjs), alineados con la versión del paquete web-ifc.
  • Worker de fragmentos: URL resuelta por Vite desde @thatopen/fragments/worker (empaquetado en el build, sin CDN externo obligatorio).
  • Selección y propiedades: Highlighter, panel lateral; tabla con parseo tolerante a IFC y conmutador a vista JSON; enriquecimiento con cantidades (Qto), materiales, caja envolvente y unidades de proyecto (IfcProjectUnits / IfcUnitAssignment cuando aplica).
  • Navegación BIM: clasificación por niveles espaciales (storeys) y por categoría (Classifier); por grupo: aislar (con reset), ocultar / mostrar y mostrar todo global (Hider); árboles actualizados tras cargar un modelo.
  • Interfaz y UX: tema claro / oscuro coherente con escena y rejilla; barra lateral redimensionable en escritorio, colapsable y adaptación móvil; panel de vistas de cámara (ajustar a modelo, isométrica, planta, frente, lateral); cubo de vistas (HUD) en ViewCubeHud; perspectiva / ortogonal y visibilidad de rejilla; estilos de visualización (original, blanco, fantasma); panel de ayuda con gestos de navegación; persistencia opcional del estado del panel de cámara en sessionStorage.
  • Carga y robustez: límites de tamaño de archivo, recuperación ante fallo y indicador de carga; limpieza del IFC cargado; modal y botón para descargar IFC de prueba desde public/.
  • Marca y despliegue: identidad ARQFI en UI; preparación para Vercel; code splitting y activos locales donde aplica.
  • Calidad de repositorio: licencia MIT; Husky + commitlint (Conventional Commits); GitHub Actions (CI); scripts typecheck, test (Node test runner vía tsx), build, preview; release-it con @release-it/conventional-changelog y hooks previos a release (typecheck + test).
  • Tests: casos de uso, parseo de propiedades y enriquecimiento IFC bajo src/**/*.test.ts.

Changed

  • Paleta visual, tipografía del sidebar, scroll y estados de interacción del visor refinados.
  • Layout responsive del shell principal y experiencia móvil (barra inferior colapsable, ajustes de cámara y rejilla en vista reducida).

Fixed

  • Carga IFC alineando la versión de WASM con el runtime.
  • Pantalla en blanco del layout principal y FOUC (CSS crítico en head donde aplica).
  • CI: ejecución de tests en Linux sin depender del glob del shell.