Lumen & LogicArtpack

Artpack

A gallery you can walk, served as static files.

Artpack turns a folder of artwork and one JSON file into a 3D exhibition you can walk — built from Git, served as static files, with no CMS and no database behind it.

18
Rooms included
1
JSON file
0
Databases
Static
Files served

What it does

A show is a folder of images and a JSON file describing them. A build step turns that into compressed textures and a room, and the result is a page a CDN can serve to four hundred people at once without anything to scale.

  • Rooms are files

    A room is a .glb with its hanging positions marked as named empty nodes. Point the show at a different one and the same works rehang themselves, at their real size in centimetres.

  • Lit like a room, not a slideshow

    WebGPU where the browser has it, WebGL2 where it does not. Picture lights are metered in candela and their shadows are baked once. The reproductions themselves stay unlit, so a work shows the colours the artist approved.

  • Look closer

    Open a work and it fills the screen at whatever magnification you want, beside the things a wall label has no room for: the curator's notes pinned to the passages they are about, the palette, a figure for scale, edition, provenance and literature.

  • A route through the show

    A guided tour walks to each stop in turn, turns to face the work and says what the curator would have said standing in front of it. Walk off mid-stop and it waits.

  • Other people in the room

    Optional presence and chat over a Cloudflare Worker and one Durable Object per room, in binary frames rather than JSON. It is a flag in the exhibition file; the gallery works completely without it.

  • Rooms from real places

    Drop a pin on a map and the pipeline builds a walkable outdoor room from OpenStreetMap buildings — fetched once, committed, and never fetched again at build time.

  • It embeds

    An <iframe> is the whole mechanism, and the URL carries the state: open in a given room, on a given work, or straight into the tour.

  • Readable without a GPU

    The page renders the catalogue before the engine boots and keeps it as the fallback when neither WebGPU nor WebGL2 is available. The whole show stays a document you can read, tab through and search.

  • Nothing to run

    No CMS, no origin database, no third-party analytics and no key in the bundle. What is deployed is a directory of files, and what it costs to keep up is what a CDN charges to serve them.

Example galleries

Every room below ships with the repository. Pick one and it opens with the same works rehung in it, as long as it has a hook for every one of them.

  • Granary LoftNow showingA converted grain warehouse: three halls in a line under exposed steel, glazed onto the water at one end, with a second range of rooms and five cabinets behind them. 368 hangs.
  • LoftToo smallIndustrial space on a dune. The seaward elevation is glass floor to ceiling over open water at sunset, oak boards underfoot, a celadon studio behind. 12 hangs.
  • Gallery HallToo smallWhite cube with a warmer cabinet and a celadon study off it. Oak floor, skirting, benches. 16 hangs.
  • KunsthalleToo smallThe municipal plan: a vestibule, one hall six metres to the ceiling, and a cabinet off each side of it — one cool, one warm. 25 hangs.
  • Atrium RampToo smallA hall whose floor climbs four metres, hung on both sides the whole way up, into a gallery and cabinet a storey above the entrance. 22 hangs.
  • SalonToo smallDeep green walls and parquet for a traditional hang, plus an oxblood cabinet. 12 hangs.
  • TownhouseToo smallFour domestic rooms of a private collection — hall, drawing room, dining room, study — hung close and deep among the furniture. 21 hangs.
  • Manhattan LoftToo smallA New York studio twenty floors up, glazed onto a blue-hour skyline. A cool room and a terracotta study behind. 16 hangs.
  • AtelierToo smallA small warm studio with north light and one screen, and a store behind it. 9 hangs.
  • CathedralToo smallA nave thirty metres to the vault, hung with works seven metres wide. 10 hangs.
  • UnderpassToo smallOne bay of a rail viaduct: a pier splitting each mouth, girders overhead, a towpath at dusk beyond, and the walls painted at the scale of the arch. A whitewashed lock-up behind it. 18 hangs.
  • PavilionToo smallTwo solid elevations, a roof slab, and three screens standing free on a podium in a meadow. 10 hangs.
  • VoidToo smallNo floor, no walls, no ceiling. Seven works in a rising spiral in a starfield.
Experimental rooms5

Rooms where the room is the subject: real places pulled from OpenStreetMap, and a salt pan at dusk. The works end up at the scale of the buildings and the light is whatever the sky is doing. Walkable, and not what a curator means by a wall.

  • Salt FlatToo smallUnbounded. Six works standing on a salt pan at dusk, at the scale of billboards.
  • Times SquareToo small217 buildings of midtown Manhattan, pulled from OpenStreetMap, with the works hung on the facades as billboards.
  • Tour EiffelToo smallThe Champ de Mars, 219 buildings, with the tower standing over it.
  • Brandenburger TorToo smallPariser Platz, with 2 638 buildings of central Berlin around it.
  • Walksches HausToo smallWeingarten (Baden) along the Walzbach: the market square, the Walk’sches Haus, and 438 buildings of a village that mapped its streets and not its storeys.

Hanging a show

Everything a curator touches is a file in the repository.

  1. Drop the artwork into content/artworks/ — SVG, PNG, JPEG or WebP, at whatever resolution it was scanned.
  2. Describe each piece in content/artworks.json: title, artist, physical size in centimetres, and anything else worth saying about it.
  3. Point content/exhibition.json at a room, and push. The build compresses the images, validates the manifest and emits the site.

The show is already built. Walk in.