Skip to main content

Module design

Module design 

Source
Expand description

A design as it is held while it is shown: its scene, how many nodes use each of its files, and its drawing in each theme a caller asks for — every one brought along by each change to the scene, the damage it does to their tiles kept until it is taken. It answers what a canvas or a PNG asks of a drawing: its size, the interaction at a point, the tiles a view needs, and an area to paint — rounded first where an update left a run’s children a fraction of a pixel off, so what is painted there is a fresh drawing’s.

One rule for a scene that can’t be drawn — its images too many for the GPU’s atlas. The design keeps showing its last good drawing in that theme: the drawing of the last scene that could be drawn, made afresh the moment the scene stopped being drawable, which every tile, size and click is answered from meanwhile — a tile no one painted before, after a pan or a zoom, too — and which no damage reaches; why is Design::problem. The drawing that follows the scene is kept beside it, so the next change updates it at the change’s cost, and the change that makes the scene drawable again damages every tile of that theme.

It holds no renderer — a server shares one between its designs, a canvas has its own — and has no mode: the browser draws the theme it shows when it is shown, the server every theme the design has, at once.

Structs§

Design
A design’s scene — its one copy — the files it uses, and its drawing in each theme it was asked to draw in.