Gallery – Exhibition Planning

The Gallery module helps you with planning and running exhibitions. From concept to installation.

Features

Feature Description
Playlists Define artwork sequences
Timing Display duration per artwork
Layouts Multi-screen configuration
Live Mode Exhibition operation

Exhibition Packages

An exhibition package contains everything for an exhibition:

exhibition-packages/
└── mosaic-2027/
    ├── index.html        # Entry point
    ├── playlist.json     # Artwork sequence
    ├── README.md         # Setup instructions
    └── item-*/           # Artwork bundles

Playlist

The playlist.json defines the sequence:

{
  "name": "Mosaic 2027",
  "description": "Group exhibition generative art",
  "items": [
    {
      "id": "item-cc-entities",
      "sketch": "sketch-entities-001",
      "duration": 120,
      "transition": "fade"
    },
    {
      "id": "item-cc-particles",
      "sketch": "sketch-particles-wind",
      "duration": 90,
      "transition": "cut"
    }
  ],
  "loop": true,
  "shuffle": false
}

Options

Option Description
duration Display duration in seconds
transition fade, cut, dissolve
loop Repeat endlessly
shuffle Random order

Multi-Screen Setup

For installations with multiple displays:

{
  "screens": [
    { "id": "screen-1", "width": 1920, "height": 1080 },
    { "id": "screen-2", "width": 1920, "height": 1080 },
    { "id": "screen-3", "width": 1920, "height": 1080 }
  ],
  "topology": "horizontal",
  "entityTransfer": true
}

Entity Transfer

Entities (particles, agents) can move between screens:

┌──────────┐  ──►  ┌──────────┐  ──►  ┌──────────┐
│ Screen 1 │       │ Screen 2 │       │ Screen 3 │
└──────────┘  ◄──  └──────────┘  ◄──  └──────────┘

Live Mode

In Live Mode, the exhibition runs autonomously:

  1. Start: npm run exhibition:start
  2. Stop: npm run exhibition:stop
  3. Status: npm run exhibition:status

Remote Control

Via web interface or tablet:

  • Play / Pause
  • Next / Previous artwork
  • Adjust brightness
  • Restart

Livestream

The livestream shows snapshots from running exhibitions:

GET /lifestream/mosaic-2027

Snapshot Interval

{
  "lifestream": {
    "enabled": true,
    "interval": 300,
    "quality": 80
  }
}

QR Codes

Generate QR codes for visitors:

npm run generate:qr -- --exhibition mosaic-2027

The QR code leads to:

  • Artwork information
  • Artist bio
  • Purchase option

Exhibition Checklist

  • Artworks finalized
  • Playlist created
  • Hardware tested
  • Network configured
  • Backup created
  • Remote access set up
  • QR codes printed