dfg_3dviewer_js_library/README.md
2026-06-25 10:01:49 +02:00

62 lines
1.6 KiB
Markdown

# 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
<div id="DFG_3DViewer" 3d="./examples/box.stl"></div>
<script type="module" src="./dfg_3dviewer.min.js"></script>
```
Or pass config in code: `await Viewer.MainInit({ ... })`.
## Repository layout
- `viewer/` — source
- `rollup.config.js` — production builds
- `tests/` — Playwright E2E