> For the complete documentation index, see [llms.txt](https://docs.tempoweave.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tempoweave.com/installation-and-licensing/release-notes.md).

# Release Notes

## TempoWeave Studio v26.614.1

### New Features

* **Deflected Double Weave generator.** A new entry under **Common Weaves → Block Weaves** parameterized for 2/4/6/8 blocks (using the Madelyn van der Hoogt template from *Handwoven* Jan/Feb 2007). Independent threads-per-block and picks-per-block, plus dark/light palette pickers. Also selectable from the **Color & Weave Explorer**'s Weave Structure dropdown, where it pairs with the new dynamic color slots for per-block coloring.
* **Section Assembly: Mirror.** Right-click any entry in the Warp, Weft, or Color Assembly tree to **Toggle Mirror** or **Insert Mirrored Copy Below**. Mirrored entries emit their threads/picks in reverse at apply time so you can collapse symmetric border patterns (e.g. Davison's *Squares with Borders* like Norse Kitchen) to a single Selvage/Border/Corner Block + a mirrored reference. Groups mirror recursively (visit children in reverse, XOR each child's mirror flag) with universal pivot suppression — the last child of a mirrored group is treated as the fold line and appears once, not twice. A ↔ icon and "(mirrored)" suffix on each row makes mirrored entries scan at a glance. Round-trips cleanly through TWA save/load; older app versions read newer TWAs without issue (mirror flag silently dropped).
* **Block Substitution: Edit Template WIF (✎) + Reset to Bundled (↺).** Two new buttons in the Edit Templates dialog. ✎ opens the selected template's WIF in a new tab so you can tweak threading/treadling/tieup directly — no more hunting for the hidden `_blocktemplates` folder (especially valuable on macOS where Application Support folder is invisible). The ↺ button restores a bundled template's WIF from the version that shipped with the app; auto-hidden for user-added templates.
* **Block Substitution: 5 new weave types.** Bateman, Crackle, 3 Tie, 4 Tie, and Diversified Plain join the existing Bronson / Huck / Overshot / Summer & Winter / etc. categorization in the template editor. Asked for by weavers in the international Complex Weavers community.
* **Block Substitution Authoring Guide.** New `docs/block-substitution-authoring-guide.md` — a deep-dive companion to the user-facing guide. 10 sections + a copy-pasteable minimal template skeleton: where templates live per-platform, anatomy of a template WIF (with the private `*WarpPattern` / `*TieShafts` markers), anatomy of a catalog row, flag-by-flag output-sizing math (`PatWarpStep`, `PatWarpWrap`, `WeftBackground`, Huck A/B/C/D), edit-bundled and build-new walkthroughs, the catalog of every bundled template, and a troubleshooting playbook.
* **Warp / Weft header selection: auto-scroll past edges + Shift+click extend.** Drag a selection past the visible warp or weft header edge and the canvas scrolls to follow, letting the selection grow into off-screen threads/picks. Shift+click extends an existing selection to the clicked point — standard macOS conventions. Shift while dragging still inverts Full ↔ Region selection mode.
* **Tab right-click: Reveal in Finder / Show in Explorer / Open Containing Folder.** A new entry under Duplicate in the document tab's right-click menu jumps to the file in your system file manager — `open -R` on macOS, `explorer /select,` on Windows, `xdg-open` on the containing directory on Linux. Disabled for unsaved or preview tabs.
* **Reveal Folder for Block Substitution templates.** The Block Substitution panel's existing folder-open behavior — gets you to the user-writable templates folder on each platform so you can drop WIFs in by hand if you prefer.
* **Weft Style: Alpha (A–Z by treadle).** Alpha joins Block, Numeric, and Color in the Weft Style ribbon group — same letter convention the Warp Style group has had. Print Threading, Treadling, and Tie-Up documents honor the new Alpha setting in their printed output.&#x20;
* **Default Selection Mode: independent settings for Warp/Weft vs Tie-up.** Settings now has two separate Region/Full radio groups in the same box, one for the warp/weft headers and one for the tie-up — so you can run Warp/Weft as Full while keeping Tie-up as Region (or vice versa). Tie-up Full uses drag-direction lock: first axis of pointer movement after the click picks whether you're selecting a full treadle column or a full shaft row.

### Improvements

* **Common Weaves dialog defaults to 300×300 warp threads / weft picks** regardless of the current canvas, so structures generate at a generous preview size instead of being cramped by a small starter draft.
* **Color & Weave Explorer: dynamic color slots (+/− buttons).** Click **+ Color** to add a slot (up to 8 total — enough for an 8-block DDW). Each slot row gets a **−** to remove (minimum 2 slots stays). Both the slot ComboBox in the warp/weft sequence rows and the shorthand parser pick up newly-added slots; the **Random colors** button assigns palette colors to every active slot. Picking a different preset still resets to that preset's default slot list, so weavers don't accidentally inherit slots from a prior session.
* **Color & Weave Explorer: dropdowns sorted alphabetically.** The Preset dropdown sorts A→Z with **None** pinned at the top; the Weave Structure dropdown sorts the same way with **Current Project** pinned at the top.
* **Color & Weave Explorer: project-size–aware previews and apply.** The dialog now reads the actual threaded extent (via `GetActualWarpThreads()` / `GetActualWeftPicks()`) instead of the high-water marks (which inflate to 500/1000 for scrolling padding). Empty drafts fall back to 300×300. Apply now respects the dialog's target size so applying to a small starter project doesn't silently inflate it to the padded extent.
* **Section Assembly panel: Name column resizable + persistent.** The Name column was Star-width, so every Refresh / Move Up / Delete / etc. snapped it back to fill remaining space, ignoring drag-resizes. Now a regular pixel column (default 200 px) you can resize like the other columns; widths survive refreshes and app restarts.
* **Section Assembly: multi-duplicate via End thread + Delete key.** Duplicate Section now accepts a number of consecutive copies via the End thread field, and the Delete key removes a selected available section. The auto-`(copy)` suffix is gone — the prefilled name stays editable from the original.
* **Window auto-fit on macOS / multi-monitor: View Fabric / Cloth Simulation / 3D Weave.** All three windows now clamp to the screen the weaver is on, with a \~60 px chrome reserve so the title bar never overhangs the menu bar. Multiple weavers reported the View Fabric top edge sliding off-screen on smaller displays.
* **Selection Mode Full Shaft / Treadle selection paints on press, not on first drag.** Full mode used to render a 1-cell flash and only expand to the full band on the first move event. Click now paints the full row/column immediately. The tie-up gained Full-mode support too, with drag-direction lock — first axis of movement picks a row (full shaft) vs column (full treadle).
* **Header canvases skip the hover tooltip during a drag** so the section lookup doesn't visibly slow down selection on projects with many marked sections.
* **Block Substitution panel: horizontal scrollbar no longer hides the last row.** macOS overlay scrollbars now reserve their own row instead of floating on top of the bottom entry.
* **Block Substitution Type field: store the canonical locale key, not the rendered label.** Editing a template in one language and reopening in another no longer breaks the Type dropdown.
* **Block Substitution: smaller drafts supported.** Project Settings shafts/treadles minimum lowered from 2 to 1 so template WIFs with a single shaft/treadle can be authored. The drawdown's display floor also drops to 1 so a 1-shaft project doesn't render 2.
* **Block Substitution: smarter output sizing.** The generator now uses the *used* profile shafts/treadles instead of the canvas's configured `actualShafts/actualTreadles`, so headroom in the profile doesn't multiply through as empty padding.
* **Block Substitution: Reveal Folder + Quigley Diamond / Quigley Point templates** added to the bundled set. The new `sync-bundled-templates.sh` script promotes templates added or edited in-app from the per-user folder into the source tree's bundled folder so they reach published builds.
* **Sleying Guide: section-aware row splits.** Sections that span density boundaries now show the right per-section counts in the print output. (#264)
* **Save: treat OS-temp-dir-backed docs as untitled.** Block Substitution Apply (and similar preview flows) was creating documents backed by a temp-file path; Save was honoring that path silently, dropping the file into `/var/folders/...`. Save on those tabs now routes through Save As so weavers pick a real location.
* **Weft Style ribbon group: 2-column grid stays 3 rows tall** so adding Alpha didn't make the group push neighbors around.

### Bug Fixes

* **Block Substitution: generated draft now preserves palette names and variegation.** The generator was copying RGB values but losing color names, yarn line, yarn thickness, sett data, and variegation profiles. The output WIF now includes those private metadata sections too.&#x20;
* **Mirror Selection / Mirror All (warp + weft): drop the duplicated pivot.** A,B,C now produces A,B,C,B,A as the docs always said — the previous code was emitting A,B,C,C,B,A.
* **Color picker palette identity preserved on hex edit.** Typing a hex that matches the currently-selected color no longer collapses it back to a custom-color entry. (#268)
* **Section Assembly: assembly tree column widths preserved through edits** when one column briefly reports an unmeasured ActualWidth — the capture used to bail on the whole row and fall back to defaults.

## TempoWeave Studio v26.606.1

### New Features

* **Section Assembly: Duplicate Section.** A new **Duplicate Section…** entry on the Available Sections right-click menu opens the Section Editor prefilled from the selected section. Change the starting thread; the ending thread auto-tracks so the new section keeps the source's thread count. Edit the ending thread directly to override the auto-track and shape the duplicate to a different size. The source's variable-density override and notes are copied to the new section. Faster than copy/paste-ing a thread range on the canvas when you need another section of the same length elsewhere.
* **Export to WIF (separate from Export to TT).** The Export backstage panel now offers two distinct entries. **Export to TT** is unchanged — it produces a WIF tailored for the TempoTreadle device (17-character filename cap, lines longer than 78 characters stripped, plus the `.TTC`, `.ini`, and `.bmp` companion files the device needs). The new **Export to WIF** writes a plain WIF for handing off to other weaving software — no filename limit, no line filtering, no companion files. Pick the one that matches the receiving program.

### Improvements

* **`.twa` (TempoWeave file format) is now the main project file in every dialog and toast.** Save As asks for "TempoWeave Project (\*.twa)"; Open prefers `.twa` (with `.wif` still available as a secondary filter); the post-save toast reads "Saved MyDraft.twa". By default, the companion `.wif` sidecar is still created and controlled by **Settings → Application → Write companion .wif file when saving** and remains the right choice when you regularly hand off `.wif` files to other software.
* **Section Marker hover combines thread and section info in one tooltip.** When **Show Section Highlights** is on and you hover a thread inside a marked section, the tooltip shows the thread/color info AND a "Section: name / Location: start–end / Threads: N" block in the same tip — previously the section info replaced the thread info, or didn't appear at all if the Section Marker tool toggle was off. The Show Section Highlights checkbox is now the sole gate; the marker tool toggle no longer affects the tooltip.
* **Variable Density (cram-and-dent) feature documented.** The per-section EPI/PPI override has been shipping for some time but only appeared in the WIF spec and release notes. The Section Markers guide now has a dedicated section explaining how to enable it, the higher-index-wins overlap rule, how it changes View Fabric / Cloth Simulation rendering, and the Calculated EPI/PPI display in Project Info. Cross-references added in the View Fabric, Cloth Simulation, and Project Information guides.
* **Krokbragd Designer: Add Row, used-colors list, and toolbar lifted out of the scroll pane.** They stay visible no matter how many rows you scroll through. Closing the designer with unsaved changes now marks the doc modified so you don't lose work. (#260, #261)
* **Weave Assistant ribbon polish.** New shuttle and threading-hook icons; the group's buttons are sized so they no longer clip on narrower windows; Help re-homed to a more natural position in the group.
* **Variable Density (cram-and-dent) feature documented.** The per-section EPI/PPI override has been shipping for some time but only appeared in the WIF spec and release notes. The Section Markers guide now has a dedicated section explaining how to enable it, the higher-index-wins overlap rule, how it changes View Fabric / Cloth Simulation rendering, and the Calculated EPI/PPI display in Project Info. Cross-references added in the View Fabric, Cloth Simulation, and Project Information guides.
* **More strings translated to Spanish, German, and French.** Save / Open / Export dialog titles and toasts, the section-hover tooltip labels, and the Duplicate Section flow now go through the localization system instead of being hardcoded English.

### Bug Fixes

* **Turn Draft + Save no longer loses the turned draft when the companion `.wif` setting is off.** *This was only an issue if the weaver chose to not create WF files during save.* Previously the `.twa` was bundled by reading whatever `.wif` was on disk — which for Save still contained the original unturned draft, and for Save As didn't exist at all (producing a `.twa` with no main WIF entry and a blank draft on reopen). The bundle now serializes the live in-memory state to a temp file before zipping, independent of the companion-`.wif` setting.
* **Cloud upload (Share Pattern, Add to Repository, Upload Current to Cloud) now flushes unsaved edits before uploading.** Previously these uploaded whatever was on disk at the tab's saved path, so any in-memory edits since the last save were silently dropped from the uploaded copy. The upload flow now saves first (prompting Save As if the file is untitled), then uploads. Cancel the save and the upload also aborts.
* **Option to supress `.wif` files appearing next to opened `.twa` projects.** With companion-`.wif` off, opening a `.twa` used to plant a `.wif` sidecar in the project folder anyway (the open-time extraction wrote there before loading). The embedded WIF is now extracted to a temp path, loaded, and deleted — your folder stays clean.
* **Paste: cursor position honored on a second paste.** A second paste after an intervening click was using the stale earlier selection instead of the cursor's current position. Paste now honors the most recent click. (#262)
* **Fill Weft dialog no longer crashes** with a `TargetInvocationException` on certain combinations of starting pick and direction.
* **Weft grid-overlay rendering corrected in the Bottom-to-Top draft style.** Grid lines were drawn against the wrong baseline so they didn't line up with cell boundaries; they're now aligned correctly.
* **Krokbragd Designer: Cloth Type set to Weft Faced on generate.** Drafts generated by the designer now have Cloth Type pre-set to Weft Faced, matching the actual structure they produce. (#258)

## TempoWeave Studio v26.601.1

### Improvements

* **Krokbragd Designer: insert a row anywhere in the sequence.** A new `+` button next to each row's delete `✕` inserts a fresh row directly above the current one, inheriting the active palette color and the current Default Repeats value. The end-of-list `+ Add Row` button still appends as before.
* **Krokbragd Designer: row-repeat field supports up to 999 picks.** The repeat NumericUpDown now accepts values 1–999 (was 1–100) and is sized for three digits visible alongside the up/down chevrons.
* **Krokbragd Designer: Default Repeats no longer follows row edits.** Changing any individual row's repeat count leaves the per-design Default Repeats field alone; it only updates when you edit that field directly.&#x20;
* **Krokbragd Designer: Custom Color button removed; hex input hidden in the row-swatch picker.** Designing krokbragd now consumes colors from the project palette only — to add a new color, drop it into the project palette first (Yarn Catalog / palette editor) and then open the designer. (#255)
* **Krokbragd Designer: delete-row button shows a hover tooltip.** "Delete this row" appears on hover, matching the new insert-above button.
* **Krokbragd Designer: more breathing room between row controls and the palette.** A 10 px right margin on the row's `✕` button so it no longer touches the palette swatches.

### Bug Fixes

* **Hover over warp / weft threads now works again.**  The thread color / yarn-line tooltip used to fire only when hovering the narrow 16 px color strip; hovering the threading grid below it showed nothing. Hover now fires anywhere on the warp / weft header (except the ruler, which keeps its own thickness tooltip). The section-hover tooltip still overlays for sections, and switching off a section no longer clobbers the thread tip.
* **Section Marker selection indicator no longer shifts the drawdown.** During a section-marker drag the status display showed "{N} threads" / "{N} picks", which at low treadle counts was wide enough to push the drawdown sideways as the number grew. The suffix is dropped; just the number now.
* **Project ribbon → Cloth Type: "Show in Drawdown" checkbox removed.** Faced rendering already follows the cloth-type selection automatically, so the toggle was redundant. The three radio buttons (Normal / Warp Faced / Weft Faced) now stack cleanly in a vertical group.

## TempoWeave Studio v26.531.1

### New Features

* **Krokbragd Designer.** A dedicated surface designer for traditional three-shaft weft-faced krokbragd, in the Design ribbon's Weave Explorer group. Build the cloth pattern row-by-row from a yarn-aware palette, see the surface render live as you paint, then click **Generate Draft** to produce a fully wired draft (threading, treadling, tie-up, colors) in a new tab. Highlights:
  * **Four traditional threading variants** to choose from — 1-2-3-2, 1-2-3, 1-2-3-2-1-2, and 1-2-3-1-2-3-2-1-3-2 — each with a preview image. The tie-up is generated for you.
  * **Rising / Sinking shed** toggle that flows through to the generated draft, View Cloth, and the Cloth Simulator so the cloth looks right on every loom.
  * **Per-row pick repeats**, click-to-paint per-pick color editing, custom-color picker, and a live "In this design" strip showing exactly which palette entries are in use.
  * **Click an empty cell** in the cloth surface to add a new row inline; new rows default to the last color you used so building runs of the same color stays quick.
  * **Undo / Redo** for every stroke, color pick, row repeat, row add / delete, threading change, and shed toggle, with Ctrl-Z and Ctrl-Y / Ctrl-Shift-Z shortcuts.
  * **Settings strip across the top of the window** (threading, shed, warp units, default picks, zoom, grid) keeps "In this design", Rows, and the Palette as the main working surface — Rows on the left, narrow palette beside them on the right, mirroring the drawdown layout.
  * **Round-trip persistence inside the TWA** — reopening a krokbragd-generated draft lets you click **Edit Design** to keep editing the original surface rather than the underlying draft.
  * **Localized labels** in English, French, German, and Spanish.
* **Color Weave Explorer: shorthand sequences.** Type a color sequence directly (e.g. `aabbc`) instead of clicking through the row editor; the rows update in sync, and a Random button gives you a fresh shorthand to start from. A separate Randomize Colors button reshuffles the slot colors from your active palette without touching the sequence.
* **Section Assembly: double-click to rename.** Double-click any group, section, or color row in the four assembly trees to open the edit dialog directly — no more right-click then Edit round-trip. Clicking **+ Group** now also pops the rename dialog immediately on the new group with the placeholder pre-selected, so you can just type the real name.
* **Status-bar zoom slider.** A draggable zoom slider with `[−]` / `[+]` buttons and a clickable percentage now lives in the bottom status bar, so you can scrub the zoom level continuously instead of tapping Cmd-+ / Cmd-− one step at a time. Click the percentage to reset to 100%. The slider stays in sync with keyboard shortcuts, ribbon buttons, and Cmd-scroll-wheel zoom — adjust the zoom in any of those ways and the slider follows. (Cmd / Ctrl + scroll-wheel zoom has always worked, but is more discoverable now that the slider is on screen.)
* **Paste Overlay (multi-treadle and liftplan).** A second paste button next to **Paste** on the Home ribbon. In multi-treadle or liftplan drafts, Paste Overlay OR-merges the clipboard's treadle / shaft bits into the destination instead of overwriting, so existing picks keep their bits and the clipboard's bits get added on top. Existing pick colors and thicknesses are left untouched. Outside of multi-treadle / liftplan (and for Warp / Tie-Up / Drawdown pastes), Paste Overlay acts exactly like Paste — the button just works wherever you click it.
* **Optional companion-.wif write + foreign PRIVATE-section preservation.** A new checkbox in **Settings → Application** — **"Write companion .wif file when saving"** (default ON) — lets you turn off the automatic .wif emission that runs alongside every .twa save. Useful when the .wif is the input to another weaving program whose own PRIVATE sections you don't want overwritten. The .twa always contains the current WIF inside it, so turning the toggle off only affects the loose .wif on disk. Separately, every `[PRIVATE <author> …]` section authored by another program (anything not TempoWeave / TW) is now captured on import and re-emitted verbatim on save — so even with the companion-.wif toggle on, another program's PRIVATE data survives a TempoWeave round-trip.

### Improvements

* **Section Assembly: adding into a group keeps the group selected.** After **+ Color**, **+ Section**, or **+ Group** drops into a selected group, the group stays selected so the next add lands in the same place. No more re-selecting the group between every color.
* **Section Assembly: default-palette color names.** Rows in Color Assembly now show friendly names like "Gold" or "Red" for colors from the default palette, matching what the palette tooltips show, instead of "Color 18".
* **Cloth view: weft-faced rendering matches the Krokbragd Designer surface.** For drafts generated from the Krokbragd Designer, the cloth view uses a surface formula that matches the designer pixel-for-pixel — including the shaft-2 doubling on the 1-2-3-2 threading — so what you painted is what you see in the cloth simulation.
* **Status bar fits on one line again.** Labels were tightened — `Woven Length:` → `Length:`, `Warp Threads:` → `Warp:`, `Weft Picks:` → `Weft:`, `Width in Reed:` → `Reed:` — and the standalone `Zoom=N` text was removed (the slider's percentage button shows it now). Together with sized-down slider controls, the row no longer wraps to two lines on typical window widths.

### Bug Fixes

* **Clear Weft now actually clears in multi-treadle mode.** Previously the Clear command (ribbon and right-click) only zeroed the single-treadle `weftArray`, leaving the real multi-treadle bit grid (`weftMultiArray`) untouched, so the picks rendered exactly as before. Multi-treadle drafts now clear correctly. Liftplan and single-treadle modes were already working.
* **Crash: opening Yarn Catalog while Section Assembly was open.** Three tool-window panels (Yarn Catalog, Section Assembly, Block Substitution) were resetting their TreeDataGrid sources synchronously during detach, which triggered an Avalonia internal exception when the visual tree was already mid-teardown. Fixed in all three panels.
* **Section Assembly: stray edit-rectangle when switching tabs mid-edit.** Editing a Repeat or Order cell and then clicking another tab without committing left the floating edit TextBox visible over the new tab's tree. Tab changes now dismiss any active inline edit cleanly.
* **WIF: block-level Units, Spacing, and Thickness now round-trip honestly.** The public `[WARP]` / `[WEFT]` block in saved WIF files (including the `twamain.waf` inside `.twa` bundles) used to be stamped with hard-coded `Units=centimeters / Spacing=0.212 / Thickness=0.212` regardless of the project's actual sett, beat, or unit system, and was ignored on import. Both directions now reflect the real project values, so third-party tools reading our WIF (handweaving.net, custom dobby integrations, etc.) see the correct sett.
* **Sinking-shed setting was not restored when reopening a file.** The Rising / Sinking shed mode is now persisted in the WIF and correctly applied on open. Previously the saved value was being overwritten by your Settings default before you could see it.
* **Crash: closing a tab with Section Assembly open.** A TreeDataGrid lifecycle race could surface as an unobserved-task crash when closing the active tab. The panel now defers its tree rebuild until the visual tree has settled.

***

## TempoWeave Studio v26.526.1

### New Features

* **Duplicate a draft into a new tab.** Right-click any tab — or use File > Duplicate to New Tab — to open a working copy of the current draft as a fresh untitled tab, carrying its structure, colors, tie-up, Section Assembly, and Weaver's Writeup. Ideal for trying a variation without touching the original or filling your folders with half-finished files: the copy lives only in the tab until you choose to save it.
* **Section Assembly: Copy / Cut / Paste / Duplicate.** Right-click any group or section on the Warp, Weft, Warp Color, or Weft Color tab to copy, cut, paste, or duplicate it. Copy then Paste reuses a group anywhere; Cut then Paste moves it to a new spot in the tree; Duplicate makes an in-place copy. Paste drops inside the selected group (or as a sibling of a selected section), and the clipboard carries across all four tabs.

### Improvements

* **Section Assembly: auto-fitting Name column.** The Name column now expands to fill the available width, so group names — including deeply nested ones — are readable the moment you open the panel, with no manual resizing.

### Bug Fixes

* **Section Assembly: unsaved changes are now tracked.** Edits made in Section Assembly mark the draft as modified, so you get the usual save prompt before closing instead of silently losing the work.
* **Section Assembly: in some drafts, assembly data could be lost after editing a reopened draft.** A node-id collision could wipe the warp and weft assembly trees on the next save and reopen. Newly added, pasted, or duplicated entries now always receive unique ids.
* **Section Assembly: renamed groups stay groups.** A group you renamed was being treated as a plain section after a save and reopen, which threw off totals and paste behavior. Group type now survives the round-trip.
* **Section Assembly: after the previous update, duplicate root levels no longer pile up.** Opening and saving a draft repeatedly was adding an extra nested "Warp Assembly" / "Weft Assembly" level each time. The existing root is now reused.

## TempoWeave Studio v26.525.2

### New Features

* **Tie-Up Style group with Alpha and Shed views.** The View tab has a dedicated Tie-Up Style group matching the existing Warp / Weft groups, with four glyph options for marking tied shafts (#231 / #232 / #226):
  * **Block** — the original solid fill.
  * **Numeric** — shaft number in each tied cell.
  * **Alpha** — letters A–Z for shafts 1–26, useful for reading profile drafts with lettered blocks. Also available on the Warp Style group.
  * **Shed** — `O` on tied cells for rising-shed looms, `X` for sinking-shed looms, following Madelyn van der Hoogt's published convention. The glyph swaps live when you flip the Rising / Sinking shed setting.
* **Full Shaft / Treadle selection mode.** A new "Default Selection Mode" option (Settings > Default Settings) changes how dragging in the warp and weft headers selects threads. **Region** (the default) keeps the classic behavior — a rectangle bounded by the shafts or treadles you drag through. **Full Shaft / Treadle** selects *every* shaft (warp) or *every* treadle (weft) across the thread range you drag, so you only have to drag along the threads. Hold **Shift** while dragging to temporarily use the other mode for that selection. The Shift behavior is identical on macOS, Windows, and Linux. Tie-up selection is unchanged.
* **Section Notes plus Marked-Sections-only printing.** Each warp or weft Section Marker now has an optional multi-line Notes field (in the Section dialog, between Name and Variable Density Override). New "Warp Marked Sections only" / "Weft Marked Sections only" checkboxes in Page Setup (mirrored on Weaver's Writeup > Report Contents) restrict Print Threading / Print Treadling to the marked ranges and print each section's Notes as a header above its threads or picks. When no markers exist on an axis it falls back to printing everything. Stored per-document in the WIF file.
* **Section Assembly: "Use Warp Assembly" / "Use Weft Assembly" toggle.** Each Warp / Weft tab now has a per-axis checkbox next to the assembly header (#234). When unchecked, Generate uses the current draft's threading (or treadling) as-is and ignores the assembly tree for that axis — handy when you just want to keep your existing structure but apply a new Warp Color / Weft Color repeat. Default is on, so every existing draft generates exactly as before. The tree UI is hidden behind a hint message when the toggle is off; Available Sections and the status bar stay visible. Round-trips in TWA so the toggle survives save/open.
* **Section Assembly Color tabs: Order column, "+ Color" toolbar, gated body.** The two Color tabs (#227):
  * Added an editable **Order** column on the color trees, alongside the existing one on the section trees, so you can re-order entries directly in the grid.
  * The toolbar's **+ Section** button context-switches to **+ Color** on the Color tabs.
  * The "Use Color Assembly" checkbox moved to the top of each Color tab, with a hint message pointing the weaver at the right next step when the tree is empty.
* **Drag-and-drop selection: tie-up + multi-treadle weft.** Drag-and-drop now works across the tie-up matrix (move tied cells around), and the weft drag overlay shows multi-treadle target cells with proper preview. Modifier keys (Option / Cmd) toggle copy-vs-move and insert-vs-overwrite on the move.
* **WIF: spec-compliant PRIVATE sections.** TempoWeave-specific WIF sections (color names, variegation, project planning, section markers, etc.) now write as `[PRIVATE TempoWeave …]` per the WIF 1.1 standard, so loom-controller and integrator software that strips unknown sections will round-trip them. Every WIF we've ever shipped continues to load identically — the reader tries the new form first, then `[PRIVATE * …]` for files re-stamped by another tool, then the legacy bare-name form.
* **Drag-and-drop selection: copy / insert modifiers.** Hold Option (or Alt on Windows / Linux) while dragging a warp or weft selection to copy instead of move; hold Shift to insert at the destination instead of overwrite. Ghost preview during the drag shows the destination band, including remapped shafts / treadles.

### Improvements

* **Section Assembly hover tooltip.** Hovering between marked sections now refreshes the tooltip text immediately (#230) instead of getting stuck on the first section's info. The "Show Marked Sections" checkbox is also the sole control for marker visibility — turning it off hides existing markers and tooltips even with the Section Marker tool active.
* **Section Assembly: every group totals its threads, including the root.** The Warp / Weft assembly trees now show an Ends / Picks total on every group row — including the top-level group — instead of leaving parent rows blank. The two Color tabs gained a matching Threads / Picks column so color groups total too. The old per-tab status bar (which only ever counted the Available Sections list, not the assembly) has been removed.
* **Section Assembly: structure trees reorder like the color trees.** Typing a value in the Order column of the Warp / Weft assembly trees now treats it as a position: the entry moves there and its siblings renumber, so two entries can no longer end up sharing the same order. This matches how the Color tabs already behaved.
* **Warp scroll preserved across panel open/close.** Docking the Section Assembly (or any side tool window) used to make the warp appear to scroll because the viewport shrank without the right-edge thread staying anchored (#229). Closing the panel made the scroll drift even further. The warp now keeps the right-edge thread in view across viewport changes — whether you open a panel, close it, or resize the window.
* **Color Repeats: reset Start on Warp/Weft toggle.** Toggling between Warp and Weft no longer carries stale start/end values that pointed at the previous direction's threads (#225).
* **Thread thickness travels with structural moves.** When you copy / paste / drag a band of threads, the thickness values move with them. Newly-inserted threads pick up the project default thickness (#223).
* **Line Draw: equal-bars distribution.** Replaces the previous Bresenham line algorithm with an equal-bars distribution so diagonal lines land on visually-even runs (no more two-cell / three-cell alternation).
* **Metric coverage: three label fixes.** EPI/PPI labels in a few less-traveled dialogs now correctly say EPCM/PPCM in metric mode.
* **Create Double Cloth: helper text + docs.** The Folded Cloth helper text on the Create Double Cloth dialog now spells out the four-pick TBBT cycle and when the Alternating Shuttles option matters. The companion docs page is updated to match.

### Bug Fixes

* **Fix #235: Weft selection lands on the right column with Treadle 1 on right.** When Treadle 1 Placement was set to Right (visual layout T4 T3 T2 T1), clicking on visual position N placed the selection rectangle and active cursor at the mirror-image column. The same FlipCol mapping the cells already use is now applied to the selection rect and the cursor indicator in both render paths.
* **Fix #233: Block Substitution title bar disappears on tab switch.** Switching to another draft and back left the Block Substitution tool window without its title bar until the weaver toggled it off and on manually. The window now gets an explicit InvalidateMeasure / InvalidateVisual after open so the title bar slot is re-measured cleanly.
* **Fix Actipro RenderTimer double-registration crash on retry.** Recovering from a Render-timer hiccup could throw `Element is already registered` from inside Actipro's render loop. The retry path now de-registers before re-registering.
* **Section Assembly: Copy Structure now mirrors the whole structure.** Copying a structure into a Color tab could collapse the entire tree into a single empty gray entry when the assembly carried a legacy wrapper node. Copy Structure now descends through any container, recreating each group and turning each section into a gray color entry whose repeat equals the section's thread count — a color skeleton you can then tune.
* **Fix #197: "Use Color Assembly" checkbox is now fully wired.** The checkbox on each Color tab now actually controls whether the Color Assembly tree drives colors in Generate and Print, and its state is saved inside the TWA file so it survives save and reopen. Previously the checkbox had no effect on Generate, did not persist, and only filtered Print output for the current session.

### Mobile (TempoWeave Mobile, separate beta channel)

* Mobile shell redesign (rail + chip panels on tablet, bottom dock + sheet on phone) plus follow-up polish for liftplan tools, header scroll/inertia, and paint smoothing. Mobile builds publish through TestFlight / Internal Testing, not this auto-update channel.

## TempoWeave Studio v26.521.1

### New Features

* **Create Double Cloth: "Accommodate alternating shuttles" option.** When the weaver alternates between two physical shuttles (e.g., two yarn colors or two yarn types), checking this on the Folded Cloth method changes the weft cycle so each shuttle returns to its starting selvedge between turns. Previously the existing 4-pick TBBT cycle could trap one shuttle's yarn while the other was weaving. The dialog has also been re-labeled — "Select Fold Type" → "Method", "Left Fold" → "Folded Cloth" — and the Right Fold radio is hidden for now (fold side is a physical consequence of which selvedge the weaver starts on, not a structural choice).
* **Marked Sections: right-click to edit or delete.** While the Section Marker tool is active, right-clicking inside any marked section opens the section's edit dialog with name / thread range / density override / notes prefilled, and a new red Delete button on the dialog removes the section with confirmation. Closes the gap with TempoWeave Classic where right-click already did this.

### Improvements

* **Color Picker dialog overhaul.** Used by Color Repeats, Echo, Color/Weave Explorer, and other places that ask the weaver to pick a colour.
  * **New "Active Palette" section at the top** showing the colours currently used in your draft (matches the right-sidebar Active Palette) with a blue border and "(N colors)" counter. Saves scrolling past hundreds of bundled defaults.
  * **OK button is now the default** — pressing Enter confirms the dialog from anywhere (including while the hex field has focus). OK also renders with the accent blue background to match the rest of the app's dialogs.
  * **Dialog is resizable** — vertical resize grows the full-palette scroll area so weavers can see more colours at once.
  * **Every palette row is clickable end-to-end** — previously only the small colour swatch button selected the colour, so clicking the row's name text appeared to do nothing on the first try. Now any click on the row selects it and updates the Selected Color label.
* **Block Substitution: keep custom templates across updates.** Custom templates now live in a per-user folder that the auto-updater can't touch (macOS `~/Library/Application Support/TempoWeave Studio/_blocktemplates/`, Windows `%APPDATA%\TempoWeave Studio\_blocktemplates\`, Linux `~/.config/tempoweave/_blocktemplates/`). The Browse button in the template editor now copies the selected .wif into the templates folder automatically (with smart filename de-duplication), and a new **Reveal Folder** button on the Block Substitution panel opens the folder in Finder / Explorer / xdg-open.
* **Cloud Repositories: see pending invitations.** Repository owners now see a "Pending" row in the members list for each invitee who hasn't accepted yet, with a Cancel Invitation action. Trying to re-invite someone already invited now shows a clear "This person has already been invited and hasn't accepted yet" message instead of the generic network-error toast.
* **Cloud Repositories: invitation emails now actually send.** Previously a repository invitation only created the database row — no email ever left the building, so the invitee had no way to know unless they happened to open TempoWeave's Cloud → My Library list. Invitees now receive a branded email explaining who invited them and how to accept.
* **Project Info → Planning tab "?" button** in the Cloud Repository window relocated so it no longer overlaps Delete Repository.

### Bug Fixes

* **Fix Fold Double undo state.** Undoing Create Double Cloth was leaving the canvas half-reverted — the warp / weft / tieup arrays reverted to single layer, but the cloth-construction settings stayed at their post-fold values, so View Cloth and Cloth Sim kept rendering it as folded double. The undo snapshot now includes those settings so undo and redo both restore the correct rendering mode.
* **Thickness Repeats — Ending mode + reset Start on toggle.** Opening Thickness Repeats with the default Ending mode showed "Times: 1" with the wrong end value, so "Will apply to picks 2-1" was a common state. The dialog now initializes Ending properly, and toggling between Warp and Weft resets Start to 1 and updates the end value to the actual end of the newly-selected direction.
* **Color Assembly groups can hold colors.** On the Color Assembly side of Section Assembly, "Add Color" was always inserting at the root, ignoring whichever group or color was selected. It now nests inside the selected group, or adds as a sibling of the selected color.
* **Huck Lace correct threading and treadling.** The Common Weaves Huck Lace generator used a non-canonical 13-thread / 14-pick repeat. Replaced with the standard 10-thread / 10-pick unit per Dawne's spec.
* **Reposition warp after Block Substitution.** When applying a Block Substitution opens a new preview tab and the weaver clicks back to the original profile draft, the warp now snaps back to thread 1 (right edge / origin) instead of being left scrolled away. The behaviour preserves any explicit scrolling the weaver did inside the tab.
* **Warp / weft selection: copy-paste and drag-drop now remap shafts and treadles.** When you copy a partial-shaft selection in the warp (e.g. shafts 1–4) and paste at shaft 5, the threading shifts to shafts 5–8 — matching how weft has always worked. Same for drag-drop in both warp and weft, and the ghost preview during drag now follows the destination band instead of staying anchored to the source shafts.

***

## TempoWeave Studio v26.517.2

### New Features

* **Thread Assistant: threading preview now shows warp colors.** Each shaft cell in the preview strip is painted with the actual warp end's color from the cloth, so the preview reads as a true miniature of the warp stripe rather than a flat dark-gray bar. Near-white colors get a thin 1px gray outline so they don't disappear into the background.
* **Thread Assistant: Heddle Summary table** (opt-in display setting). A small Shaft / Heddles table on the disc canvas shows the heddle pre-count needed per shaft for the current group — saves the weaver from manually counting before threading.
* **Thread Assistant: "Max shafts in preview" setting** (default 16, range 8–64). For large-draft drawlooms and the like, expanding this to 24+ lets all shafts appear in the threading preview at once; the disc area shrinks accordingly. Both settings persist.
* **Thread Assistant: frozen shaft-number column** to the right of the threading preview. Labels stay anchored to their rows and remain visible while scrolling horizontally through a wide warp.

### Bug Fixes

* **Custom Block Substitution templates no longer disappear after a TempoWeave Studio update.** Custom templates were being stored inside the install directory (`...\TempoWeaveStudio\current\Data\_blocktemplates\`), which the updater treats as disposable — so every update wiped them. Templates now live in the user's application-data folder, where the updater can't touch them. On first launch after this fix, the app also tries to salvage any custom templates Velopack hasn't yet purged from previous install folders.
  * Per-platform location: macOS `~/Library/Application Support/TempoWeave Studio/_blocktemplates/`, Windows `%APPDATA%\TempoWeave Studio\_blocktemplates\`, Linux `~/.config/tempoweave/_blocktemplates/`.
  * **Customers whose customizations were already wiped by a prior update cannot be recovered** — check OneDrive / Time Machine / Recycle Bin for backups.

### Improvements

* **Block Substitution: Browse now imports.** When you Browse for a .wif outside the templates folder, the editor copies it (and any matching .png preview) into the templates folder automatically and disambiguates filename collisions. You no longer need to manually place files in the templates folder before referencing them.
* **Block Substitution: "Reveal Folder" toolbar button** opens the user templates folder in Finder / Explorer for power users who want to manage .wif files directly.
* **Project Info → Planning tab: Current WIF column widened** so values that include the yard / metre suffix (e.g. "67.70 in (1.88 yds)") no longer collide with the Overrides input column.
* **Home ribbon button renamed "Thread Assist" → "Thread Assistant"** to match the in-app window title and the mobile label.

***

## TempoWeave Studio v26.516.2

### New Features

* **Thread Assist on desktop.** New "Thread Assist" button in the Home ribbon's Weave Assistant group (the group itself, previously called "Dobby", is now labeled "Weave Assistant" too). Walks the weaver through warp threading group-by-group with a foot-pedal-friendly MARK THREADS button, an inline collapsible settings panel for direction / group size / starting thread / mark key / beep, and a Threading Preview band that shows the whole warp at a glance with the current group highlighted. Per-draft progress is stored inside the file (the WIF's `[TW THREAD ASSISTANT]` section), so a draft started on iPad and finished on desktop (or vice-versa) carries threading progress across. **"Position at Center" button** in Thread Assist. One click sets the starting thread to the geometric center of the warp and jumps the view there. Two distinct markers appear on the disc strip and the Threading Preview band: amber ⋆ for the geometric center, blue ◆ for the starting-thread anchor.
* **Yarn Usage tab shows yarn weight.** A new column to the right of Total Yds shows ounces (or grams in metric mode) based on the matching yarn line's density in the catalog. Blank when the color has no yarn line set or the line has no density data. Weight is computed correctly across mixed units — yards/lb yarns in metric projects and m/kg yarns in english projects both convert through.
* **License: "Refresh Account Info" button.** Pulls your current email, name, and renewal date directly from your subscription account. If your email or last name changes (got married, switched providers), you no longer need to clear and re-validate your license to update what TempoWeave shows. The button appears on the License dialog automatically once you have an active subscription.
* **Color Repeats: Insert at the selected row.** Clicking Add with a row selected inserts the new color *above* that row. Consecutive clicks chain naturally so you can build up a sequence from a single insertion point. Add still appends at the end when nothing is selected.
* **Color Repeats: Move Up / Move Down buttons** on the right side of the list let you reorder color entries.
* **Color Repeats: pattern entries remember across close / reopen** (per draft). Closing and reopening the Color Repeats dialog on the same draft restores your last pattern; switching to a different draft starts clean (#200).
* **Cloud: My Drafts share now shows the same code + URL dialog as Share Draft** (#209). Previously the share action on a My Drafts entry silently copied just the code to the clipboard. It now opens the full results dialog with both the share code and the share URL, each with its own Copy button.

### Improvements

* **Insert Threads / Insert Picks dialog: OK button is now visually emphasized.** The default action (which Enter activates) renders with the accent fill matching the rest of the app's dialogs, so \[I] + \[Enter] for a single-thread insert is obviously the default path.
* **Planning: yards / meters shown alongside inches / cm.** Woven Length per Piece and Finished Est Length now show calculated yards (or meters in metric mode) next to the in/cm value, e.g. "75.00 in (2.08 yds)" (#201).
* **Cloud Library: Repository list shows owner names.** Each repository row now displays the original owner. Two same-named repos owned by different people are now easy to tell apart (#205).
* **Cloud: "Add to This Repository"** (previously "Upload to Repository"). The success message clarifies the repository copy is independent — to update it later, open the draft from the repository and save (#211).
* **Cloud: open-from-cloud confirmation toast.** When you open a draft from My Drafts, Browse Public, or a Repository, a success toast confirms which draft was opened (#207).
* **Cloud: display names stay current** (#206). When a member changes their display name, the Repository member list and pattern owner display refresh next time the app talks to the server.

### Bug Fixes

* **Fix #198: Export to TempoTreadle now writes the full file set.** Previously only the .wif was produced. The TempoTreadle device needs four files alongside the WIF — a .TTC cache, a .ini stub, and a 320×240 24-bit .bmp thumbnail — and all four are now created. Filename cap reduced to 17 characters to match TempoTreadle requirements.
* **Fix #199: pasting in Warp or Weft no longer auto-scrolls the view.** Previously every paste yanked the scroll position toward the paste location. The view now stays exactly where you were working.
* **Fix #200: Color Repeats: first-row spinner no longer clips into the column header above it.** Plus: re-opening the color picker on a row no longer collapses Soft Pink (Lofty Cotton 8/4) to Soft Pink (Lofty Boucle) when the two yarn lines share the same RGB. The picker now respects which palette entry you actually picked.
* **Fix #211: Cloud repositories are now independent containers.** Adding a draft to a repository creates a separate copy that is *not* tied to My Drafts. Previously the same record was visible in both places, and deleting from My Drafts would silently nuke the repository copy. Member roles also behave correctly now: repo owners can save changes back to drafts they didn't originally upload, and view-only members get a Save As dialog (defaulting to your Default WIF Location) instead of silently writing into a hidden app-data cache folder. The "Link Draft" button has been removed — it never actually linked, it moved.
* **Fix #204: Repository draft counts heal on demand.** Admin → Refresh All now re-derives each repository's draft count from the actual records, correcting any drift from earlier inc/dec imbalances.
* **Cloud: email changes no longer orphan your data** (#212). If you change your email at your subscription provider, your existing patterns, repositories, and share links stay linked to your account next time TempoWeave re-authenticates with the cloud.

***

## TempoWeave Studio v26.511.1

### New Features

* **Section Notes and Marked Sections Only print.** Each warp or weft Section Marker now has an optional multi-line Notes field, accessible by editing the section (Section Assembly panel → right-click → Edit, or the Section dialog when marking a new section). Two new checkboxes in Page Setup — "Warp Marked Sections only" and "Weft Marked Sections only" — restrict Print Threading and Print Treadling to the marked ranges, with each section's Notes printed as a header above its threads or picks. The same two checkboxes are mirrored in Weaver's Writeup → Report Contents. Falls back to printing everything when no markers exist on that axis. Per-document, saved with the WIF.

### Bug Fixes

* **Fix #197 follow-up: Section Assembly "Use Color Assembly" checkbox is now fully wired.** The minimum fix in v26.510.1 made Print honor the checkbox for the current session. The flag now persists inside the TWA file, survives save and reopen, and also drives the Generate step (not just Print). Previously the checkbox had no effect on Generate, did not persist, and only filtered Print output until the file was closed.

***

## TempoWeave Studio v26.509.1

### Improvements

* **Yarn Catalog: large curation pass on bundled yarns** (#193). Yarn-line classification, fiber content, mercerization status, and other metadata populated across many previously-incomplete rows — including Harrisville Highland and Shetland, Jaggerspun Heather and Zephyr, Lunatic Fringe Tubular Spectrum, Supreme 8/2 and Merc 3/2, Valley Merc Cotton, Venne Mercerized Cotton, Venne Organic Cottolin, and more. Hovering a yarn in the palette now shows its proper line/fiber, making it much easier to tell yarns apart when mixing different lines in one project.
* **Yarn Catalog and Section Assembly: column widths stay where you set them** — adjusting a column in the Catalog, My Yarns, or any of the six Warp/Weft Section Assembly trees no longer reverts after Edit/Add/Delete operations. Widths now also persist across app restarts.

### Bug Fixes

* **Yarn Catalog: removed stray Color box from Brassard yarn-line rows** — Brassard Cotton 16/2, 8/2, 8/4, 8/8, 16/8 (Mop), and Brassard Boucle were showing a pale grey-blue rectangle in the Color column at the yarn-line level. Color is meaningful only at the leaf-color row level; cleared the stray values in the bundled catalog.

***

## TempoWeave Studio v26.508.3

### New Features

* **Yarn Catalog now available to Lite and higher** (previously Core+). Lite weavers can open the Yarn Catalog and assign yarns to threads. Clear Palette and Import/Export Yarns also in the 508.2 update.

### Improvements

* **Variegated yarn — Continuous mode now renders correctly across picks and threads.** Previously, every pick (or every warp thread) treated the yarn as if a fresh strand entered from the same edge, so the color pattern appeared to "restart" at every new pick. Continuous yarns now follow a true back-and-forth path — weft alternates left-to-right then right-to-left between picks, warp alternates top-to-bottom then bottom-to-top between threads — matching how a single long strand naturally winds through the cloth. **Existing continuous-mode variegated drafts will render visibly differently.**
* **Tooltips added to Thread Offset and Offset Variation** in the Yarn Editor's variegation panel, with one-line explanations of what each control does and the note that variation is deterministic-per-thread (the same draft always renders the same way).
* **Yarn Catalog: Clear Palette and Import/Export Yarns now available to Lite tier** — completing the Yarn Catalog feature set rolled into Lite in v26.508.1.
* **Section Assembly column widths persist**: Adjusting a column in the Warp/Weft Assembly tree no longer reverts after Up/Down/Add/Edit/Delete operations. The Name column is now 200pt by default so most section names display fully without manual adjustment.
* **Section Assembly toolbar wraps in narrow panels**: When the panel was docked narrow, buttons past a certain point (Up/Down/Delete/Generate/Print) were silently clipped off the right edge. They now wrap to a second row instead of disappearing.

### Bug Fixes

* **Fix Section Assembly Generate when the panel is undocked**. Previously the success toast appeared but no preview tab opened.
* **Fix Print Color Card crash on large or A4-paper drafts**: Resolved a DocumentLayoutException; row width reduced to fit A4 portrait without needing landscape.
* **Fix Tromp as Writ crash**: Prevent IndexOutOfRangeException when the cloth buffer has temporarily fallen out of sync with the active draft dimensions.
* **Fix Prepare Threading WIF crash**: Same root cause as Tromp as Writ, now resolved on both paths.
* **Fix Drawdown click crash in Fabric Analysis**: Clicking past the absolute buffer cap is now a no-op instead of throwing IndexOutOfRangeException.

## TempoWeave Studio v26.426.1

### New Features

* **Treadle Status Overlay**: Floating panel over the cloth canvas in Weave Assistant showing expected and detected treadles for each pick. Color-coded cells: blue (expected), green (correct), red (wrong treadle). Draggable, toggleable via toolbar checkbox. Works in all modes.
* **Weave Assistant Treadle Grid**: The left-side pick grid now shows treadles instead of shafts, matching what weavers physically interact with.
* **Weave Assistant OK Beep and Error Beep**: New configurable chime settings in Weave Assistant for successful pick advancement and wrong-treadle detection. Custom WAV support with browse and test buttons.
* **Always Show Scrollbars**: New setting in Default Settings to keep scrollbars visible at full size instead of auto-hiding. For weavers who find the disappearing scrollbars hard to use.
* **Default Shed Mode**: Rising or Sinking shed default can now be set in Settings, applied on startup.

### Improvements

* **Ctrl+Scroll Zoom**: Fixed Ctrl/Cmd+scroll wheel zoom — now properly intercepts before the ScrollViewer consumes the event. Zoom works reliably regardless of scroll position.
* **Thread Markers**: Replaced thick blue line markers with small translucent triangles that don't cover grid content.
* **Print Color Card**: Fixed crash on large drafts with many threads or colors. Content now paginates across pages instead of overflowing.
* **Print Threading**: 50 threads per row on A4/Letter portrait, even row endings, right-aligned last partial row.

### Bug Fixes

* **Fix localization for unsupported languages**: Users with system languages that don't have a locale file (e.g. Dutch) now see full English UI instead of raw key names in brackets.
* **Fix treadle placement in weft header**: Treadle 1 left/right setting now correctly flips columns in the weft/treadling display for both tieup and liftplan modes.
* **Fix drawdown click crash**: Prevent IndexOutOfRangeException when popup dismissal passes click to canvas outside data area.
* **Fix stale tooltip after scrolling**: Warp and weft header tooltips clear on scroll to prevent wrong pick/thread info showing.
* **Fix QAT position**: Quick Access Toolbar location (above/below) now persists across restarts.
* Suppress harmless bitmap layout race crash reports.

***

## TempoWeave Studio v26.421.1

### New Features

* **Variegated Yarn Bleed**: Space-dyed and self-striping yarns now support optional bleed at color boundaries, simulating how real dyes wick into each other. Enable via the Bleed checkbox in the variegation editor with a 0-50% slider.
* **View Spacing**: New option in View Cloth and Cloth Simulation to visualize gaps between threads based on yarn thickness, sett/beat density, and float length. Shows how open or dense your fabric will be.
* **Variable Density (Cram and Dent)**: Set local EPI/PPI overrides on individual section markers for variable-density cloth. Sections with different densities render with proportional cell widths and spacing in View Cloth. Calculated EPI/PPI shown in Project Info when overrides are active.
* **Show Sections toggle**: Checkbox in the Window tab to show or hide section marker highlights. Sections always show when the Section Marker tool is active.
* **Section marking thread count**: Live thread/pick count displayed in the status bar while dragging to mark sections.

### Improvements

* **Print Threading**: Fits 50 threads per row on A4/Letter portrait (was \~36). Rows end at even thread numbers. Last partial row is right-aligned to match the thread-1 edge of full rows above.
* **Plot on Network**: Warp and Weft dialogs now remember settings between opens during the same session (#182). Weft liftplan mode Pattern Preset B default changed to 3/1 left twill (#183).
* **QAT position saved**: Quick Access Toolbar location (above/below ribbon) now persists across restarts (#184).

### Bug Fixes

* **Fix Treadle Placement in weft header**: Changing Treadle Placement (treadle 1 left vs right) now correctly flips treadle columns in the weft/treadling display, matching the tie-up canvas behavior.
* **Fix drawdown click crash**: Prevent IndexOutOfRangeException when a popup dismissal passes a click through to the drawdown canvas outside the data area.
* **Fix stale tooltip after scrolling**: Warp and weft header tooltips now clear when the view scrolls, preventing the wrong pick/thread info from showing after scrolling with a stationary cursor.
* **Section Marker keyboard shortcut gated**: M key now respects the license tier (Lite+), preventing bypass of the ribbon/menu disabled state.
* Suppress harmless crash reports from bitmap layout race condition during thumbnail loading.

***

## TempoWeave Studio v26.415.3

### New Features

* **Section Marker now available to Lite and higher** (previously Pro-only). Weavers use the Section Marker to mark sections of cloth for stepping through in Weave Assistant — for both dobby and non-dobby workflows. Section Assembly remains Pro-only.
* **Chromebook installation guide** added to the online docs under Linux. Covers Crostini setup, architecture detection, file sharing between ChromeOS and the Linux container, and known limitations.

### Keyboard and Menu Improvements

* **Fit to Window** shortcut: Ctrl+0 on Windows and Linux, Cmd+0 on macOS
* **Reset Zoom** shortcut: Ctrl+1 on Windows and Linux, Cmd+1 on macOS
* **Cut (Leave Space)** shortcut: Ctrl+Shift+X on Windows and Linux, Cmd+Shift+X on macOS. Cuts the selection without collapsing the surrounding cells.
* New **macOS menu entries**: Fit to Window, Cut (Leave Space), Clear Selection (Esc), and Cycle Active Canvas (Tab)

### Improvements

* **Reset to Defaults** button added to the Settings dialog
* Treadling Direction setting relabeled as **Draft Style** for clarity

### Bug Fixes

* **Section Marker keyboard shortcut (M)** now respects the license tier. Previously the M shortcut bypassed the tier check that the ribbon button and menu item applied.

***

## TempoWeave Studio v26.415.1

### Bug Fixes

* Fix Weave Assistant cloth preview crashing repeatedly during rendering when the draft's cloth array was being resized

***

## TempoWeave Studio v26.414.2

### Improvements

* Fit to Window now uses fractional zoom for a more precise fit instead of rounding to the nearest integer zoom level
* Fractional zoom levels supported above gridSize 1 — smoother zoom transitions at low zoom levels where integer jumps are most noticeable

### Bug Fixes

* Fix Print Drawdown hanging indefinitely on certain draft dimensions due to a floating-point rounding issue in the page layout loop

***

## TempoWeave Studio v26.414.1

### New Features

* **Independent Treadling Direction**: Treadling direction (Top to Bottom / Bottom to Top) is now an independent setting, separate from Draft Style and shed mode. Set your preferred treadling direction in Settings without changing your shed interpretation. Draft Style auto-switches it as a convenience, but you can override independently.

### Improvements

* **Fit to Window**: Calculates the optimal zoom level to show the entire draft in the viewport. Zooms IN for small drafts and uses sub-1 zoom for very large drafts
* **Zoom performance**: "Weaving..." banner shows during zoom on large drafts so you know TempoWeave is working. Ctrl+scroll zoom is debounced — rapid scrolling only renders the final zoom level, skipping expensive intermediate renders
* **Sub-1 zoom fix**: Viewport culling now works correctly at sub-1 zoom — no more gaps between drawdown and weft header, and all threads render properly

### Bug Fixes

* Fix WIF files saving incorrect color palette indices after palette changes (clear, replace, add yarn line). Other WIF readers (TempoWeave Classic, WeaveIt, iWeaveIt) now see the correct colors (#179, #180)
* Fix Section Assembly groups not updating thread counts, locations, and widths when threads are inserted or deleted (#175)

***

## TempoWeave Studio v26.412.1

### New Features

* **Snapshot History**: Save named version snapshots of your draft as you work. Stored inside the TWA file so they travel with the draft. Manual and automatic snapshots, restore in-place or open in new tab, thumbnails, rename, and clear history. Great for teaching workflows and tracking design evolution.

### Improvements

* **Zoom improvements**: Zoom now preserves scroll position instead of jumping to thread 1. Smoother zoom with 70 levels (was 40). New Ctrl+scroll wheel zoom (Cmd+scroll on macOS). New Fit to Window button. Sub-1 zoom for seeing entire large drafts at a glance.
* **Show Rulers**: Horizontal ruler labels automatically skip numbers at low zoom to prevent collisions
* Image Center maximum rows increased from 999 to 9999
* Image Center preview panel hides gridlines when rows exceed 200 to show the pattern more clearly
* Section Assembly groups now update automatically when threads are inserted or deleted — thread counts, locations, and widths cascade through all parent groups (#175)
* TWA file format now preserves unknown entries on save for forward-compatibility with future versions

### Bug Fixes

* **Fix Color Swap and Color Exchange skipping weft colors in liftplan and multi-treadle mode**: Color operations now work correctly in all draft modes
* Fix WIF browser and Snapshot History thumbnails rendered horizontally flipped compared to the drawdown view
* Fix crash when inserting threads or pasting beyond the warp/weft limit
* Fix Image Center crash when switching folders
* Fix tie-up paste crash when clipboard data exceeds the maximum tie-up size

## TempoWeave Studio v26.409.1

### New Features

* Compose Text in Image Center: render text as a weaving pattern with vertical, horizontal, or diagonal orientation. Supports font size, rotation, alignment, start column, and diagonal slant with line spacing
* Focus Mode hint: floating "Press F11 to exit Focus Mode" overlay appears briefly when entering Focus Mode (helps Windows/Linux users who have no native menu bar)

### Improvements

* Common Weaves twills now support variable shaft counts (multiples of the ratio sum) with treadles fixed at the ratio sum. Tieup unit repeats correctly across all shaft blocks
* Common Weaves list reordered with Twill Family at the top
* Fixed Rosepath threading to use correct 1-2-3-4-1-4-3-2 pattern (was incorrectly using Point draw)
* Fixed Goose Eye threading to use correct 3x straight + 3x pair-swapped pattern
* Image Center maximum rows increased from 256 to 999
* Paste operations in weft/warp now scroll to show the start of the pasted region

### Bug Fixes

* Fix Image Center crash when switching folders (thumbnail bitmap disposed while still bound to Image control)
* Fix tie-up paste crash when clipboard data exceeds TUArray bounds (IndexOutOfRangeException)

***

## TempoWeave Studio v26.405.1

### Improvements

* Section Assembly now shows Width and Length columns calculated from EPI/PPI
* Section Assembly tree expand state is preserved when editing sections or changing repeats
* Weaver's Writeup warns before closing with unapplied changes (Apply and Close / Discard / Cancel)
* Cloud sharing now supports larger draft files (up to 25 MB)
* Improved error messages when cloud upload fails

### Bug Fixes

* Fix Section Assembly repeat count not refreshing group totals until manual refresh
* Fix Design Repeats on liftplan drafts causing weft to disappear
* Fix cloud share failing for drafts larger than 5 MB
* Fix Block Substitution predicted shafts and treadles showing incorrect values
* Fix Block Substitution panel splitter disappearing when dragged too far
* Fix Block Substitution panel losing data when undocked from main window
* User-facing labels now say "License ID" instead of "Subscription ID" for clarity

***

## TempoWeave Studio v26.404.2

### Improvements

* Added Emerald Green and Deep Orange to the LoftyFiber Euroflax yarn line in the built-in catalog
* Legacy macOS build: Check for Updates now shows a clear message directing users to tempoweave.com instead of silently failing

### Bug Fixes

* Fixed Writeup template using target finished size instead of the calculated estimated finished dimensions
* Fixed crash when showing dialogs after closing the main window on macOS (window hidden but app still running)
* Fixed display backend initialization crash on some Windows 11 configurations (now shows troubleshooting steps)

***

## TempoWeave Studio v26.402.4

### Improvements

* Software rendering option in Settings for users who prefer CPU-based rendering (requires restart)
* Update indicator now clears immediately when an update is skipped

### Bug Fixes

* Resolved an issue on some Macs where iCloud Drive could become temporarily unresponsive after launching TempoWeave
* Fixed WIF files created in other weave design software not displaying default thread colors correctly when only some threads had explicit color assignments

***

## TempoWeave Studio v26.401.2

### Improvements

* Interlacement rendering improvements: enhanced 3D thread depth with gap lines, shadow, and highlight for more realistic woven cloth appearance across Drawdown, View Cloth, and Cloth Sim

### Bug Fixes

* Fix Double Cloth calculations: sett and beat now correctly double for all fold types (left, right, tubular)
* Fix finished estimated width now correctly doubles for folded double cloth (left and right fold)

***

## TempoWeave Studio v26.401.1

### New Features

* Left Origin support: new Origin Side setting (Right/Left) for European and Nordic draft conventions. Thread 1 can now appear on the left side of the draft with full pane layout swap
* Independent Shaft 1 Placement (At Top/At Bottom) and Treadle 1 Placement (On Left/On Right) settings, independent of Draft Style. Auto-switches when Draft Style changes, but can be manually overridden
* Thread Markers: blue cursor locator dots on warp, weft, and tieup grid edges to help identify the active row and column. Configurable in Settings
* Draft Style options renamed from American/Swedish to Top/Bottom for international clarity
* Color Palette capacity increased from 125 to 252 colors
* Add Color to Palette: right-click any swatch or empty palette area to add a color via color picker (works for all license tiers)
* Remove from Palette: right-click to remove unused colors from the WIF Palette
* Copy to Palette from Yarn Catalog now adds to existing palette instead of clearing it

### Bug Fixes

* Fix paste operations (warp/weft threads and colors) not resolving palette index, causing Warp Winding Plan to show stale colors
* Fix Swedish draft extension area rendering in variable-width mode (extension now consistently at top)
* Fix selection rectangle Y positions in Swedish mode for weft canvas
* Fix pointer coordinate issues in tieup and weft canvases for left-origin mode (mouseup offset, selection drag)
* Fix palette sort putting unused placeholder colors above in-use colors
* Fix scroll position not homing when switching Draft Style or Origin Side settings

### Improvements

* Palette sort (Hue, Lightness, etc.) now shows in-use colors first, unused at end
* Scroll automatically homes to origin when layout settings change
* Removed 69 gray placeholder slots from default palette (cleaner starting palette)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tempoweave.com/installation-and-licensing/release-notes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
