Tiler | Oberon Object

Oberon Object Tiler

The Oberon Object Tiler is a tiling system for the Oberon operating system, which provides a flexible and efficient way to manage and display objects on the screen.

The Traditional Bottleneck

Conventional GPUs rely on a giant command buffer. The CPU spends a significant portion of its frame time sorting draw calls, changing shaders, and binding textures. As scene complexity grows, the driver overhead becomes catastrophic. Even with modern techniques like Vulkan or DirectX 12, developers must manually implement command buffers and synchronization.

Configuration Options

| Parameter | Description | |-------------------|-----------------------------------------------------------------------------| | layout | Defines the underlying grid/coordinate system | | packing | Tight, spaced, or overlapping placement | | anchor | Corner, center, or edge alignment | | wrap_mode | Clamp, repeat, or mirror when exceeding bounds | | collision_layer | Optional mask to avoid overlapping with existing objects | Oberon Object Tiler


4. Algorithms

Tiling invariant: For any two distinct viewers A and B, Intersection(A.frame, B.frame) = empty and Union(all frames) = Screen.

Split operation (vertical):
Given viewer V at coordinates (x0, y0, x1, y1) and a split coordinate s (x0 < s < x1): Oberon Object Tiler The Oberon Object Tiler is

  • Create new viewer V2.
  • V.frame = (x0, y0, s, y1)
  • V2.frame = (s, y0, x1, y1)
  • Copy V.obj to V2.obj (shallow reference, not deep copy unless needed).
  • Insert V2 after V in list.

Merge operation:
Given adjacent viewers Vleft and Vright sharing a full vertical edge:

  • Expand Vleft.frame.x1 = Vright.frame.x1
  • Delete Vright from list.
  • Invoke Vleft.handle to redraw.

The tiler does not use constraint solvers. Geometry is purely deterministic and explicit. Create new viewer V2

The Hidden Gem of UI History: Understanding the Oberon Object Tiler

In an era where modern user interfaces are dominated by stacking windows, overlapping layers, and complex window managers, it is worth looking back at one of the most elegant and radical departures from the norm: The Oberon Object Tiler.

Developed in the late 1980s by Niklaus Wirth and Jürg Gutknecht at ETH Zurich, the Oberon operating system was a masterclass in minimalism. While most of the world was chasing the WIMP (Windows, Icons, Menus, Pointer) paradigm popularized by the Macintosh and Xerox Star, Oberon introduced a text-centric, tiled workflow that was decades ahead of its time.