Ocideck/CHANGELOG.md
Brenno de Winter 9827715873
Some checks are pending
CI / Format · Analyze · Test (push) Waiting to run
Add bullet subheadings and font-accurate slide auto-fit
- Bullet slides can carry an optional subheading under the title (stored as
  `## …` in the slide's subtitle, round-tripped losslessly).
- The two-bullet-column subheadings and the bullets subheading participate in
  the auto-fit so the text keeps scaling to fill the slide.
- Slide text auto-sizing now measures with the deck's own font, so the fit
  matches what is rendered and the text uses the available space instead of
  staying smaller than needed.
- Editor fields, translations (all languages), docs and tests included.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 21:48:06 +02:00

65 lines
3.5 KiB
Markdown

# Changelog
All notable changes to OciDeck are documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and the project aims to follow [Semantic Versioning](https://semver.org/).
## [Unreleased]
### Added
- **Source-code slides** — a "code sheet" with per-language syntax highlighting,
stored as a fenced code block. Background, text colour and monospace font are
part of the style profile, with a syntax-colouring toggle; turning it off renders
the block in a single colour (e.g. green on black for a CRT-terminal look). The
code is sized to fill the panel — larger when there's room, smaller for long
fragments.
- **Charts** — bar, line, pie, and **spider/radar** 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.
- Optional **min/max**: horizontal reference lines on bar/line charts, or a
fixed scale on spider/radar charts shown as a small legend beside the figure.
- **Legend hover** highlights the matching series (or pie slice). Line-chart
tooltips attach to the dot under the cursor (showing every overlapping dot),
and spider/radar points show a tooltip on hover too.
- **Custom theme colours** — every style-profile colour can be entered as a custom
hex value in addition to the presets.
- **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.json` sidecar.
- **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
- **Bullet slides** can now carry an optional **subheading** under the title; the
**two bullet columns** type can have an optional **heading above each column**,
separate from the slide title.
- Slide text auto-sizing now measures with the deck's own font, so text grows to
use the available space more accurately instead of staying smaller than needed.
- Slide transitions in the presenter no longer flash a black frame (neighbour
images are precached and `gaplessPlayback` is 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.
[Unreleased]: https://example.com/ocideck/compare/v1.0.0...HEAD
[1.0.0]: https://example.com/ocideck/releases/tag/v1.0.0