Documentation & licensing: - Add the EUPL-1.2 licence (LICENSE.md) and set the project licence; refresh the README (name origin wink, updated feature list, documentation index). - Add CONTRIBUTING, SECURITY, CODE_OF_CONDUCT, CHANGELOG, AUTHORS, and THIRD_PARTY_NOTICES, plus docs/ (ARCHITECTURE, BUILD, USER_GUIDE, SHORTCUTS, LICENSE_COMPLIANCE) and .github/ (CI workflow, issue/PR templates). - Bring docs/FILE_FORMAT.md in line with current behaviour (code & chart slides, per-slide TLP comment, annotation .ink.json sidecar, chart data/ CSVs). Open-source compliance: - Add tool/check_licenses.dart and a `make licenses` target (wired into check-full and CI) that verifies every resolved dependency uses a recognised open-source licence. A scan of all 151 packages and bundled assets found only OSI-approved licences. Charts (Fase 1.1): - Replace the chart CSV textarea with an in-app editable data grid (editable series/labels/values, add/remove row & column, read-only when linked). - Centralize the linked-CSV directory name (`data/`) in a shared constant. Also normalize formatting repo-wide with `dart format` and fix one curly-braces lint, so `make check` and CI are green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Changelog
All notable changes to OciDeck are documented in this file.
The format is based on Keep a Changelog, and the project aims to follow Semantic Versioning.
Unreleased
Added
- Source-code slides — a dark "code sheet" with per-language syntax highlighting, stored as a fenced code block.
- Charts — bar, line, and pie chart slides. Data is entered in an in-app grid
or imported from CSV; the spec is stored as JSON in a ```chart block. Data can
stay inline or be linked to a CSV in a separate
data/directory. Rendered natively in-app (preview, presenter, PDF, PPTX) and as self-contained SVG in the HTML export. - Per-slide TLP classification — each slide can carry its own Traffic Light Protocol level; slides classified stricter than the level the deck is shown at are withheld when presenting and exporting.
- Dual-screen presenter — on a second display the beamer shows the slide while the laptop shows the presenter view (current/next slide, notes, timer), kept in sync over method channels.
- Annotation layer — draw on slides while presenting (pen, highlighter,
eraser, laser pointer). Kept fully separate from the Marp Markdown, mirrored
live to the beamer, and persisted in a
<name>.ink.jsonsidecar. - App theming — customizable app appearance profiles, including a dark interface.
- Project documentation: contributing guide, security policy, architecture and build notes, user guide, keyboard-shortcut reference, third-party notices, and the EUPL-1.2 licence text.
Changed
- Slide transitions in the presenter no longer flash a black frame (neighbour
images are precached and
gaplessPlaybackis enabled) — important for recording.
1.0.0
Added
- Initial release: structured, slide-by-slide editor for Marp presentations with typed slide templates, live preview, fullscreen presenter, deck-wide TLP marking, media handling, import, and export to Marp Markdown, PDF, PPTX, and self-contained HTML. Decks save as a self-contained project/package with copied assets. Localized in Dutch, English, Italian, German, French, Spanish, Frisian, and Papiamento.