Class MosaicExample

java.lang.Object
limn.demo.site.MosaicExample

public final class MosaicExample extends Object
The screen the home page's mosaic is cut from, and nothing else.

It exists because the mosaic's tiles are close crops laid edge to edge, and no screen built for its own sake survives that treatment. An application window has a menu bar, a title and margins: tile six crops of one and the seams show six copies of the same chrome, while the crops that land on a margin show nothing at all. So this board carries no chrome, no title, and no empty region: every part of it is controls, at a density that lets an arbitrary rectangle come out looking composed rather than clipped.

Two rules follow from that, and breaking either is what makes a tile look like a mistake:

  • Fill the canvas. Rows stretch and the board is sized to the capture window, so a crop never runs off the edge of the content into background.
  • No sentences. The words here are the ones on controls. A caption rendered into a tile is page prose at a size the page did not choose, in a language it cannot translate. In a mosaic it would appear cut in half.

What varies between tiles is the theme, the size step and the typeface, never this layout. That is the whole claim the mosaic makes: one screen, unrecognisably different dressings.

  • Method Details

    • board

      public static Widget board()
      The board: bands of controls, cycling through shapes, filling the canvas and then some.

      The cycle matters: any crop has to land on a MIX of controls, so no single kind may run down the page in a column of its own, and no band may be given the column's slack; a widget that expands takes a third of every tile with it.

      Only widgets that follow the theme belong here. A chart is the counter-example and it is not an oversight that there is none: its series colours come from the chart palette, not from the Theme, so a chart placed on this board is a region that renders identically in every tile; the mosaic would spend its largest area arguing against the one thing it exists to show.

    • scene

      public static Scene scene()
      The board on a canvas, top-aligned and overflowing it. See BANDS.

      Not centred and not expanded: centring a column taller than the canvas crops it at BOTH ends, which costs the top band, and expanding hands the surplus to a child instead of letting it run off the bottom where nothing needs it.