Skip to content

Releases: Richie735/obsidian-sheetsmith

0.5.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 14:57

Added

  • The layout editor's tree now shows nesting. You can collapse a container, and move a component from its menu or with the keyboard.
  • Removing a component no longer asks for confirmation; you can undo it instead.
  • Copy a component and paste it into the same layout or another one. A pasted component tells you what it depends on that the other layout lacks.
  • The editor shows where each name in a formula is defined.
  • A Record set field can appear only when a condition holds, and can sit inside the opened record rather than in the list.
  • A reset can have a condition, so it reaches only the records that match. It can also name the Record set field it writes.
  • Before a reset runs, its confirmation says how many things it will change.
  • Reordering a track's level names reports every formula, condition and reset that reads through them, and how many notes it affects.
  • A Card can show a computed value alongside the dropdown.
  • Prose fields close brackets as you type and continue a list when you press Enter.
  • A new, renamed or pasted component that picks up data a removed component left behind now says so, and says how many notes already hold it.
  • A Rich text section refuses a sheet block inside it, and a picture section refuses more than one line.
  • A layout the editor can't save is kept rather than lost, and the pane says why.

Fixed

  • A Track keeps its stored value when its run is shortened, and draws the part that runs past the end.
  • Track rows: names are easier to read, fields are easier to click, and a clipped stat note is cut off with an ellipsis and shown in full on hover.
  • Holding the pointer over a picture shows its reference.
  • A Tab set's tabs appear in the tree in the same order as its strip.
  • Moving a component in the tree follows the order the tree shows. A refused move says why and names the container that would nest too deep.
  • A move into a container that was just emptied now saves.
  • A canvas block takes focus when you release the press on it.
  • A formula reset asks for its expression before it is written.
  • A component's label is checked for duplicates against every component in the layout.

0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 15:47

Added

  • You add a component by picking it from a list that describes each one and previews it with an example.
  • Layouts can be saved as .sheetsmith files, which show in the file explorer and open in the layout editor. Existing JSON layouts still load and can be converted.
  • When you rename or move a layout file, a notice tells you how many character notes still use the old name.
  • A layout can choose values to copy into each character note's properties, where searches and other plugins can read them.
  • A character can add rows of their own to a Track.
  • When a modifier changes a Track's length, the Track shows which boxes were added or taken away and which modifier did it.
  • One modifier definition can make several changes.
  • A Record set can show its field names once, as column headings, with every record's fields lined up underneath.
  • In a column whose heading is hidden, a level ring's tooltip now gives the column's name.

Fixed

  • A Pool or Track whose maximum a modifier raises now shows the same maximum that formulas use.
  • A value like 3 / 4 keeps its spacing when its first number is entered.
  • A Track with no length shows as empty instead of broken.

Known issue

  • On iPhone and iPad before iOS 18, Record set column headings aren't shown, and the list appears without them.

0.3.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 09:23

Added

  • The layout editor suggests names while you write a formula, and each component's panel lists the names it publishes for other formulas to use.
  • Roster, a new component that holds a set of stats along with the rows that hang off each one, and can draw one card per stat with a divider between its rows.
  • A picture's fit can be chosen, and the vault's files are suggested while you type a picture's path.
  • A Passport field can hold several values, drawn and edited as one control per part.
  • An entries field can offer a checkbox on each entry.
  • A Track row's length belongs to the character, who can add and remove rows themselves. A row set's add and remove controls are now one picker each.
  • Renaming a component's label, or a key it stores data under, carries the rename across every character note that uses the layout, leaving the rest of each note byte for byte unchanged.
  • The grid is drawn behind a component while you drag or resize it.
  • A whole row in the layout editor's tree answers a press, not only its name.

Fixed

  • Every column of a sheet gets an equal share of the width, including a column the layout never declared, and a typed grid position is held to the columns the layout actually has.
  • A Roster's cards wrap across the width instead of stacking into a single column.
  • A tall card centres its value between its label and its note.
  • The layout editor and the sheet both stay scrolled where you left them, the sheet even across a committed edit.
  • An edit still in progress when a sheet reloads is left for Obsidian to merge rather than discarded, and an edit typed seconds before a rename is migrated with the rest.
  • Sheetsmith now tells you when a layout could not be saved instead of failing silently.
  • A row in the layout editor's tree no longer picks up the app's own button styling.

0.2.0

Choose a tag to compare

@Richie735 Richie735 released this 11 Sep 13:24

Sheetsmith 0.2.0 is about getting started — making a character, and making a layout.

A command creates a character: pick one of the vault's layouts and the note is written for you, into a folder you choose on the settings tab. A sheet whose layout has gone missing now offers to point at another one instead of failing.

Layouts gained three ways to start: a blank grid, a copy of one you already have, or pasted JSON. The open layout copies to the clipboard as JSON, so a layout can leave the vault and come back.

Formula fields now say what is wrong with an expression while you type it, including a formula cell inside a list, and a reset trigger that will not parse says what it was missing and what it found instead. A modifier stored under a name the list refuses is marked rather than kept in silence.

No character or layout file changes format.

0.1.1

Choose a tag to compare

@github-actions github-actions released this 06 Sep 20:50

Sheetsmith 0.1.1 answers Obsidian's plugin review.

Elements are built through the app's own helpers, the layout writer appends under the vault's atomic lock, and the stylesheet no longer uses !important.

The layout editor's undo and redo commands changed id and no longer ship default hotkeys. Bind them under Settings → Hotkeys if you want them. If you bound a hotkey to either command in 0.1.0, that binding is lost and needs setting again.

The plugin description no longer claims a drag gesture that is not shipped. No character or layout file changes format.

0.1.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 16:27

Sheetsmith 0.1.0 is the first installable release. It has the file model, the sheet view and ten components: Card, Card set, Pool, Track, Table, Group, Tab set, Rich text, Image and Record set. It also has the formula engine, a per-layout function library, row aggregates, typed modifiers with definitions and provenance, reset triggers, and the layout editor pane with its tree, configuration panel, undo, live grid canvas and sample-value preview. Three starter layouts ship inside the plugin, reachable from the command palette.

The plugin is not in the community plugin list yet, so it installs through BRAT as the beta plugin Richie735/obsidian-sheetsmith, on Obsidian 1.9.0 or newer.

Keep your characters in a throwaway vault for now. The plugin rewrites note bodies, and the parser has little mileage outside the author's own vaults.