Releases: excelano/odox
Release list
odox 0.4.0
- 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
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-alignsays 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
Changed
- The
odoxpackage depends on the three viewers rather than recommending
them, soapt install odoxinstalls the suite. Recommending them installed
them on a default Debian and not on one withAPT::Install-Recommendsoff,
and a launcher whose viewers are absent can only apologise.
odox 0.2.0
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
odoxlauncher, 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.--whichnames the viewer
and launches nothing. On crates.io; in no Debian package yet.
odox 0.1.0
First release. Three viewers, no editing.
Added
xodt,xodsandxodp: viewers for OpenDocument text documents,
spreadsheets and presentations, over one shared library and one shared window.
xodtdraws a document at the width its page layout asks for, with an outline
beside it;xodsdraws 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;
xodpdraws 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
.pocatalogue for the suite, the extraction
and pseudolocale scripts, and a pseudolocale compiled into debug builds alone.
No translation ships yet.