v1.6.0 — Richer editing primitives (ODT)
Structural editing for ODT (ROADMAP Track D, item 4), benchmarked against the docx skill's formatting-preserving edits. The skill could replace text and add inline apparatus but could not restructure an existing document — four new scripts close that.
Added
restyle.py— bulk-settext:style-nameon paragraphs and headings matching--current-style,--headings/--paragraphs, and/or--level.insert_blocks.py— splice a block fragment into a document. The fragment is a JSONblocksarray (the same formatcreate_minimal_odtconsumes); position via--after-anchor/--before-anchor/--at-paragraph/--at start|end.delete_block.py— remove a whole block (paragraph, heading, list, or table) by anchor text or index.edit_table.py— edit a table by name:--add-row,--add-column,--delete-row,--delete-column,--set-cell; expands repeated-cell/row shorthands first.
Changed
create_minimal_odt.pyexposes a sharedbuild_blockdispatch, reused byinsert_blocks.py.
See CHANGELOG.md.