# DFG 3D Viewer — Drupal Module Drupal/WissKI integration for the [DFG 3D Viewer JavaScript library](https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_js_library). **This repository contains PHP/YAML only** — no bundled JavaScript, no npm build step on the server. ## Requirements 1. **JS library** at `web/libraries/dfg-3dviewer/` — download from [releases](https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_js_library/-/releases), or build from `js_library_dfg_3dviewer` with `npm run build:library` / `npm run pack:library` 2. **This module** at `web/modules/custom/dfg_3dviewer/` — clone this repository, or pack locally with `node scripts/pack-drupal-module.js` ## Install ```bash curl -fL "https://gitlab.nasarek.dev/rnsrk/dfg_3dviewer_js_library/-/releases/permalink/latest/downloads/dfg-3dviewer-library.zip" -o /tmp/dfg-3dviewer-library.zip mkdir -p web/libraries/dfg-3dviewer unzip -o /tmp/dfg-3dviewer-library.zip -d web/libraries/dfg-3dviewer rm /tmp/dfg-3dviewer-library.zip # clone or unzip this module to web/modules/custom/dfg_3dviewer drush en dfg_3dviewer -y drush cr ``` Configure at `/admin/config/dfg_3dviewer`, or apply the bundled local development preset: ```bash drush dfg-3dviewer:configure ``` Override individual values with options, for example `--main-url=https://example.test/`. Settings are passed to the browser as `drupalSettings.dfg_3dviewer`. ## Package contents | Path | Purpose | |------|---------| | `src/` | Controllers, form, field formatters, queue worker | | `config/` | Default config and schema | | `dfg_3dviewer.*.yml` | Routing, libraries, permissions | | `dfg_3dviewer.module` | Hooks, conversion workflow | | `scripts/` | Model conversion shell/Python scripts | ## Library attachment `dfg_3dviewer.libraries.yml` loads: - `/libraries/dfg-3dviewer/dfg_3dviewer.min.js` - `/libraries/dfg-3dviewer/assets/css/viewer.css` ## Package zip (maintainers) ```bash node scripts/pack-drupal-module.js ``` Produces `dfg_3dviewer-drupal.zip` (gitignored).