Libraries

11 small libraries, each for one job.

Lattice is built from parts you can lift into your own app. None of them imports anything from Lattice or needs a framework, and each one has a live demo you can try in under a minute. You'll see two names throughout: the Studio, Lattice's editor in the browser, and the Playground, the try-it page on this site.

  • No framework required
  • At most one required dependency
  • TypeScript types included
  • Coming to npm with Lattice 1.0

Sound and timing

  • Suono

    @laticent/suono

    Play a list of audio clips smoothly, on time, on every device.

    Use it when you play speech or sound one clip at a time, as in read-aloud, lessons or a voice assistant, and it has to keep working on iPhones, over Bluetooth and through pause and resume.

  • Cadenza

    @laticent/cadenza

    Words that light up as they're spoken.

    Use it when you want karaoke-style captions, a read-along highlight or a .vtt file from text, with numbers like "$4.2M" timed the way people say them.

Showing and reading

  • Vetrina

    @laticent/vetrina

    A product tour that drives your real app, then steps aside.

    Use it when you want to show people how your app works — onboarding, tutorials, a kiosk loop — without a video that goes stale or tooltips that only point.

  • Lente

    @laticent/lente

    One deck. Every reader gets the view they need, and you approve each one.

    Use it when different readers need different views of the same document, and you can't risk anyone seeing a view nobody signed off on.

  • Fuoco

    @laticent/fuoco

    Every view of a document agrees on where the reader is.

    Use it when your app shows one document in more than one view — source and preview, a page and its outline, a player and its transcript — and the views keep drifting out of step.

  • Veduta

    @laticent/veduta

    A long list stays fast, because only what the reader can see exists.

    Use it when you show a long list through one or two views, such as a stage and a strip of thumbnails, and each view mounts more than it needs.

Drawing and parsing

  • Trama

    @laticent/trama

    Diagrams that lay themselves out, with lines routed around every box.

    Use it when your app draws boxes joined by arrows — a flowchart, a workflow editor, a state machine — and the lines have to stay clean when someone adds a box or drags one.

  • Segno

    @laticent/segno

    Turn a short typed instruction into structured data, safely.

    Use it when people type small structured instructions — a command, a filter, a rule, a cell — and you need each word read correctly, in any order, with errors that point at the problem.

  • Mosaico

    @laticent/mosaico

    Every box keeps its shape, and every gutter comes out exact.

    Use it when you need to fit boxes of different shapes into one container, without cropping them, stretching them or letting the wide ones dominate.

Sharing and exporting

  • Calco

    @laticent/calco

    Turn any web slide into a PowerPoint you can edit.

    Use it when you build slides, reports or dashboards in HTML, and someone needs the PowerPoint so they can fix one number the night before.

  • Tavola

    @laticent/tavola

    Share a link, let people in, edit together. No server of your own.

    Use it when you want a colleague editing with you for ten minutes — without accounts, without uploading the file, and without running a sync service.

Where you'll meet them in Lattice

Each library started as a part of Lattice and was cut free once it could stand alone. This is where each one still works today.

LibraryWhat it does in Lattice
SuonoPlays the Studio's read-aloud, lessons and call audio.
CadenzaTimes every narrated slide, in the Studio and the export.
VetrinaRuns the Studio tour, lessons and the Present-mode guide.
LentePowers the Studio's reader views and Present-mode picker.
TramaDraws the flowchart, state chart and hub-and-spoke slides.
SegnoReads every inline directive, number and date in a deck.
CalcoWrites the editable PowerPoint and LibreOffice exports.
TavolaPowers the Studio's Live panel.
FuocoKeeps the Studio's editor, slide rail and preview on the same slide.
MosaicoLays out every collage, and sizes the marks on every logo wall.
VedutaDecides which slides the Studio's preview and its map beside it keep alive.

Looking for the file formats?

Some of these libraries read and write open formats that are written down as specs, so another tool can implement them too. Cadenza and Vetrina share LTT, the timing format for narrated decks and tours. All the specs live in the docs.