PHPackages                             ateeducacion/omeka-s-threedviewer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ateeducacion/omeka-s-threedviewer

ActiveOmeka-s-module[Utility &amp; Helpers](/categories/utility)

ateeducacion/omeka-s-threedviewer
=================================

Embeds 3D models (GLB, etc.) in Omeka S collections using either model-viewer.js or three.js

v1.0.5(7mo ago)05GPL-3.0-or-laterPHPPHP &gt;=7.4CI passing

Since Apr 2Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/ateeducacion/omeka-s-ThreeDViewer)[ Packagist](https://packagist.org/packages/ateeducacion/omeka-s-threedviewer)[ Docs](https://github.com/ateeducacion/omeka-s-ThreeDViewer)[ RSS](/packages/ateeducacion-omeka-s-threedviewer/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (4)Versions (10)Used By (0)

ThreeDViewer (3D) Module for Omeka S
====================================

[](#threedviewer-3d-module-for-omeka-s)

[ ![Try ThreeDViewer in your browser](https://raw.githubusercontent.com/ateeducacion/omeka-s-playground/main/ogimage.png)](https://ateeducacion.github.io/omeka-s-playground/?blueprint=https%3A%2F%2Fraw.githubusercontent.com%2Fateeducacion%2Fomeka-s-ThreeDViewer%2Frefs%2Fheads%2Fmain%2Fblueprint.json)
[Try in your browser](https://ateeducacion.github.io/omeka-s-playground/?blueprint=https%3A%2F%2Fraw.githubusercontent.com%2Fateeducacion%2Fomeka-s-ThreeDViewer%2Frefs%2Fheads%2Fmain%2Fblueprint.json)[![Screenshot of the 3D Viewer](https://raw.githubusercontent.com/ateeducacion/omeka-s-ThreeDViewer/refs/heads/main/.github/assets/screenshot.png)](https://raw.githubusercontent.com/ateeducacion/omeka-s-ThreeDViewer/refs/heads/main/.github/assets/screenshot.png)

This module allows users to view and interact with 3D models (STL and GLB files) directly within Omeka S.

Features
--------

[](#features)

- View 3D models (STL and GLB formats) directly in the browser
- Interactive controls for rotating, zooming, and panning 3D models
- Customizable display options including background color
- Optional auto-rotation for better visualization
- Grid display option for better spatial reference
- Toggle between the original Three.js/model-viewer pipeline and an experimental Babylon.js renderer
- Babylon.js renderer with configurable cameras, lighting, and WebXR support

Installation
------------

[](#installation)

### Manual Installation

[](#manual-installation)

1. Download the latest release from the GitHub repository
2. Extract the zip file to your Omeka S `modules` directory
3. Log in to the Omeka S admin panel and navigate to Modules
4. Click "Install" next to Three3DViewer

Installation
------------

[](#installation-1)

See general end user documentation for [Installing a module](http://omeka.org/s/docs/user-manual/modules/#installing-modules)

Usage
-----

[](#usage)

1. Upload STL or GLB files to your Omeka S items as you would any other media file
2. When viewing an item with a 3D model, the model will automatically be displayed in an interactive viewer
3. Use your mouse to:
    - Left-click and drag to rotate the model
    - Right-click and drag to pan
    - Scroll to zoom in and out
4. The module settings allow administrators to choose the default viewing library. Select the legacy Three.js/model-viewer stack for the original experience or opt into Babylon.js for advanced camera behaviour, lighting presets, optional environment ground/skybox, WebXR (VR/AR) support, and an inspector toolbar for fine-tuning scenes on demand.

Local Development with Docker
-----------------------------

[](#local-development-with-docker)

This repository includes a **Makefile** and a `docker-compose.yml` for quick local development using [erseco/alpine-omeka-s](https://github.com/erseco/alpine-omeka-s).

### Quick start

[](#quick-start)

```
make up
```

Then open .

### Sample data import

[](#sample-data-import)

On first boot, the container automatically installs CSVImport and, if `data/sample_3d_data.csv` is present, imports it so you immediately have items to test the viewer. To trigger a manual import inside the container, run:

```
make shell
cd /var/www/html && OMEKA_CSV_IMPORT_FILE=/data/sample_3d_data.csv php import_cli.php "$OMEKA_CSV_IMPORT_FILE"

```

### Preconfigured users

[](#preconfigured-users)

The environment automatically creates several users with different roles:

EmailRolePasswordglobal\_adminPLEASE\_CHANGEMEeditor1234The **ThreeDViewer module** is automatically enabled, so you can start testing right away.

### Useful Make commands

[](#useful-make-commands)

- `make up` – Start Docker containers in interactive mode
- `make upd` – Start in detached mode (background)
- `make down` – Stop and remove containers
- `make shell` – Open a shell inside the Omeka S container
- `make lint` – Run PHP\_CodeSniffer
- `make fix` – Auto-fix coding style issues
- `make package VERSION=1.2.3` – Build a `.zip` release of the module
- `make test` – Run PHPUnit tests

Run `make help` for a full list.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance78

Regular maintenance activity

Popularity4

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 98% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Recently: every ~44 days

Total

6

Last Release

222d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e5ea8bfbc980d75f631518d4ad799df45e9a576d7b19eed0ae9c613c65104251?d=identicon)[erseco](/maintainers/erseco)

---

Top Contributors

[![erseco](https://avatars.githubusercontent.com/u/1876752?v=4)](https://github.com/erseco "erseco (49 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

3d-viewerglbomekaomeka-someka-s-modulestlmoduleomeka-s3dthree.jsmodel-viewer

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/ateeducacion-omeka-s-threedviewer/health.svg)

```
[![Health](https://phpackages.com/badges/ateeducacion-omeka-s-threedviewer/health.svg)](https://phpackages.com/packages/ateeducacion-omeka-s-threedviewer)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
