## richardwilkes/gcs — v5.50.0…v5.51.0

_101 commits._

### Features
- **Consolidate the calculators and add some improvements to them** (a6d304a)
- **Add an Explosion & Area Attack calculator** (111b5f6)
- **Add a Collision & Falling Damage (B430-B431) calculator** (11d3371)
- **Share the titled editor section scaffold and add button across the defaults, features, prereq and study panels** (831e4fb)
- **Share the string and numeric field editing core, and the add*Field helper scaffolding** (f000a21)
- **Share the new-item command handlers, resync view-state preservation and hierarchy/note toggles across the page dockables** (5a1a814)
- **Consolidate the add-trait/equipment-with-features test setup onto shared helpers** (8ba4d2d)
- **Consolidate the New*FromFile load-and-check-version prologue onto loadVersionedFile and jio.LoadNew** (f7b729d)
- **Closes #1070: Add configurable number formatting** (2111535)

### Fixes
- **Consolidate node list I/O, unmarshal fix-ups, shared cell/header arms and modifier cloning onto generic helpers** (e19ece3)

### Backend
- **Reset release notes** (7ea6436)
- **Speed up the formatting check pass** (aa08131)
- **Hide the -finish-update cmd line flag, as it is for internal use** (14bf6e6)
- **Shorten tooltip** (abb00a5)
- **Adding a few values to the scripting entity (#1129)** (b916b4f)
- **Update deps** (0146b64)
- **Record the executable path in the update state so the helper never execs the bundle directory** (57abbf1)
- **Clean up comments** (485f5de)
- **Collapse the enumgen enumInfo accessors and drop the unused first/last template funcs** (62ed89f)
- **Share the page dockable scaffold and list command installers across the sheet, template and loot sheet** (9147f2c)
- **Update embedded data to match current Master Library data** (098029b)
- **Share the settings-view scaffold via settingsSpec/initSettings and an activateDockable guard** (0433ef4)
- **Share the labeled target-managed field, popup and script-field scaffold across the settings panels** (bffa2ba)
- **Share the provider editing hooks, file lists, max-adjustment bonuses and the node JSON envelope** (6b35045)
- **Share the test scaffolds for feature switches, library checks, save flows, alt-drops, seam drops and toggles** (f3ed9a9)
- **Share the clone-with-weapon scaffold across the four node types in the clone weapons test** (b965fc5)
- **Share the pan-drag mouse handlers and wire the markdown dockable's pan to its scroller** (6bb7714)
- **Share the table undo bracket, the sheet-settings option table and the selected-row edit** (9daa438)
- **Share the scroll-panning drag between the image, markdown and PDF dockables** (e4bd039)
- **Share the prerequisite row and criteria panel scaffolding** (7b8ab2a)
- **Share the file-system name prompt, the search match stepper and the navigator test fixtures** (3e3e1be)
- **Share the list question dialog scaffold and the provider-table/alt-drop test helpers** (61359c1)
- **Share the save-file dialog and derive context menu items from their actions** (c610841)
- **Remove some of the handoff startup messages** (c613423)
- **Share the checkbox, initial-scale and membership-panel construction in the general settings dockable** (62f71fa)
- **Share the save/restore-for-test idiom across the ux tests via swapForTest** (b73a287)
- **Share the selection-criteria row across the feature builders and gather the switchable test item constructors** (6993473)
- **Share the editor list panel and the page sheet-settings column logic across the providers** (2f9a600)
- **Share the standard table command handler installation across the editor, dockable and page-list tables** (1b6fb05)
- **Share the label and randomizer field construction across the sheet's profile blocks** (510ec1e)
- **Share the fixed-point prototype and units-field construction across the decimal, length and weight fields** (8d6cf79)
- **Share the container conversion checks and undo recording across both directions** (d207bdd)
- **Share the settings popup menu construction and selection wiring** (d39f4d4)
- **Share the target-undo recording and RefKey setup across the undo-aware widgets** (c405ab2)
- **Update to latest unison, which addresses an inability to use hardware-accelerated graphics on some Windows ARM64 platforms** (198b0c2)
- **Share the file-backed state, methods and loading across the dockables** (03752de)
- **Share the calculator's row, popup, checkbox and result-label construction** (e1ddfdb)
- **Share the editor row setup, page field syncers, titled page block setup and pool threshold undo edits** (0ace871)
- **Share the standard open-file dialog setup across the open action, imports, page refs and the portrait** (7976543)
- **Share the transient window placement across the about box, progress window and undocked dockables** (9b4c6d9)
- **Share the updater's retry loop across rename, exchange, remove and detach** (2f1ca69)
- **Share the file editor contract tests and the test panel-tree walkers** (c0f120e)
- **Share the weapon owner-modifier traversal, effective-ST resolution, parse test scaffold and DX skill fixture** (348a1b2)
- **Share the library sync loop across sheet, template and loot files** (893edf7)
- **Share the legacy tags unmarshal, the spell bonus data and the skill-to-defense conversion** (f6b4519)
- **Share the skill/spell calc marshaling and the study, skill default and pointer clone helpers** (165f4d7)
- **Make SheetLayoutNode.String production code and drop the two test-only tree renderers** (8bbea77)
- **Consolidate the script wrapper list, finder, weapon, modifier and self-provider idioms onto shared helpers** (896e0ea)
- **Share the GitHub GET, the library install loop and the notification-isolation test setup** (7e5ea4a)
- **Share the filtered extension list construction in file_type.go via registeredExtensions** (07036a1)
- **Share the typed-list JSON decoder between Features and Prereqs and collapse the per-type weapon bonus constructors onto NewWeaponBonus** (9477c5f)
- **Consolidate the legacy export template scanner, weapon loop drivers and node-count arms onto shared helpers** (32105f1)
- **Consolidate the shared node sync fields onto NodeSyncData and the list-hash idiom onto hashList/hashStrings** (fbd4605)
- **Share the Features JSON round-trip check between the max-uses and max-level bonus tests** (26ed431)
- **Consolidate the modifier-value grammar (x/×, %, CF) onto shared fxp helpers** (5defb43)
- **Consolidate entity feature walks, prereq evaluation, bonus lookups, source syncing and trait-level sums onto shared helpers** (fd3b6c6)
- **Consolidate the Convert extension switch onto a generic convertFile helper and an extension-keyed converters map** (31702d8)
- **Consolidate ConditionalModifierBonus and ReactionBonus onto a shared situationBonus and one generic collector** (a8d3710)
- **Consolidate attribute classification onto AttributeDef.Kind and switch both exporters to it** (57070f4)
- **Consolidate the string-decoding UnmarshalJSONFrom implementations onto a generic jio.UnmarshalStringFrom helper** (4b9930f)
- **Generate the criteria NumericComparison and StringComparison enums with enumgen** (124093e)
- **Consolidate the skill and spell points-merge onto a shared generic mergePoints helper** (f842213)
- **Consolidate the copy-to-sheet and copy-to-template selection handlers onto a shared generic copySelectionTo helper** (fd2d670)
- **Consolidate the sheet, template and loot page-list enumeration and sync-or-rebuild arms onto shared sheetList helpers** (f3b4f14)
- **Consolidate the sheet, template and loot "sync with all sources" undo machinery onto a shared syncWithAllSources helper** (bd37aea)
- **Consolidate the dockable drag-reroute wiring onto a shared installDropRerouting helper** (6dc1160)
- **Consolidate the equipment max uses and trait max level feature panels onto a shared generic builder** (62545a4)
- **Consolidate the trait and equipment modifier alt-drop handlers onto a shared modifierAltDropSupport helper** (aedc008)
- **Consolidate the table providers onto a shared generic listProvider base** (ad8219f)
- **Consolidate the editor and points editor dockable shells onto a shared editorShell base** (38e78d5)
- **Consolidate the conditional and reaction modifier table providers onto one spec-driven condModProvider** (4e9df4d)
- **Consolidate the dockable toolbar shell and UI scale field into ux/toolbar.go helpers** (5da5b61)
- **Consolidate the undoable settings dockables and row drag-and-drop onto shared generic bases** (49ef7b3)
- **Consolidate the modal progress window and background runners into ux/progress_window.go** (b9eb6dd)
- **Consolidate the headless editor tests' shared editor lookup, save dialog probe and file reload helpers** (e7e18f0)
- **Consolidate the repeated action registrations in registerActions into focus/library/sheet/undo helpers** (bdc2ae0)
- **Git for Windows has no native ARM64 POSIX runtime: its ARM64 installer** (fddc924)
- **Consolidate weapon parry/block Resolve and their tests into shared defense helpers** (bb90c26)
- **Consolidate weapon stat flat/percent bonus accumulation into weaponAdjustment helpers** (4691946)
- **Consolidate Skill/Spell IncrementSkillLevel and DecrementSkillLevel into shared SkillLevelStepper helpers** (08344d4)
- **Consolidate the shared node identity and notes wiring of the script wrappers** (dc4e243)
- **Consolidate the shared export keys of the legacy node loops into processLegacyNodeKey** (631bfa1)
- **Consolidate shared EquipmentMaxUsesBonus/TraitMaxLevelBonus logic into an embedded MaxUsesModAmount** (ee20677)
- **Consolidate shared TraitModifier/EquipmentModifier behaviour into modifier.go helpers** (cabf91e)
- **Ignore all variants of issues*.md at the root** (6c43220)
- **Consolidate the font & color theme set code** (bcc2112)
- **Merge input when adding training names in bulk** (2798dbe)
- **Tweak layout of ancestry & names panels** (31927cc)
- **FIrst pass at adding Ancestory and Names editors; more tweaks likely to follow** (9f3c3fb)
- **Closes #1017: Allow Trait Modifiers to apply per-level features without per-level point pricing** (92c4be1)
- **Reset for next release** (f899577)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/richardwilkes/gcs?utm_source=github-action)._