Egy programkönyvtár, amely azokat a funkciókat egyesíti, amelyek sok ZUI alkalmazásban közösek. Ezt nevezzük renderelőnek. Ez magában foglalja a következő funkciókat:
- bizonyos típusú ábrák megjelenítése, köztük a legfontosabb VL ábrák: képek, nyilak, dobozok, címkék, szövegblokkok
- zoomolás vizuális megvalósítása, animáció, euklideszi és Poincaré-egyenesen való átzoomolás, gyorsítás és lassítás (easing), szemantikus zoomolás
- a zoomolás szemantikus zoomolás performancia-optimalizálása (FLIP módszerrel)
- felhasználói input kezelése a navigáláshoz: zooming, panning, ezek korlátozása szükség esetén
- alapvető szerkesztő funkciók (a contenteditable analógiájára)
- ... esetleg további dolgok, amiket a ZVL alapvetésünk részének tekintünk
Mindezeket web component-ekkel valósítjuk meg, és az elemek stílusozása a hagyományos módon CSS-sel történik.
Felmerült, hogy Canvas alapú vagy DOM alapú legyen a renderelő, és alapvetően a DOM alapú felel meg legjobban a kívánságainknak. Amennyiben valamely elem Canvas alapú akar lenni, magának kell létrehozni a canvast és belerajzolni. Nem használunk közös canvast, mert az átfedéseket közel lehetetlen lenne lekezelni vegyes DOM-canvas üzemmódban.
These components are provided
z-windowz-canvasz-figa general-purpose figure backed by an HTML DOM Element. Good for creating:- rectangles
- rounded rectangles
- text boxes
- labels
- fixed layouts
z-connectora figure that connects two figures with a line and possibly arrowheads
- Animáció közben nem futtatunk JS-t és nem állítunk CSS-t.
- nem animálunk custom CSS propertyket, hanem kiszámoltatjuk a valódi CSS propertyket a végső esetre, és aztán átanimáljuk.
Every figure MUST have a default <slot> where children of the element can be added. It MUST be rendered as a direct child of the host element.
Every figure MUST set its host element to have
displayblockpositionanything butstatictransform-origin0 0
Several z-canvas elements can be added to the same window, and they will always move together.
view an AnimatedPoint object
--z-anim-<sth> properties