# DFG 3D Viewer — Drupal Module

Drupal/WissKI integration for the [DFG 3D Viewer JavaScript library](https://github.com/your-org/js_library_dfg_3dviewer).

**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 `dfg-3dviewer-library.zip` from the [library releases](https://github.com/your-org/js_library_dfg_3dviewer/releases), or
   - Build from the `js_library_dfg_3dviewer` repo: `npm run build:library` and copy `dist/library/*` there

2. **This module** at `web/modules/custom/dfg_3dviewer/`

## Install

```bash
unzip dfg-3dviewer-library.zip -d web/libraries/dfg-3dviewer
# clone or unzip this module to web/modules/custom/dfg_3dviewer
drush en dfg_3dviewer -y
drush cr
```

Configure at `/admin/config/dfg_3dviewer`. 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`

## Release zip (maintainers)

```bash
node scripts/pack-drupal-module.js
```

Produces `dfg_3dviewer-drupal.zip`.
