CANVAS

Canvas

Describe a retained 2D scene once and render it through native drawing systems on web, desktop, Android, and iOS.

TARGET-NEUTRAL

Commands, not drawing APIs

Dowe owns transforms, frame timing, color resolution, clipping, input, and target generation.

ADVANCED OVERVIEW

Layer a complete scene in source order

Every command is retained in a Signal array. Later commands draw above earlier commands, while the logical viewport stays independent from the displayed size.

dowe
page ScenePage
  signal scene value:[
    { type:"rect" x:0 y:0 width:640 height:360 fill:"surface" },
    { type:"polyline" points:[{ x:50 y:270 } { x:355 y:125 } { x:590 y:72 }] stroke:"primary" strokeWidth:8 }
    { type:"circle" x:355 y:125 radius:18 fill:"tertiary" motion:{ pulse:0.7 } },
    { type:"text" x:36 y:48 text:"RETAINED SCENE" fill:"surfaceText" size:24 },
  ]

  Canvas scene:scene viewWidth:640 viewHeight:360 fit:"contain" label:"Layered retained scene" w:"full" h:96

MENTAL MODEL

Separate scene coordinates from layout

Logical viewport

viewWidth and viewHeight establish portable coordinates. Layout props such as w and h only size the component.

Fit transform

contain preserves the full scene, cover fills and clips, and stretch maps both axes independently.

Accessible equivalent

label describes the image role. Essential data and controls must also exist as normal Dowe content.

SCENE COMMANDS

Six portable primitives

Command
Required fields
Best for

No data

There are no records to display

API

Canvas props

Canvas also accepts applicable common identity, spacing, sizing, visibility, radius, border, and shadow props.

Prop
Type
Default

No data

There are no records to display