> 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.712.1

### New Features

* **Print Center.** All printing now lives in one place: the backstage Print tab is a master-detail Print Center — pick a report on the left (Draft, Plans, Project groups), set only the options that apply to it on the right, and print. On macOS the File menu has a single Print… (Cmd+P) that opens it.
* **Full Draft report.** A new report prints the draft the way you see it on screen — threading, tie-up, treadling/liftplan, and drawdown together, with include toggles for each area, as-displayed or structural black-and-white rendering, fit-to-page or exact-size scaling with a live page estimate, and warp/weft counts that default to what is visible at your current zoom.
* **Repeat to Fill in View Fabric.** A new checkbox tiles your cloth seamlessly to fill the window at any zoom — see yardage, not just one repeat. Instant even on very large drafts. (Thanks, Russell.)
* **Generated drafts remember your sections.** Generate from Section Assembly now writes named section markers into the new draft at their exact positions — repeated sections get one marker per repeat (Body 1/9 through Body 9/9), and mirrored sections are tagged. Navigate, thread, weave, and print by the plan you designed instead of counting threads. (Thanks, Russell.)
* **TempoTreadle Connectivity.** The Weave Assistant's TempoTreadle connection is now available in every copy of TempoWeave Studio — pair the box, and your loom advances the pattern as you treadle.
* **Doubleweave construction type.** Project Info - Cloth Construction can now designate a draft as Doubleweave; View Fabric and Cloth Simulation start with the Double Weave checkbox on for designated drafts. The checkbox itself remains available on any draft.

### Weave Assistant

* **New View menu on the toolbar** gathers the display toggles in one place: treadle overlay, large overlay, Next and Prev preview lines, interlacement rendering, color change alert, and the treadling panel. (The Settings Display card retired in its favor.)
* **Pick Counter 1 and Pick Counter 2.** The odometer and trip meter are now named as a pair, and the Length Calculator lets you choose which counter feeds its Picks value.
* **Reverse shows red.** The direction pill turns red in Reverse so you cannot miss it — and flipping direction now repositions sensibly: switching to Reverse steps back to the last pick you wove, switching to Forward steps ahead to the next one, wrapping at section boundaries.
* **Zoom moved to the top bar**, clearing the Section selector's space on the toolbar.
* **Tune mode is labeled.** The tune grid shows your treadle numbers — using the mapped numbers when you have remapped, with a red X over positions mapped OFF — and tapping Done with a box connected drops you straight into Weave mode.

### Improvements

* **Selection modifier fix**: Option/Alt (not Shift) now inverts between Region and Full selection, so it no longer collides with Shift-extend.&#x20;
* **Section Assembly: the Del button now serves the Available Sections list too** — whichever list you clicked last is the target. Every delete confirms by name first, and deleting a section still referenced by the assembly warns with the use count (the assembly entries keep working).
* **Section Assembly: Order and Repeat columns** now appear in the same order across the Warp, Weft, and Colors tabs, with Order first.&#x20;
* **Override Woven Length keeps its decimals** in Project Planning — 16.5 no longer displays as 17. (#326)
* **Tie-up numbers scale correctly in printed reports**, and the **Weaver's Writeup can attach PDFs**.

### Bug Fixes

* **Section Mirror only removes the pivot thread at a true fold.** A mirrored section that does not directly follow its forward twin now keeps its first thread — standalone mirrors are a plain reverse, and mirrored group tails no longer lose a thread each. (#332)
* **Section Assembly no longer crashes ("Row is not realized")** when editing the Order column repeatedly.
* **Weaver's Writeup honors the Marked Sections Only flags** in its embedded threading and treadling reports. (#331)
* **Fabric Analysis works on drawn cloth**: analyzing a draft whose cloth was drawn directly (no threading/treadling yet) now derives the structure instead of returning nothing.

***

## TempoWeave Studio v26.708.1

### New Features

* **Gradient tool.** Build stepped color gradients across the warp, the weft, or any selected range — from the Yarns menu, Design ▸ Repeats, or the palette sidebar. Choose Linear, Curve, Fibonacci, Dither, or Mix distributions, adjust the Transition slider, and Mirror the result. Blending is perceptual (OKLab) so the steps look even to the eye, and Snap to Yarn Colors matches every step to real yarns from the Yarn Catalog or My Yarns (with supplier/line filtering). One undo step; in-window undo/redo while you experiment. Lite+.
* **Share My Yarns.** Publish your My Yarns list to the TempoWeave cloud — all of it, or just the yarns you have selected — and get a short TW-XXXXX code to hand to another weaver. They enter the code under Get Shared Yarns and choose to merge into (or replace) their own My Yarns. Colors and yarn details travel; publishing requires Lite or above.
* **Block Substitution supports liftplan drafts.** Liftplan profile drafts now generate correctly (previously the treadling came out empty), output returns as a liftplan for dobby looms, and multi-treadle profile picks are honored. Summer and Winter templates now work from liftplan profiles. (Thanks, Teresa.)
* **Add Tabby works on liftplan drafts.** Tabby picks insert directly into the liftplan, with lift sets derived from the threading — the correct tie-down vs pattern tabby for Summer and Winter — and Block Substitution passes each template's exact tabby lifts through.
* **Section Assembly: "Use" checkboxes and saved groups.** Check exactly which assembled sections Generate should include (warp, weft, and color trees) with Select All / Deselect All and tri-state group cascade — then save any checked combination as a named group under Generated Drafts for reusable recipes inside one library draft. State saves in the TWA. (#311)
* **Section Assembly: multi-select.** Cmd/Ctrl/Shift-click sibling rows for bulk Delete, Copy/Cut/Paste, Duplicate, Toggle Mirror, and block Move Up/Down — plus Insert Mirrored Copy Below to mirror a whole selected run (A, B, C becomes A, B, C, C', B', A'). (#321)
* **Yarn Catalog: multi-select.** Select many yarns at once and Copy to Palette or Copy to My Yarns in one step. (#309)
* **Eraser mode.** A new Drawing Tools mode makes the drawing tools clear instead of set — composes with Point, Freehand, Straight, and Line. Built for weavers working without a right mouse button. (#308)
* **Double-click clears** a tie-up, threading, or treadling/liftplan entry — same as right-click, for trackpads and touch. (#299)
* **Arrange Shafts and Arrange Treadles preview live.** Every drag updates the real draft as you reorder; Save commits one undo entry, Cancel or Esc restores the draft exactly. (#310)
* **Export Bitmap: native 1-bit TIFF and BMP** for TC2 jacquard looms — no more conversion step in an image editor.
* **Settings ▸ "Confirm before delete operations."** On by default; turn it off to delete threads, picks, and sections immediately and let undo be the safety net. (#307)
* **System Info now reports Graphics** — the active renderer, the software-rendering setting, and your GPU model and driver — for faster support diagnosis. (#313)
* **Built-in report viewer.** Reports and PDFs (Weaver's Writeup, Yarn Usage, and friends) now open in an in-app viewer with printing that works the same on macOS, Windows, and Linux.
* **Tie-Up print: size presets and multi-page tiling.** Choose a cell-size preset, and large tie-ups tile cleanly across multiple pages instead of shrinking to fit one.
* **Grid Overlay: per-canvas settings.** Row, column, and color grid-overlay options can now be set independently for each of the four panes (drawdown, threading, treadling, tie-up).

### Thread Assistant

* **Heddle Count card.** The whole-draft heddles-per-shaft table (the same numbers as Project Info ▸ Heddle Count) now lives right in the assistant's settings, so you can pre-pull heddles without leaving the threading bench.
* **Tie-Up card.** Each treadle listed with the shafts it is tied to — check or tie up the loom from the same panel.
* **Settings are collapsible cards** — the everyday setup (Direction, Group size, Starting thread) starts open, everything else tucks away.
* **Group size now goes to 16** ends per group, and the color discs flow onto a second row when one row will not fit.
* **Threaded discs keep their true yarn color.** The green checkmark badge is the only "done" indicator — no more faded discs reading as a different yarn.
* **Clearer direction labels.** The right-to-left direction now reads "Left ← Right" with the arrow showing the direction of travel, and Prev/Next lost their confusing arrows.

### Weave Assistant

* **Treadles overlay understands your Treadle Mapping.** Boxes are laid out by physical position and labeled with the treadle each position acts as; positions mapped OFF draw as an inert ✕ — or hide them entirely with the new "Hide OFF treadles" checkbox in the Treadle Mapping dialog. With no mapping, nothing changes.
* **Steady TempoTreadle connection while idle.** The app now heartbeats the box continuously, so the connection no longer drops every few seconds while you wind bobbins or step away — and battery/signal readings refresh every couple of seconds as a bonus.
* **Woven Length panel.** See your project density, picks woven so far, and the theoretical woven length at a glance — plus a calculator: measure a stretch of real cloth, enter the length and picks, and get your actual beat density. The Picks field follows the live pick as you weave, and your figures persist in the file.
* **Prev and Next arrows point the way the picks actually move** (▲ Prev / Next ▼).
* **Weave Assistant view preferences stick.** The Prev/Next rows, Large overlay mode, and threading-panel visibility now survive an app restart.
* **Woven Picks** and separate **Pick Counter** added.

### Improvements

* **View Cloth: Double Weave is a per-draft session choice.** The checkbox remembers your preference for each draft while it is open, and is never written to the file. (#323)
* **Section Assembly editing polish.** Repeat and Order cells edit on a single click with the value pre-selected; Enter commits (no more Tab requirement); scrollbars no longer cover the last row; Cmd/Ctrl C/X/V work in the panel. (#303, #304, #305)
* **"Change Face" is now "Change Face (invert black/white)"** everywhere, so the liftplan inversion is findable. (#306)
* **Printed reports: variegated yarns show honestly.** Color bars for variegated yarns print a variegation-in-context band alongside the yarn's identity color, instead of a single misleading swatch.
* **Project Notes: the 5-line cap is gone** — long notes round-trip intact.
* **Paused subscriptions validate gracefully.** A paused TempoWeave Pro subscription now drops the license to Core/Demo instead of being rejected outright.
* **Yarn Catalog: Euroflax 14/2 line added** with its full color list.
* **Broken Twill repeat lock** in Common Weaves. (#315)
* **Common Weaves: Replace Color.** (#316)
* **Yarn Usage warns when warp length looks off.** (#300)

### Bug Fixes

* **Shaft Reducer never changes the cloth.** The reducer now treats the unique lift patterns as a hard floor and, with "Allow multi-treadle" checked, produces a lossless direct tie-up — previously it could quietly alter the drawdown. Found on both desktop and mobile; fixed everywhere.
* **View Cloth showed an empty cloth for multi-treadle drafts** — for example after Convert to Tieup followed by Treadle Reducer. The cloth extent scan now understands multi-treadle treadling.
* **Weave Assistant no longer skips a pick after the Louet Megado sleeps** — the wake-up pedal stroke re-arms the current pick instead of advancing past it. (#301)
* **Warp/weft headers could show a blank strip** after resizing or maximizing the window while zoomed, until a scrollbar was clicked.
* **False "unapplied changes in the Weaver's Writeup" warning** when closing Project Info without editing anything. (#296)
* **The report viewer opened behind modal dialogs** — Print Weaver's Writeup from Project Info now brings the PDF viewer to the front, and it stays open when the dialog closes.
* **Section Assembly checkbox state could block Generate** — stale group flags no longer prune checked sections; what the checkboxes show is what generates.
* **Blurry, stripey drawdown when zoomed far out** — the overview rendering is crisp again (an Avalonia 12 bitmap regression).
* **Yarn Catalog: Copy to My Yarns kept the folder hierarchy** even when no target folder was selected.
* **Crash fixes:** WIF browser double-close; temporary-file collision when printing the same draft twice; Windows software-rendering wiring and Esc now cancels modal dialogs.

***

## TempoWeave Studio v26.624.2

### New Features

* **Reopen tabs from last session.** A new Settings option restores the tabs you had open when you last quit — start at your computer and pick up where you left off.
* **Export Bitmap.** **File ▸ Export ▸ Export Bitmap** saves the drawdown as a 1-pixel-per-thread PNG — warp threads wide × weft picks tall, black where the warp is on top — for documentation, Jacquard, TC2, and image-based workflows.
* **Name Draft generator.** A new entry under **Design ▸ Weave Explorer ▸ Name Draft** turns a name or phrase into a 4-shaft overshot draft. Choose an encoding — Alphabet (the classic AEIMQU scheme), Reverse, Zigzag, or a regenerable **Random** — plus a **Star/Rose** tie-up and an assembly option (one repeat, repeat+repeat, repeat+reverse symmetrical, reverse+reverse). The draft updates **live** on the canvas as you type, and a "keep it weavable" option inserts incidental threads so the letters never make long floats. The one-repeat output doubles as a profile draft for Block Substitution. Tier Lite+.
* **Math Drafts.** **Design ▸ Weave Explorer ▸ Math Drafts** generates weave patterns from mathematical structures — Cellular Automata, Pascal's Triangle, Modular Arithmetic, Prime Sieve, Fibonacci, Lissajous, Magic Square, and the Hilbert Curve. Each is now produced as a real, weavable twill-based structure (with an adjustable shaft count) instead of an unweavable raw image. Tier Lite+.

### Improvements

* **Double Weave in View Cloth, reworked.** A color-free **structural engine** renders both faces of block and multi-block doubleweave correctly — colorful gamps now read right on the front *and* the back — and a rigorous **4×4-quadrant "plain-weave-per-layer" detector** recognizes doubleweave and turns the view on for you automatically.
* **Block Substitution: apply-time tabby treadling.** Templates that declare tabby treadles now prompt after Apply to add tabby treadling (with the same options as Tools → Add Tabby), so tabby is a choice rather than baked in. Also: a doubleweave layer-exchange tie-up option, two new Quigley templates (Diamond and Point), and several treadle-prediction fixes. (#271)
* **Recent Designs greys out unreachable files** (offline share / unplugged drive) instead of dropping them — they stay clickable and un-grey when the drive comes back, re-checked each time the File menu opens. (#278)
* **Weave Explorer generators** now show an "Applies to Current Draft Window" label so it's clear where the result lands. (#284)
* **macOS update heads-up.** A short notice now appears before the system password / permission prompt during an update, so the OS prompt isn't a surprise.
* **Weave Assist - TempoTreadle** automatically recovers half-open Wi-Fi connections instead of hanging.
* Removed the legacy WIF parser and its setting.

### Bug Fixes

* **Yarns that share a color are no longer merged on save.** Two yarns with the same color but different thickness or name (e.g. *Skinny White* and *Thick White*, both FFFFFF) kept their own identity through save-and-reopen — previously every thread collapsed onto the first yarn. (Thanks, Russell.)
* **Changing a thread's color no longer disturbs its thickness, and editing a yarn now updates the cloth.** Setting a color to white (or any palette color) stopped wrongly overwriting a thickness you'd set by hand, and editing a yarn's thickness — or recoloring with Color Repeats — now updates every thread that uses it. Governed by the **Sync Thickness** toggle. (#277, #278)
* **Saving to an offline or asleep network location no longer hangs the app.** Save and Save As now check the destination is reachable and write off the UI thread, so you get a clear "destination unavailable" message instead of a "not responding" freeze. (#278)
* **Old drafts no longer show yarn thickness 16.** A legacy yards-per-pound value was being misread as thickness; out-of-range values are now ignored, with a **Reset Yarn Thickness** action to restore the project default. (#291, #276)
* **Color Pattern Draw no longer carries into a generated draft.** It's switched off before generating in Block Substitution, Section Assembly, Common Weaves, Name Draft, Math Drafts, and Krokbragd, so the generated draft behaves normally. (#293, #270)
* **Color-Weave Explorer: Mirror no longer drops a color** from the mirrored tail. (#286)
* **Doubleweave detection in View Cloth no longer false-positives on turned twills**, and a doubleweave draft now renders correctly on the first open — no plain-then-doubleweave flash or double render.
* **Krokbragd designer no longer tags an unrelated draft** just because you opened the designer by accident; a new **Clear** button removes the "Generated from a Krokbragd design" tag without touching your threading or treadling. (#275)
* **Palette Hue sort** no longer lumps neutrals (grays, black, white) in among the reds — the color-wheel order reads cleanly. Applies to the palette panel and the Yarn Catalog.
* **Thread Assistant** asks for confirmation before "Unmark All Threads", so you can't wipe your threading progress by accident. (#273)

## 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 color.
  * **New "Active Palette" section at the top** showing the colors 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 colors at once.
  * **Every palette row is clickable end-to-end** — previously only the small color swatch button selected the color, 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)
