Skip to content

Releases: excelano/odox

odox 0.4.0

Choose a tag to compare

@anderix anderix released this 23 Sep 17:23
  • Refresh dependencies and write real release notes for 0.4.0
  • Catch macOS and Windows packaging up to editing: Editor, not Viewer
  • Ship msix and appstore, now that ship supports three products from one repo
  • No drag and drop
  • The README says where a drop on the window works
  • The words say editor
  • A paragraph is edited where it sits
  • A shape is moved by hand
  • A cell is edited in place
  • An edit changes one subtree and nothing beside it
  • Save, before anything can edit
  • The application icon is the glyph alone
  • The generated files say which template wrote them
  • Package versions stop coming from Dependabot
  • Dependabot merges move to the organisation's sweep
  • Take the generated screenshot files ship rewrote
  • Render through wgpu, which is eframe's default and the fleet's
  • The reference frame is taken in the state the set is measured in
  • Follow upload-artifact to v7 on the Apple silicon lane
  • An executable that starts and stops says its exit code and what it printed
  • ship sync: a missing window says which of three things happened
  • The runner takes the store screenshots, and the step is the org's
  • The packaging scripts parse, and the step is the org's
  • ship sync: the zoom pair, by name
  • The screenshot driver is ship's, and the frames are recipes
  • UserChoice is Explorer's to write, and still ours to remove
  • The install check is excelano/.github's
  • Re-run the Windows lane against the corrected action
  • The Store packaging comes from excelano/.github
  • The publisher is a secret, so the log does not carry it
  • The identity splits on what is actually an account's
  • Say what is true rather than pointing at a deleted document
  • Count the applications, not a key that no longer exists
  • Package all three applications
  • Assemble the Store package on the runner, and attach it on the release
  • The profile is targets and names
  • Dependabot: monthly, grouped, merged when every run on the commit is green
  • Prose to present tense; the checklist goes
  • Delete the changelog and the preflight script: ship does both
  • Delete the release document: ship is the procedure

odox 0.3.0

Choose a tag to compare

@anderix anderix released this 15 Sep 02:53

Five gaps in the slide renderer, a crash a drag-and-drop away on every platform,
and the groundwork for Windows and macOS.

The renderer gaps were found by comparing what odox draws against what
LibreOffice draws from the same file. Across the twelve slides of
growing-liberty.odp it now paints 98.7% of each the same colour on average and
97.1% at worst, where three of the twelve were under 93% and the worst was 82%.

Added

  • draw:path, which states a shape's outline as SVG path data rather than in
    ODF's own commands. It flattens through the same pen the custom shapes use,
    so a path fills, strokes and holds text the way every other shape does. An
    elliptical arc inside one is drawn as the straight line to where it ends.

  • draw:connector, whose route between the two shapes it joins the producer
    has already worked out and written beside the endpoints. Where it wrote none,
    the straight line between them is the whole shape.

  • A shape's label, which is paragraphs of the shape's own rather than a
    draw:text-box. draw:textarea-vertical-align says where between the top and
    the bottom edge it sits, so the numeral in a circle is in the middle of it.

  • draw:transform, which is how a shape that is turned or leaned says where it
    is. Such a shape gives no corner, so until now it was dropped without a trace:
    137 shapes across ten of the templates, most of them the decoration a template
    is recognised by. A turned rectangle draws as a quadrilateral, a turned ellipse
    as a polygon, and a turned picture as its own four corners. A turned shape's
    label is left undrawn.

  • The window's icon on Windows, and the document macOS sends instead of an
    argument. Neither platform ships yet: the packaging for both is built and the
    part that needs each machine is not. Both are exercised on every push by a
    runner, which is how the crash below was found.

Fixed

  • Opening a document could abort the process. A document names font
    families, registering them takes effect at the start of the next frame, and
    the document was being drawn in the frame that opened it, so it asked for a
    family the definitions in force did not carry. egui does not fall back for
    that. Every way of opening a document but one goes through a frame: a drop,
    Ctrl+O, Reload. The exception is the path on the command line, which is why
    this survived every screenshot taken of it.
  • A frame whose picture is stated more than once — an SVG and then a PNG of the
    same drawing, which is how the templates carry their decorations — drew the
    first child and nothing else. It now takes the first one that decodes.

odox 0.2.1

Choose a tag to compare

@anderix anderix released this 14 Sep 17:13

Changed

  • The odox package depends on the three viewers rather than recommending
    them, so apt install odox installs the suite. Recommending them installed
    them on a default Debian and not on one with APT::Install-Recommends off,
    and a launcher whose viewers are absent can only apologise.

odox 0.2.0

Choose a tag to compare

@anderix anderix released this 14 Sep 16:37

The presentation viewer draws slides rather than listing their text, the page
can be selected and copied from, and the window speaks German.

Added

  • A slide is drawn with its master page: the ground it fills, and the shapes a
    template decorates every slide with. Rectangles, ellipses, polygons, polylines,
    lines and custom shapes are drawn from their own geometry, with solid,
    gradient and stretched-picture fills.
  • draw:enhanced-geometry, which is how a custom shape states its outline: a
    path in a coordinate space of its own, with numbers that may be formulas.
  • Text in the page can be selected and copied: drag, double-click a word,
    triple-click a line, Ctrl+C. A selection survives scrolling and spans
    paragraphs.
  • German. The window draws in the desktop's language, and the desktop entries
    carry it too.
  • A Debian package for the odox launcher, which until now was on crates.io
    and in no package. It depends on neither the window libraries nor the viewers:
    it draws nothing, and it recommends the three rather than requiring them.
  • odox, a launcher: it takes a file, works out which of the three viewers
    reads it, and becomes that one. The extension answers first and the package's
    own media type answers where the extension cannot. --which names the viewer
    and launches nothing. On crates.io; in no Debian package yet.

odox 0.1.0

Choose a tag to compare

@anderix anderix released this 11 Sep 21:28

First release. Three viewers, no editing.

Added

  • xodt, xods and xodp: viewers for OpenDocument text documents,
    spreadsheets and presentations, over one shared library and one shared window.
    xodt draws a document at the width its page layout asks for, with an outline
    beside it; xods draws a sheet as a grid with the document's own widths and
    cell styles, one tab per sheet, and the formula behind the cell you pick;
    xodp draws each slide at the size the document sets, with the speaker's
    notes. Presentation shapes that are not text or a picture are outlined rather
    than drawn, and a master page contributes neither its background nor its
    placeholder geometry — both are the next release's.
  • odox-core, which reads and writes an OpenDocument package and keeps every
    part of a document it was given, including the parts it has no opinion about.
    That is what makes the round trip measurable, and it is measured over a corpus
    of documents LibreOffice wrote.
  • odox-ui, which maps ODF styles onto what egui draws with and renders the
    content model the three formats share.
  • A Debian package per application, desktop entries, icons and man pages.
  • The release machinery: the fleet's Rust CI, a workflow that builds the six
    packages on a runner of each architecture and attaches them to the release,
    and a workflow that publishes the five crates in dependency order.
  • The translation mechanism: one .po catalogue for the suite, the extraction
    and pseudolocale scripts, and a pseudolocale compiled into debug builds alone.
    No translation ships yet.