Repository navigation
v0.4.5
Added
- Quality check (command and editor): on every slide, warn when text goes off a slide without
.body(textOffSlide), when text boxes overlap each other or the cover's top band (textOverlap; on a cover or section divider the finding names the allowed children and where a subtitle goes), and when a short word in a table cell breaks across lines (cellWordBreak). All are R-fit warnings (backlog #64, #65). npm run sheet -- <deck folder | deck.html | built.html | .ega.html> [out.png] [--mode talk] [--cols 4] [--width 640] [--tiles](tools/sheet.mjs): a contact sheet of every slide at its final step in one PNG (numbered, with the slide key when short), for looking at what the quality check cannot see (a legend with the wrong meaning, points cut at an axis edge).--tilesalso writes the 1280×720 PNG of each slide. No new dependency.skills/motion-slidesgets a step for it, and a line on leaving a margin beyond the data range when embedding plots- Exported copies (format spec §3.1,
exportedFrom): an export from a working folder (--portable,npm run portable -- pack, the editor's Export single file) records the folder's source hash in the index (no time, path or name; exports stay byte-reproducible). Editor saves keep it, except Save as new lesson (newdocId), which drops it; the editor's notice on opening such a file says edits do not reach the folder, offers Export working folder… and says when the copy was edited since export. Unpacked folders carry no marker npm run portable -- compare <file> <dir>: says by source hash whether the exported copy, the folder or both were edited since the export (nothing is merged)- Live room (draft, format extension
live): Export ▾ → Distribute with a live room… adds a room of egatari/live (Q&A for the whole lesson, polls per step) to the play-only copy;node kit/build.mjs <deck> --play-only --live room.jsondoes the same. The copy gets a CSP<meta>whoseconnect-srcis exactly the room service, anextensionsblock and the live player (kit/live.js); copies without a room are byte-identical to before. The lesson keeps the settings without the key (extensions.liveinegatari.jsonand the index); the editor connects nowhere. The endpoint must behttps:(only the development player used by the tests accepts a loopbackhttp:endpoint) - Live player: a pane outside the stage (the stage is fitted into the rest), a notice and one tap on Join before the first connection, a persistent indicator with Disconnect, polls when their step is reached, reconnects inside the window following egatari/live's close-code table (backoff for network closes, ≥ 30 s after 4423, ≥ 60 s after 4429 and 4430, at the opening time after 4425; a manual Try again after 4441), a window of at most 3 hours in the editor, and no network at all outside the window, before Join, in previews and frames, in video mode, in print and in the presenter view.
tools/test-live.mjstests it against a local server speaking the vendored protocol (vendor/egatari-live-protocol/)
Changed
- The CLI writes
.ega.htmlexports at the top of the lesson folder, named from the lesson title, and prints the path (before:out/deck.ega.html)
editor-site-v0.4.5.tar.gz sha256: 35b229c790273b397603a068fbad911185eba08957ada75d0a4ab1d5058bcded