github nyblnet/bento v1.1.0
bento/slides v1.1.0

3 hours ago

Download the single file below and open it in any modern browser — it's the document, the viewer and the editor in one. Shipped files self-update through the signed release channel.

  • Live broadcast. Contributed by Niemes (#293), and shaped together with
    the collaboration work below. Audience copy… in the Share menu writes a hand-out
    for a live show: whoever opens it lands straight in the presentation, and
    while you are Live (a toggle in the speaker view, off every time you
    present) their slide follows yours — transitions, morphs, black screen and
    laser included — and the deck itself updates as you edit mid-talk. The copy
    never carries your speaker notes or comments, in the file or on the wire.
    Lock holds the audience on your slide; otherwise they can browse and
    snap back. When you end the show the copy is a plain deck of what was
    shown, and it receives nothing between shows: it holds a per-show key, not
    the room key. Issue new tickets… makes every copy handed out so far stop
    working. Built on the same end-to-end-encrypted collaboration room as
    everything else — no second channel.
  • A deck can shrink again. Saving used to keep every image the file had
    ever held: add pictures, delete every slide, save — and the "empty" deck was
    still 20 MB, because deleting an element removed the reference and nothing
    ever removed the bytes. A save now drops the assets nothing on any slide,
    layout, font or code snippet refers to. Undo after a save still brings an
    image back, and the next save keeps it.
  • Code snippets take the deck's colours. Rahul Ravikumar (#450) added an
    optional code palette to the theme — one colour per kind of token (comments,
    strings, numbers, keywords, calls, punctuation, diff added and removed) — so
    a snippet can match the deck instead of the built-in scheme. A deck without
    one renders exactly as before; the starter deck sets one.
  • Code colours have an editor. The Theme section gains a Code colours
    group — one colour per kind of token (comments, strings, numbers, keywords,
    calls, punctuation, diff added and removed) — so the palette Rahul Ravikumar
    added in #450 no longer needs a JSON round-trip to change. A deck without one
    shows the built-in scheme and keeps rendering exactly as before until you
    change a colour; a deck with one gets a button back to the built-in scheme.
  • Empty accent slots stay out of the way. Accent 2–6 rows and quick-pick
    swatches appear only when the deck actually sets that slot; a fresh deck no
    longer shows six identical copies of accent 1. The format keeps all six.
  • The layout picker stays on screen. Johan Høgåsen-Hallesby (#425): with
    a few custom layouts the picker opened above the top of the window and its
    first row hid under the topbar. It now opens beside its button, keeps an
    8px margin from every edge, and scrolls inside itself on a short window.
  • A slide can stay in the show without taking a page number. Toggle
    Unnumbered in the Slide panel: the arrow keys reach the slide as usual,
    but {{page}} on it continues the previous slide's number and the total
    does not grow. Build a reveal as three morph steps and the footer reads 18
    three times instead of 18, 19, 20 — or drop in a section card that should
    not count. Asked for in discussion #282 by OuPDO, whose one-slide-per-step
    decks already worked except for that number. Distinct from Hide slide,
    which takes a slide out of the walk altogether.
  • Reveal elements one at a time within a slide. Give an element a Reveal
    step
    in the Presenting section (1, 2, 3…): it is hidden when the slide
    appears and shows on that press of →, running its entrance — a plain fade
    if it has none — and ← hides it again; → moves to the next slide only once
    every step is shown. Elements sharing a step appear together, and arriving
    from the next slide lands with everything revealed, so stepping back
    through a talk retraces it. One slide stays one slide: one page number, one
    morph pairing, one speaker note. The speaker view counts the steps beside
    the slide number, and an audience following a live broadcast follows the
    steps too. A deck opened in an older version shows every element at once.
    The other half of discussion #282, and the one its author wanted more.
  • Reveals are one right-click away. Select the elements, right-click,
    Reveal in order: they are numbered top-to-bottom, then left-to-right, the
    way a reader scans the slide — a bullet list builds down, a row of cards
    builds across. Reveal together puts the selection on one step and
    Remove reveal shows it with the slide again; the same three sit in the
    panel's Presenting section, for one element or many. Every stepped element
    wears a numbered badge on the canvas — click a badge to move that element
    to the next step — and the badges are editor chrome only: thumbnails, the
    show, print and file-manager previews never carry them. The ? sheet names
    the entry point. Measured on a fresh deck with no panel open: a reveal is
    three clicks away (click, right-click, Reveal in order).
  • Clickable links. Give any element a Web link in the Presenting
    section, or type [caption](https://…) in a text box, and clicking it
    during the show opens the page in a new tab — never navigating the deck
    away, never telling the page where it came from. Only https:// and
    http:// count as links; anything else stays plain text. In the editor a
    link is just text to edit. Offline mode keeps its promise: links are off
    while it is on. Asked for by Hermholtz (#373, #374, #421).
  • * makes a bullet, and bullets can indent. Typing * at the start
    of a line makes a bullet like - does, and two or more spaces before
    either makes an indented sub-bullet — while typing and when pasting
    markdown. (#255 and #368.)
  • The ? shortcut list is complete. It now names black screen (B),
    the all-slides grid (G), the side-panel toggles ([ ]), bold/italic/
    underline, the zoom keys, and the arrow keys' two jobs. (#269.)
  • Embed element. Johan Høgåsen-Hallesby (#424, landed in #466): a slide can carry an embedded artifact in the shared
    bento/embed shape: a static view that always paints, in any app and with
    no extra code; an optional source document behind it; and, for a web page,
    an opt-in live frame that loads only while online with offline mode off —
    otherwise the captured view shows. Embedded documents are stripped of
    envelope secrets at the shape gate, and a save keeps an embed's view and
    source (the asset prune learned the new reference form).
  • Files are about 86 KB smaller. Every saved deck used to carry the two
    built-in typefaces (Fraunces and Instrument Sans) as embedded font data —
    the same bytes the app itself already ships, so they existed twice in every
    file, and were most of a typical text deck's data. A deck now names those
    faces instead, and any deck that embedded them is slimmed on its next save.
    Other fonts you add are embedded exactly as before. A copy of the app older
    than this one shows those two families in the system fallback until it
    updates itself.
  • A shared deck applies only changes the relay has verified came from a
    writer.
    The sync client no longer acts on a frame the relay did not vouch
    for; nothing changes for anyone editing normally.
  • Groundwork with no visible change: the shared UI components every Bento app
    will draw from (menu, side panel, dialog, tooltip, toggle), and — from Johan
    Høgåsen-Hallesby (#423) — a build that runs its own release channel and
    relay can now configure both without patching the kernel.

Don't miss a new bento release

NewReleases is sending notifications on new releases.