R&D LAB Computational Design In development Demonstrator, not a client project

ACHTKANT

A walkable exhibition hall, built entirely in code

An exhibition hall of 9,856 m² holding 91 stand typologies and 36 event elements, built entirely in code and walkable in the browser.

  • 9.856 m²hall floor, 112 × 88 m
  • 91stand typologies
  • 36event elements
  • 0assets loaded from disk
The whole exhibition hall from above at an angle: 91 stands on a white hall floor, the roof hidden, the perimeter walls standing

Hall overview viewpoint. The roof layer is hidden and the wall layer switched back on by hand, so the hall stays a hall and still reads as a plan.

Why this is published

A rendering shows one decision; a rule based model shows the range. ACHTKANT is our evidence that we can model a catalogue of components as a set of rules from which geometry, figures and plan all follow, which is why they cannot drift apart. The same discipline carries product configurators, plant walkthroughs in the browser, and any spatial explanation that has to change without being re-rendered.

ACHTKANT is an exhibition hall that does not exist: 112 × 88 metres, 9,856 square metres, 91 stand typologies and 36 event elements from the entrance foyer to the food street. It is built entirely in code. No bought models, no photographed textures: every surface is drawn onto a canvas at load, and every system cell comes out of one kit of an octagonal post, a rail, a 19 mm infill, a fascia and a 60 mm deck. The difference between a row stand and a peninsula is not a second drawing, it is a list of open sides. Positions are not typed but packed at load: an algorithm fills each build band from the aisle edge inward and writes the coordinates back into the data. Open the hall and you can walk it, click any stand and read its figures, put two typologies side by side, set the light to one of six states, and run the build through seven steps from a marked out plot to handover. The point is not the hall. The point is the demonstration that a catalogue of components can be shown as a computing, walkable model instead of a PDF.

A typology is a list of open sides

Every cell in the hall declares which of its sides are open. The builder panels the closed ones. A row stand and a peninsula are therefore the same code with a different list, which is also the honest way to show a system build: one kit, arranged differently.

Orientation follows from placement rather than from a typed number. Each builder reads the open side to decide where the counter, the graphic and the floor plate belong. The project's decision log gives the reason: while orientation was typed by hand, half the hall faced the wall instead of the aisle.

Four real cells of the hall, framed identically: row A, corner B, peninsula C, island H. Each shows exactly the sides its list leaves open. The neighbours differ; distance, height and focal length are the same in all four. No control switches a cell over: the list is baked into geometry that is built once at load.

A slider, not a video

Seven steps from bare plot to handover

  1. 01 Bare hall floor The plot is marked out on the hall grid and nothing else stands. Every mesh in the model carries the step at which it appears, and the slider sets a single whole number.
  2. 02 Floor build-up Levelling feet, a 60 millimetre system deck, edge trim. From here the cell has a top surface everything else is set on.
  3. 03 Frame Octagonal posts on the metre grid, top and bottom rails. At this step the kit every system cell is made of is fully visible.
  4. 04 Infill panels Nineteen millimetre panels dropped into the groove of the profile. Which bays get closed follows from the list of open sides, not from the assembly step.
  5. 05 Fascia and lighting Header fascia, track and the lit panels wired. Only here does a cell get its top edge toward the aisle.
  6. 06 Graphics Fabric frames tensioned, lettering applied. The printable surfaces are held in the record as brand surfaces and can be swapped inside the model.
  7. 07 Furniture and handover Counter, seating, plants, cleaned and signed off. The slider runs backwards too, because a strike is the same sequence in reverse.

The slider from step zero to six

Peninsula C and its neighbours across all seven steps, about 1.9 seconds each: bare plot, floor build-up, frame, infill, fascia and light, graphics, furniture. A single integer decides which meshes are visible, and the same integer runs backwards too.

Down aisle A1 and up into the overview

No cut: eye-height travel down aisle A1, then a rise into the overview. The roof and walls drop away on their own as the camera passes 9.5 and 22 metres. The aisle is the heaviest view in the hall, measured at 5,100 to 5,800 draw calls per frame at 1600 by 900 pixels.

Two measurements

Why a lighting state is measured, not looked at

The evening state was called broken twice in this project. Both times two frames from the harness sat side by side, and both times they looked the same. That was not the light but the eye: two white floors under a saturating tone map are hard to tell apart, and a glance at a still is an impression rather than a verdict.

Since then a lighting state is judged by a number. The rendered frame is read back onto a canvas of 32 by 18 pixels and averaged over all 576 of them. At the food street view this run gives 75 for the evening reception against 130 for hall lighting. The same arithmetic applied to the image file published here returns 76. There is nothing else behind the claim, and nothing else needs to be.

The second measurement is less comfortable. The project's decision log says of the roof layer that roof and walls are on below fifteen metres and off above. The source says otherwise: the switch between the two layers sits at 9.5 metres of camera height, and the separate fade of fascias and canopies additionally needs more than 22 metres of height and an elevation angle above 24 degrees. The images on this page follow the code. The document does not.

We leave that standing rather than quietly correcting the line, because it is the ordinary decay of every documented system: the description ages faster than the line it describes. The project's state file already carries the correction, the decision log does not. Something like that can only surface where a number sits that somebody can recompute. Against a rendering none of it would ever have shown.

Two white floors under the same tone map look alike. The read-back canvas does not.

Six lighting states, four of them here

Four states of the same light

A crossing of two exhibition aisles under hall lighting, with labelled stands and hanging aisle signs

Hall lightingThe default state: ceiling rows and stand spots at full, no warm shift. Even here not everything is labelled, only the nearest twelve stands within 34 metres and the nearest seven elements within 26 metres.

Four lighting states in one orbit

Fixed camera at the crossing of A1 and X3, three seconds each: hall light, evening reception, build-up, white model. The same geometry, four states, and each one judged on a number rather than on a glance.

The same camera, one layer fewer

The same camera, three layers: roof on, roof off, perimeter walls off. The switch sits at 9.5 metres of camera height, and fascias and canopies additionally need more than 22 metres and an elevation angle above 24 degrees. The 91 stands together occupy 1,966 of the 9,856 square metres, just under a fifth of the hall.

No cell stores its position. At load a packer fills each of the ten build bands from the aisle edge inward, picks the fill by enumeration and writes x and z back into the data. Geometry, figures panel and hall plan then read the same numbers.

That is why a separate audit checks the layout against itself rather than against a second list. What it finds are overlaps and stands reaching into an aisle, not typing errors in a coordinate table that does not exist.

System cell and custom build, counted from the same record

System build, 28 of the 91 cells

  • Build time: median 1 day, range 0.2 to 2 days.
  • Crew: median 2 people, range 1 to 4.
  • Transport volume: median 9 cubic metres, 18 at most.
  • Footprint: median 14.4 square metres, range 4.2 to 36.
  • Lead time: 1 to 3 weeks, and two cells come out of stock.
  • Re-use is held in the record as a count of parts: nine of eleven, twelve of fifteen, everything but the graphics.

Custom build, 63 of the 91 cells

  • Build time: median 2 days, range 0.5 to 4 days.
  • Crew: median 3 people, range 2 to 6.
  • Transport volume: median 16 cubic metres, 42 at most.
  • Footprint: median 24 square metres, range 5.8 to 54.
  • Lead time: 2 to 8 weeks, with 20 cells at 4 weeks and 17 at 5.
  • Re-use is usually a component: frame and door, frame and stair, graphics only.

Same model, changing palette

One hall model, several colour worlds

The Achtkant hall as an isometric model in the default Werkschau theme, green accent, 91 stands on the floor
The default theme: neutral massing, a green accent for the assembly rail.

WerkschauEleven colour themes sit over the same hall model. The theme changes the palette only, not the geometry, the part count or the assembly sequence.

Where this fits

  • Stand builders and system suppliers who have to show a catalogue of components before anything is built.
  • Organisers who discuss a hall layout with exhibitors instead of sending it out as a PDF.
  • Makers of modular products whose variants follow from rules rather than from a model library.
  • Any brief whose honest answer is a walkable space and whose usual answer is a rendering.

Image credit: every capture on this page is a screenshot of our own application. The brand, the fair name and the exhibitors in the model are invented.

“A preset is judged by a number, not by eye.”

ACHTKANT, Entscheidungsprotokoll D49 · the project's DECISIONS.md, 2 September 2026

Why this is published

What this means for your project

More from the lab

Do you have a catalogue that only makes sense in space? We can make it walkable.

Get in touch

Grace Hopper

“The most damaging phrase in the language is: it's always been done that way.”