# DFG 3D Viewer — JavaScript Library Three.js-based 3D viewer. Ships as a minified bundle for `web/libraries/dfg-3dviewer/` or standalone HTML embeds. **Drupal integration** is provided by the separate [`dfg_3dviewer`](https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_drupal_module) module. ## Build ```bash npm install npm run build:library ``` Output in `dist/library/`: - `dfg_3dviewer.min.js` - `assets/` — CSS, draco, IFC WASM, fonts For local packaging (optional): ```bash npm run pack:library # creates dfg-3dviewer-library.zip (gitignored) ``` ## Releases Tagged pushes build `dfg-3dviewer-library.zip` in CI and attach it to a GitLab Release. ```bash git tag v1.0.3 git push origin v1.0.3 ``` Download the zip from [Releases](https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_js_library/-/releases) and extract to `web/libraries/dfg-3dviewer/` on Drupal. ## Local development ```bash cp viewer/viewer-settings-example.json viewer-settings.json npm run dev:test # http://localhost:1234 ``` ## Install on Drupal 1. Download `dfg-3dviewer-library.zip` from [Releases](https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_js_library/-/releases) and extract to `web/libraries/dfg-3dviewer/` 2. Enable the `dfg_3dviewer` Drupal module and configure at `/admin/config/dfg_3dviewer` ## Standalone embed ```html
``` Or pass config in code: `await Viewer.MainInit({ ... })`. ## Repository layout - `viewer/` — source - `dist/` — build output (gitignored; run `npm run build:library` or download a Release zip) - `rollup.config.js` — production builds - `tests/` — Playwright E2E