LivingBase Enhanced -- Changelog

======================================================================
v3.0.8 (2026-10-14) -- previous version: v3.0.7
======================================================================

ADDED -- Spawn Menu tree sorting
- Everything below the top-level categories (People/Decor/Signs/Custom/...) in the Spawn Menu
  window now sorts alphabetically automatically, at every level, including inside Custom > Poses
  and Custom > Hand. The top-level category order stays exactly as curated. New content always
  lands in the right alphabetical spot without ever needing a manual tree reorder.

REBUILT -- Photo Mode: Selfie camera
- Selfie is now a real native camera instead of the old shared tripod rig. Scroll the mouse wheel
  to zoom in and out. Three new buttons -- "<", "|", ">" -- switch between an over-the-left-shoulder,
  straight-on, or over-the-right-shoulder view. Selfie no longer has a Reset button; pressing Selfie
  again clears the view like before, and every activation starts fresh (no saved position/zoom).
  FOV still applies to Selfie; the Move/Rotate/Coords panel does not.
- Fixed a brief wrong-direction flash when first enabling Selfie.

FIXED
- A rapid or held press of the window-toggle key (Numpad -) could open and close the Spawn Menu
  window repeatedly instead of toggling once, caused by a focus-handoff race between the game and
  the companion window. Now debounced.
- Crew could attack (and potentially kill) a restored Wolf immediately after a world/save load,
  before it had been marked friendly -- the same protection other restored creatures already had
  was missing specifically for Wolf. Wolves are now protected the instant they're restored, not
  only after a short delay.

DOCUMENTED
- A known issue where the Spawn Menu companion window can crash on some RTX 50-series
  ("Blackwell") GPUs when NVIDIA DLSS Multi Frame Generation (3x/4x) is enabled -- a driver/
  hardware interaction, not a bug in this mod's own window, which already uses a fully isolated
  rendering device. Workaround: disable Multi Frame Generation, or drop it to the standard 2x
  Frame Generation mode. See README.md's Known Issues section for detail.

======================================================================
v3.0.7 (2026-10-09) -- previous version: v3.0.6
======================================================================

ADDED -- Custom-*.ini drop-in content
- Add your own spawn-menu content (decor, signs, people, monstrous, animals, poses, and hand
  items) by dropping a Custom-*.ini file into the LivingBase folder, no code editing or DLL
  rebuild required. See Custom-Template.ini for a filled-in example of every type, including the
  new "effect" kind below.
- New "effect" kind for decor entries: spawns an invisible actor with a Niagara particle effect
  attached (the same recipe behind Decor > Misc's existing fire/water-effect items), so a custom
  entry can be a pure visual effect instead of needing its own mesh or Blueprint.
- An "Update" button next to the Spawn Tree's filter box re-scans your Custom-*.ini files and
  refreshes every tree (Spawn Tree, Poses, Hand items) on the spot -- no more restarting the game
  after every ini edit.

ADDED -- Decor
- New "Defense" category (Decor > Defense): Large Cannon, Small Cannon.
- New Special Items dropdown entry on the Signs tab: Grave Headstone (Fountain), a text-capable
  gravestone built on the fountain mesh.

ADDED -- Hand Item Transform panel
- Custom tab > Poses and Actions > "Hand Item Transform": move, rotate, and scale whatever's
  currently in the selected hand (Left/Right), independently of the item's own baked attachment
  position. Includes a Precision slider (shared with Move/Rotate) and a Reset Transform button.
  Adjustments are saved per character and survive a world reload.

FIXED
- Object Scale's number readout stayed at 1.00 for non-decor targets (monstrous creatures,
  animals) even though the +/- buttons were already resizing them -- it now shows the real
  current scale for those targets too.
- A hand item's saved position could jump to the wrong spot right after re-detecting a target
  (e.g. after leaving and re-entering the world), and pressing Play on an already-posed, freshly
  detected target could snap it into a T-pose instead of resuming the pose.

======================================================================
v3.0.6 (2026-10-06) -- previous version: v3.0.5
======================================================================

ADDED -- Target List tab
- Three new categories: Lights (the Photo Mode tab's own active lights), Build Signs/Labels
  (populated text on build-menu pieces like wall plaques -- Del only, since those aren't props
  this mod can move/despawn), and Placed Signs (populated text on props this mod spawned --
  both + and Del). "Del" jumps to the Signs tab and selects that object for editing, the same
  thing the physical Delete key already does.

ADDED -- Instructions tab rework
- The tab now opens to a Table of Contents with the Overview text above it; click any entry to
  open that section, with a "Back to Contents" button at both the top and bottom of the page.
- Inline images throughout, each in its own folder for cleanliness, with a thin outline so
  screenshots of the GUI itself don't blend into the window background.
- Numbered steps that match each screenshot's own callout numbers, with nested bullets (dot for
  one level in, dash for two) preserved from the original written documentation.
- Links (install prerequisites, Credits) are now real clickable hyperlinks that open in your
  browser, each on its own line.

ADDED -- config.txt keybind parity
- Every keybind Windrose Mod Settings can rebind can now also be set directly in config.txt via
  KEY_<name> = <UE4SS key name> lines, for anyone who doesn't want to install that mod just to
  remap a key. Also added the 3 feature toggles config.txt was missing (RESTORE_ON_LOAD,
  DECOR_COLLISION, LEASH_ENABLED) and removed 2 stale lines that silently did nothing
  (KEYS_ENABLED_ONSTART, LIVE_EDIT -- removed from the code back in the 2026-08-24 numpad rebuild).

CHANGED
- Custom tab: the Hair section's "Sets" row now has an X button (clears Beard/Mustache/Whiskers
  together) -- it never had one, which was also throwing the Mustache row's label slightly out of
  alignment on the line below it.
- Photo Mode: Selfie is now 50uu closer to your face by default.

FIXED
- Replace now preserves the target's full rotation (pitch/roll, not just yaw), matching Despawn's
  own undo. Move (grab + relocate) is now tracked by Undo too, captured at Confirm with the
  original position and rotation from pickup.
- The Precision slider's in-game tooltip claimed it "doesn't affect rotate" -- it does (fixed back
  on 2026-08-19); the tooltip just never got updated to say so until now.
- Spawned/restored animals and monsters (goats, boars, wolves, drowned, etc.) could end up in a
  prolonged fight with your crew right after spawning or on a world load, if the one-time
  friendly-faction application happened to run before a crew existed yet to copy from -- it now
  retries for a few seconds instead of only ever trying once. Wolves and Alpha Wolves specifically
  also had their own native perception/memory components stripped (the same treatment goats
  already had), since crew could otherwise still notice and react to them regardless of faction.
- Switching to a second (or later) world in the same play session could leave sign text
  unrestored, even standing right next to a sign that was definitely saved -- the sign-reload
  check only ever ran once per session instead of once per world.
- On-screen toast notifications (restore progress, "base restored and ready", etc.) could stop
  appearing entirely after switching to a second world, while still showing up correctly in the
  GUI's History tab -- rebuilt to use a notification window this mod owns and mounts itself,
  instead of borrowing the game's own, which could end up silently orphaned across a level
  transition.
- The "move once to confirm the world has loaded" status now stays visible for as long as it's
  actually relevant (until you move), instead of disappearing after a few fixed seconds during a
  loading screen, where it was easy to miss entirely.
- "Fishing Barrel and Kettle" was filed under the Barrels category in the spawn menu; moved to
  Tables, where it actually belongs.

CHANGED
- Credits: added a "Development Tooling" entry crediting Claude Code (Anthropic), which this mod's
  code and documentation were built iteratively with.

======================================================================
v3.0.5 (2026-10-01) -- previous version: v3.0.0
======================================================================

ADDED -- New "Text" tab: write on signs, chests and more
- Aim at a text object and press Delete (or click "Select Object") to select it, type up to
  four lines, then Apply / Clear / Reset. Clear erases only the text and keeps the colour/font;
  Reset wipes every customization back to default. The number of characters per line follows the
  width of the text box, so what you type is what fits.
- Works on signs (wooden labels), Wooden Chests, Bale, Box, Barrel and Sack, plus the new
  Additional Items below (the boards take a single line). Text, colour, font and glow are saved per world and come back on
  load (a "Populating Signs" progress toast shows while they are re-applied to spawned props).
- Three fonts per sign: Greengoth (default), Script and the game's built-in font. The two custom
  fonts ship in a small pak included in this download (LivingBaseSignFonts, in R5\Content\Paks\~mods\,
  licences in FONT_CREDITS.txt); delete it and every sign quietly uses the built-in font.
- Colour picker with ten presets plus the last colour used, and an "Add Glow" checkbox (text that
  ignores scene lighting).
- Additional Items dropdown (spawn them from the Text tab): Sign Post, Wall Flag 1-4, Board 1-3
  (One line) and Obelisk. The boards and the obelisk are solid; the wall flags can be walked
  through. Each is placed with the normal spawn/confirm flow and is target-locked AND selected for
  text the moment you place it. Locking anything with Numpad + that can carry text also selects it
  in the Text tab.

ADDED -- Custom tab camera: Decor View, orbit and zoom
- New Decor View button (only for decor targets): looks at the centre of the object from a
  distance based on its largest dimension, level, starting on the side you are looking from.
  Full Body and Face View are now for non-decor targets only.
- The orbit row is now < > + - : < > orbit around the target, + - zoom in/out (5% of the starting
  distance per press, with limits). All four repeat while held, like the move buttons, and work
  for Full Body and Face View too.
- While a Custom view is active, the Photo Mode tab's move pad, Rotate arrows, FOV slider and
  Reset also drive it (not Coords or Selfie). Nothing persists: every new view starts fresh, and
  locking a different object ends the view and returns the normal camera.

ADDED -- Custom water features and furniture (Decor > Misc > Water, Decor > Furniture)
- Decor > Misc > Water: four flat water planes (Circle, Octagon, Archlike, Semicircular), the fountain's
  water flow and upward spout, three empty (solid) garden fountains, and the fountain's spray, splash and
  side-spout particle effects -- for building your own pools and fountains. The particle effects are placed
  and saved like any other decor.
- Decor > Furniture > Tables: ten new tables and display trays (merchant, captain's, trader and round
  tables); Decor > Furniture > Shelving (new): three Tortuga shelves. All are solid.
- New console command: lbhelp find <text> searches every console command by name, usage or description
  (for example "lbhelp find fx"). The sign commands and lbunlock now appear in lbhelp too.

ADDED -- Spawn menu and Move tab
- Spawn tree filter box (with a red X) replaces the old Refresh button.
- Object Scale (Move tab): resize decor objects with +/- buttons.
- GUI Scale dropdown (0.5x - 3x); the window height is capped to the monitor.
- New decor: Shackles and Dead Prisoner 1-3. Spawn tab: the green Confirm button spans two rows,
  with Spawn/Move/Replace above Cancel/Despawn/Undo.
- New console commands: lbunlock (re-run the hidden build-piece unlock scan), lbmeshshift (tune
  where a spawned loot mesh sits relative to its actor), lbsolid [on|off] (test whether a placed
  mesh blocks you), lbniagara (turn an object's particle effect off/on), lbtestsigntext and
  lbsignmargin (sign layout tuning).

CHANGED
- Barbie picker characters now spawn exactly as built: no underwear strip and no automatic default
  customization entry, so your own customizations are never affected by the spawn.
- Idle rows (frozen animals/monsters/NPCs) now re-freeze immediately on reload instead of walking
  until their restore pass finishes.
- Original Upright Senkamati (Warrior, Hunter, Thrall, Caster) now use the Marita-style walker AI and
  animation, like the other upright variants.
- The Swamp stele's pick-up sparkle effect is removed.
- The hidden build-piece unlock now stops scanning once it has confirmed everything is unlocked,
  instead of repeating.
- The GUI window refuses to close while a Photo Mode time change is running (with a safety timeout),
  and an aborted time change restores the original day speed.
- Numpad Minus no longer re-opens the window right after closing it.
- Sign text now fills the board: short words are as large as the board's height and width allow (the old
  per-sign size caps are gone). The built-in font keeps its own cap of 25.
- Saved sign text is refilled in line at the end of the world restore ("Populating Signs n/N"), for
  build-mode signs and chests as well as spawned items, instead of waiting for a background timer.
  Moving a spawned sign after writing on it no longer loses its text on reload.
- Wall Flag 2's text board is now 80 x 100.
- New placements in Floor Clipping mode now start 650 uu from the camera (was 450).
- The Home key no longer runs the DefaultParams probe (it clashed with Summon Ghost Sailors' Home key). The probe is still available as the console command lbprobedefaultparams.

FIXED -- Stability
- A crash that struck mid-way through applying sign text (and some arrow-key moves and
  customization changes) is fixed. Cause: the mod's background timers ran at the same moment as
  heavy game work. The mod now pauses its timers during that work, idles its GUI polling while the
  window is closed, and no longer runs about 25 retired test-command loops (Config.EXPERIMENT_LOOPS).
- World reload: classes are pre-loaded and spawned one at a time, a belt-array crash site is fixed,
  decor/Senkamati warm-up assets are loaded ahead of time, and a legacy save-file migration bug that
  could re-import old data into a brand-new world is fixed.
- The mod now runs on the stock UE4SS posted on Nexus -- no patched UE4SS is needed.
- Idle (frozen) actors saved by an older version, such as Sow, Thomas Richards and Marita, now come back frozen
  after a world load instead of walking off.
- A world-load restore can no longer run its mover/customization passes more than once.
- The Decor section of spawn_menu.ini was repaired: the curated names and order are restored, and rows added
  after the 3.0.0 ini (Shackles, Dead Prisoner 1-3) no longer shift later items onto the wrong spawn.

NOTES
- Run the game on the stock UE4SS (experimental build from Nexus). Do NOT use the lbreload console
  command to apply changes: reloading can leave the mod's timers stale, which freezes the GUI until
  you relaunch. Restart the game instead.
- Because the GUI window is a compiled companion (LivingBaseSpawnMenu), update both mod folders
  together; a Lua-only update with an old companion will mis-number the Additional Items list.

======================================================================
v3.0.0 (2026-09-26) -- previous version: v2.1.7.1 -- MAJOR REWORK
======================================================================

This release changed enough that it's easier to describe as a new baseline than as an
incremental diff -- see the shipped README.md for the full current feature set. Highlights:

REBUILT -- Numpad-only control scheme, GUI is now the only way to spawn/replace anything
- Every keyboard-only spawn/decoration/live-edit key from earlier versions (Num1-Num8,
  the apostrophe/semicolon decor keys, PageUp/PageDown+arrow live-edit, the old F5-F8
  placement-preview keys, Insert, '\') is RETIRED. The GUI window is now the only way to
  spawn, replace, or customize anything; the numpad (7/8/9/4/5/6 move-or-rotate, 2 mode
  toggle, 1/3/+/-/*//. for release-cursor/despawn/lock/open/grab/floor-clip, 0 confirm)
  works identically in-game or with the GUI focused, for movement/confirmation/despawn/
  undo. See README.md's NUMPAD CONTROLS section for the full table.

ADDED -- Two new GUI tabs: Customize (F6) and Photo Mode (F7)
- Customize: spawn a from-scratch custom character (sex/Body Type/Origin, "Spawn Custom"),
  then dress/pose ANY target-locked actor through five sections -- Body (skin tone, eye
  color, physique, height, AI toggle, one-way Make Ghost), Hair, Clothes (with a fit-safety
  net, toggleable via the new lbunlockclothes console command), Belts and Straps (plus
  Accessories detect/randomize), and Poses and Actions. "Read Current" reads a target's live
  appearance into every control; "Save Customizations" pins the current setup so it survives
  a reload (most rosters don't need this -- see the persistence change below).
- Photo Mode: camera positioning (Tripod/Selfie/First Person presets, a directional move
  pad, target highlight, precise Coords editor) and a 3-slot portable lighting rig
  (enable/color/brightness/throw per slot), for setting up screenshots. Not persisted by
  design.

CHANGED -- Custom character/appearance no longer persists by default
- Earlier builds saved a randomized appearance (hair/skin/etc.) permanently the first time
  it was picked. Most rosters now regenerate a fresh look on every world reload, the same
  as a brand-new spawn -- exactly how the game's own native NPCs behave. Use "Save
  Customizations" (Customize tab) on a specific actor if you want its current appearance to
  survive a reload instead of re-rolling.

ADDED -- Senkamati "Original Upright" presentation, alongside a reorganized "Wild"
- Every Senkamati archetype (Warrior, Hunter, Thrall, Caster) now has TWO full
  presentations, each organized Mask On / Mask Off, each with a moving and a frozen
  ("Idle") version of every entry: "Wild" (the original crew-based re-skins, naturally
  upright already) and the new "Original Upright" (the native mob body given an upright
  gait via a foreign AI/animation pairing -- cosmetic only, can't fight with real weapons,
  so Warrior/Hunter have their weapons stripped). Both presentations correctly restore mask
  state, weapons, and idle-freeze on a world reload, not just on first spawn.

FIXED -- Curated legs/underwear look for Wild Caster/Hunter/Thrall
- The mask-off DeCorrupt pass that hides each archetype's original leg armor used to leave
  plain default underwear showing. Caster, Hunter, and Thrall (Warrior unchanged, by
  request) now get a specific curated Legs piece + palette color instead, applied on both
  spawn and restore.

ADDED -- "(Idle)" frozen version of every ordinary Animals entry
- Boars, goats, dodos, wolves, crocodiles, and crabs each now have a wandering "(Mobile)"
  and a frozen, statue-like "(Idle)" version of every individual look -- previously only the
  monstrous/Corrupted variants had this option.

FIXED -- Several restore-on-reload bugs surfaced building the above
- A frozen ("Idle") actor could get silently un-frozen a few seconds after a world-load
  restore (an automatic placement-confirm step was re-enabling its AI unless a specific
  internal flag was set) -- fixed centrally for every "Idle" roster, not just the new ones.
- A new roster reusing an existing native class path could get caught by an OLDER, unrelated
  restore rule meant for a different roster on that same class, misapplying the wrong
  ruleset (wrong mask/weapon handling, wrong idle detection) on reload. Fixed with a proper
  per-roster identity marker and priority ordering.
- A restored Thrall (Wild) was being silently misidentified as a Warrior on reload (missing
  from an archetype-detection pattern list), losing its correct mask/weapon/legs treatment
  as a result. Fixed.

FIXED -- GUI window no longer confuses Steam's F12 screenshot / FPS counter
- The companion window's own D3D11 render thread used to start presenting frames before the
  game's own real swapchain existed, winning whatever "which swapchain is the game"
  detection Steam's overlay runs once at startup -- so F12 captured the GUI instead of the
  game, and the FPS counter drew in the wrong corner. Fixed with a short startup delay
  before the window creates its own device, giving the game's real swapchain a head start.
  The window now takes a few seconds to appear after the loading screen finishes -- expected,
  not a bug.

ADDED -- New GUI tab: Target List
- Scans tracked actors within a chosen radius (3/5/8/10/15m), filtered by four category
  checkboxes (People/Monsterous/Animals/Decor), and lists them nearest-first with a small
  "+" button to target-lock any one directly by index -- unlike Numpad+, this can lock
  something out of view entirely, to help locate it if its position isn't known. Shows a
  large live-updating distance readout for whatever's currently locked, and a "+/-" button
  next to Selected Target (same lock/release idiom as the other tabs).

ADDED -- "Mark Target" checkbox (Target List tab)
- While checked, highlights whatever's currently locked: a glowing marker material for
  decor, or a following flame-ring effect (for people, animals, monsters) that tracks the
  target as it moves. Automatically clears when unchecked or when nothing's targeted, and
  follows the lock if it moves to a different target.

FIXED -- Non-statue characters (Senkamati, named NPCs) now nudge relative to their own facing
- Live-edit movement previously only moved a statue's own facing direction; every other
  character (crew reskins, named NPCs) incorrectly moved along a fixed world axis instead,
  the same as decor. Now any character moves relative to whichever way it's facing, matching
  statue behavior; decor is unchanged.

RESTORED -- Structure shield (PROTECT_STRUCTURES), independent of the old Blackbeard raid
- Building blocks are invulnerable to damage again (on by default -- config.txt toggle),
  the same mechanism removed in v2.1.0 alongside the Blackbeard raid feature. It was never
  actually tied to the raid's own logic -- it shields the block itself against damage from
  any source, so it protects the base from ordinary hostile mobs exactly as it always did.
  Applied instantly to newly-placed blocks and swept over the base shortly after each load.

Everything from the v3.0.0 (2026-08-22) preview/relocate/statue-targeting rebuild, and the
first version of the "Custom" GUI category (Poses/Skin Tones/Hair/Clothes), also ships in
this release -- superseded in UX by the Customize tab above, but the underlying placement
preview (confirm/cancel/grab/free-build), statue targeting, walking-women outfit rework, and
Drops-decor restore fix from that work are all still present and unchanged in behavior.

======================================================================
v2.1.5 (2026-08-18) -- previous version: v2.1.0
======================================================================

REORGANIZED GUI SPAWN TREE -- a full hand-curated pass
- The categorized spawn tree (LivingBaseSpawnMenu) has been completely
  reorganized: new top-level sections, new subgrouping, and a real
  friendly name for every entry, replacing the old mechanically
  auto-generated grouping. Covers every roster -- crew, statues,
  townsfolk, walking women, Senkamati, animals, and decor (including
  Drops, positioned alphabetically within Decor).
- Keyboard cycling and lblook/lbspawn are unaffected -- this is purely
  the GUI tree's organization, not a change to what's spawnable or how
  it's reached from the keyboard.

TRIMMED -- crew roster
- Removed 9 crew looks (Smugglers Musketeer/Sailor/Sergeant, Tortuga
  Musketeer/Sailor/Sergeant, Brethren Musketeer/Sailor/Sergeant) as
  part of the tree reorganization. Player Crew, all 3 Buccaneers looks,
  and Brethren Woman remain.

FIXED -- two duplicate Drops labels
- "Reliable Pistol" was used for two different pistol drops -- one is
  now "Worn-Out Pistol". "Clay Tablet" (used for both tablet tiers) is
  now "Clay Tablet 1" / "Clay Tablet 2".

FIXED -- Merchant walking-woman reskin's clipping pants
- Her legs mesh was a male-proportioned piece mismatched to her female
  body, causing visible clipping. Now uses the correct female legs
  mesh from the same armor set.

FIXED -- vanilla Herbalist/Gatherer turning into a random character on reload
- A plain, un-reskinned Herbalist or Gatherer (spawned directly, not
  through the walking-women reskin system) would silently get
  reassigned a random character's look every time the world reloaded.
  Restoring one now correctly leaves it as its own plain look instead.

======================================================================
v2.1.0 (2026-08-18) -- previous version: v2.0.0
======================================================================

FULL 3-AXIS ROTATION -- the GUI's move panel and Coords window
- The move panel's old single-axis Rot L/R + Flip 180 are replaced with
  three full rows -- X, Y, Z (Roll, Pitch, Yaw) -- each with its own
  Left/Right button, so a placed prop can rest at any angle, not just
  spun around its vertical axis. The Coords window's single "Rotation"
  field is now three: Rotation X/Y/Z.
- Keyboard: ',' '.' stay the only two rotate keys -- '/' (the plain key
  next to '.', not the numpad one) cycles which axis they act on, in
  either the game or the GUI window, toast-confirmed each press. Both
  input paths share the same selection, so they can never disagree.
- Persists correctly across reloads and target-lock edits.

DROPS -- a new decor category, browsable in the GUI and by cycling ' in-game
- 18 hand-picked themed categories -- Animal Parts, Artifacts, Clothes,
  Currency, Ingredients, Keys, Meals, Mined, Misc, Potions/Bottles/
  Healing, Seeds, Tailoring, Tools, Treasure, Trophies, Weapons, Wood,
  Writings -- covering everything from weapon and armor pieces to
  currency, ingredients, and treasure.
- Every entry has a real display name (e.g. "Bezoar," not
  "Loot_T02_Bezoar_01") in both the GUI tree and on-screen toasts.

REMOVED -- Blackbeard raid and structure invulnerability
- The Blackbeard raid (drop a flag, trigger a pirate wave, disabled by
  default since v1.3.7) and the PROTECT_STRUCTURES toggle it justified
  are both fully removed from the code now, not just disabled -- lack
  of interest and ongoing maintenance burden.
- The prop that used to be reserved for the raid flag
  (Shared_Camp_PropsComposition_70) is now a normal furniture piece,
  spawnable like any other decoration.

======================================================================
v2.0.0 (2026-08-16) -- previous version: v1.3.10
======================================================================

A NEW GUI -- LivingBaseSpawnMenu, a second, compiled companion mod
- The download now bundles LivingBaseSpawnMenu, a real clickable window:
  a categorized spawn tree covering every roster, a held-repeat move/
  edit panel (Forward/Back/Left/Right/Up/Down/rotate as buttons you can
  hold, sidestepping the engine's dropped-repeat-keypress limitation on
  the equivalent keyboard keys), and a precise typed X/Y/Z/Rotation
  coordinate editor with Preview/Apply/Reset/Cancel. In-window
  Instructions and History tabs too.
- Press '-' in-game to open/close it (starts closed each session); '='
  steals OS focus for it once it's open. Every existing keyboard control
  still works exactly as before -- the GUI is an additional, faster path
  to the same rosters, not a replacement.
- The "In-Game Keys" toggle (Insert) is narrowed in scope: it now
  controls ONLY LivingBase's own keyboard keys; the GUI's buttons are
  independent of it by design, since the GUI is the primary workflow
  now. Starts OFF by default each session (was ON).

UNIQUE PER-PLACEMENT NAMES
- Every placed object now gets its own distinguishable name (e.g.
  "Brethren Woman 1", "Brethren Woman 2") instead of every copy of the
  same look sharing one identical label. Stored in persist.txt, so
  names stay stable across reloads; older saves get names assigned
  automatically the first time each entry restores.

SENKAMATI
- Added a frozen/idle counterpart for the Herbalist-base female Caster
  crew re-skin, matching the already-existing Gatherer-base frozen pair.

======================================================================
v1.3.10 (2026-08-14) -- previous version: v1.3.9
======================================================================

SENKAMATI TRIBALS (Num7) -- frozen "idle" looks added
- Every existing Num7 look (Warrior, Hunter, and female Caster -- crew re-skin, mob body,
  and original corrupted, each with/without helmet) now has a frozen counterpart that
  stays in place instead of wandering. Roster grew from 15 to 30 looks.

======================================================================
v1.3.9 (2026-08-14) -- previous version: v1.3.8
======================================================================

LIVE-EDIT -- target lock + a 2x precision step
- New: Numpad + toggles a target lock. While locked, Num9 despawn, the
  ']'/'[' cycle keys, and every live-edit key (raise/lower/rotate/slide)
  all act on that ONE object instead of re-picking "nearest in front" on
  every press -- so you can back away, turn around, or work at an angle
  without losing your target. Toast-confirms on/off, naming the target;
  auto-releases (with its own toast and reason) if the locked object gets
  despawned, or if you walk more than ~15m away from it (tunable via
  Config.TARGET_LOCK_MAX_DIST). Requires LIVE_EDIT on, same as the rest
  of the live-edit key set.
- The precision cycle (Numpad -) gained a 5th stop: full -> 1/2 -> 1/4 ->
  1/8 -> 2x -> back to full, for fast coarse repositioning.

WALKING WOMEN + SENKAMATI -- a second base body (the Herbalist)
- A pawn's color/palette can't be changed after it's built in this game
  (confirmed a while back) -- so the only real way to get figure/hair-
  color/palette variety is a different underlying NPC class. Added the
  Herbalist (a walking female NPC, same family as the existing Gatherer
  base) as a second option.
- Every Walking Woman look (Numpad .) -- Woman With Hat, Woman With Hair,
  Merchant, Letty, and Marita -- now comes in TWO base bodies, "Base 1"
  (Gatherer) and "Base 2" (Herbalist), for 10 stops total. Same outfit/
  hair-style rules either way (Letty keeps her ponytail on both, etc.);
  only the underlying figure/hair-color/palette differs.
- Senkamati (Num 7): the female Caster's crew re-skin now has a Herbalist-
  base pair alongside the existing Gatherer-base pair (with/without
  helmet each), so the roster grows from 13 to 15 looks.

======================================================================
v1.3.8 (2026-08-13) -- previous version: v1.3.7
======================================================================

PER-WORLD SAVES -- multiple worlds no longer share one base
- Fixed a real bug: Windrose lets you keep several separate named-save
  worlds, but LivingBase was saving everyone's placed crew/decor to ONE
  shared persist.txt/spawn_ledger.txt regardless of which world was
  loaded. Loading a different world restored the WRONG crew into it, and
  saving there overwrote the file the other world depended on.
- Each world now gets its own save file, keyed off that world's own
  internal island ID (read from the game's own world state -- not
  something you need to do anything with; it's automatic).
- Upgrading from an older version: whichever world you load FIRST after
  updating automatically inherits your existing save (nothing lost), and
  that old shared file is then renamed to persist.bak/spawn_ledger.bak so
  no OTHER world can also pick it up. Every world after that starts
  clean, exactly as if it had always had its own save.

CASTER -- improved body fit (used with permission)
- Replaced the previous underwear-mesh patch (used to cover a visible
  pelvis-area gap on the re-skinned human body) with a proper body-mesh
  fix instead, bundled directly with the mod. Removes a seam/gap that
  could show at the hips -- no other behavior changes.

======================================================================
v1.3.7 (2026-08-13) -- previous version: v1.3.5
======================================================================

DECORATIONS -- off the F-row entirely
- Replaced the six individual F1-F6 decoration-category keys with a 2-key
  "active category" system: ';' places one decoration from whichever
  category is currently active, ''' advances which category is active
  (nature -> boats -> wrecks -> tents -> storage -> furniture -> back to
  nature), announced with an on-screen toast/log line so you always know
  what ';' will place next. Changing category doesn't spawn anything by
  itself.
- Motivation: another installed mod (WeatherControl) also binds plain
  F-row keys, and this UE4SS build doesn't reliably distinguish a
  Shift-modified F-key press from a plain one, so two mods bound to the
  same physical F-key both fired on every press. Moving decor placement
  off the F-row entirely avoids this whole class of conflict by
  construction, for any current or future F-row-binding mod, not just
  this one.
- Decor key bindings and category data were pulled into their own file,
  Scripts/fkeys.lua, isolated from config.lua.
- Fixed a real, longstanding restore bug found while validating this:
  decorations were never recognized by the save-restore classifier
  (isStaticLine in spawner.lua), which only checked for posed-statue
  class names. Every decoration has therefore always been silently
  routed into the AI-mover restore path instead of the fast static-actor
  path -- staggered at the slower per-mover interval, and counted in the
  "post-processing N mover(s)..." toast even though decorations never
  needed post-processing at all. Decorations now restore instantly like
  statues, and mover counts/toasts only reflect genuine AI-driven spawns.

BLACKBEARD RAID -- disabled by default
- Config.BBRAID_ENABLED is now false out of the box (was true). The
  feature (raidflag/bbraid keys, the raid trigger itself) is untouched
  in the code and easy to re-enable (Config.BBRAID_ENABLED = true in
  config.lua AND config.txt), but ships off. Removed from the
  R5ModSettings Settings > Mods panel while disabled -- re-add its
  entries in modsettings.lua's M.TOGGLE_DEFS/M.KEYBIND_DEFS if reviving it.

======================================================================
v1.3.5 (2026-08-11) -- previous version: v1.3.0
======================================================================

WALKING WOMEN (Numpad Decimal key)
- New: a walking female NPC that can be re-skinned to look like Letty,
  Marita Suares, or the Buccaneers Merchant -- previously these characters
  could only be placed as frozen, posed statues; there was no way to have
  them wander your base like a normal crew member. Also includes two plain
  looks for general ambient crowd variety, "Woman With Hat" and "Woman With
  Hair". Repeated presses cycle through: Woman With Hat, Woman With Hair,
  Merchant, Letty, Marita, in that order.
- Skin tone and hair now vary too: the two generic looks randomize both on
  every placement, and Letty/Marita/Merchant now randomize skin tone on top
  of their own fixed outfit and hairstyle. Re-rolls fresh on every reload by
  design -- this isn't meant to lock in one permanent appearance.
- Outfit/hair COLOR was investigated and is not possible to change on any
  NPC in this game -- confirmed a build-time-only engine input; forcing it
  earlier crashes. Not pursued further.
- Fixed several real clipping/appearance bugs found through live testing:
  hats not hiding correctly under several different headwear naming
  patterns, a rare case of a forced hat overwriting a torso piece instead
  (toplessness), and "hat hair" persisting with no hat actually placed
  (baldness).
- Placing several of these NPCs and reloading now correctly restores every
  one of them, not just the first of each look -- a queuing bug was
  silently dropping the rest. The "base restored" notification now also
  correctly waits for this restore work to finish before appearing.

SENKAMATI (Numpad 7) roster fixes
- Reloading now correctly restores which of the 14 comparison rows a
  Senkamati actor was (including its helmet on/off state) instead of
  always falling back to one fixed look -- previously undocumented as a
  known gap.
- Fixed a bug where a masked and unmasked Senkamati of the same type,
  placed at the same time, could fight over each other's headdress state
  after a reload, and a separate bug where the saved helmet state wasn't
  being read back correctly at all. Both are now fixed.

======================================================================
v1.3.0 (2026-08-10) -- previous version: v1.2.0
======================================================================

SENKAMATI (Numpad 7) -- normal posture for Hunter and Caster
- The Hunter and Caster now walk with a normal human posture instead of their
  native mob's lumbering gait -- the same fix already used for the Warrior,
  applied to the other two for the first time. Under the hood: both are now
  re-skinned onto a walking human-body pawn instead of spawning as the mob
  itself, using the same composite-armor system as the Warrior. The Caster's
  new base is a genuine walking female NPC, found by probing a real townsfolk
  woman already wandering the world (crew pawns are male-only).
- Removed the Healer from the roster -- visually identical to the Caster, not
  worth the extra placements.
- Fixed a real bug found along the way: a de-corrupt rule copied from the
  Caster's mob form was unintentionally HIDING her own Hands/Legs/Feet armor
  the instant it attached, on the new human-body version. Only affected the
  new re-skinned Caster; the original mob form was never affected.
- Fixed a second issue specific to the re-skinned bodies: a visible gap at the
  pelvis where the tribal "fringe" armor piece (designed to show the mob's own
  skin through its gaps) had nothing to show through on a human body. Closed
  with a substitute garment piece for the Hunter and Caster's new re-skinned
  looks. Left off the Warrior at his own request -- barely noticeable under
  his own armor's longer fringe, and he's otherwise spawned exactly as before
  this update (no other changes to his look).
- The Hunter and Warrior can now optionally keep their tribal helmet/headdress
  visible instead of it being hidden by default.
- De-corrupting the Hunter/Caster's ORIGINAL mob-body look (as opposed to the
  new re-skinned one above) is now lighter-touch: it only cleans up skin tone,
  eyes, and hair color. Armor pieces and facial hair that used to be hidden
  are now left visible.
- The re-skinned Caster no longer randomly speaks a townsfolk NPC's idle voice
  lines (a side effect of her new human-body base).
- Num7 now cycles through 14 placements instead of 4, covering every look
  above side by side for comparison: 2 Warrior looks (with/without helmet), 4
  Hunter looks (original mob body vs. re-skinned, each with/without helmet), 4
  Caster looks (same pattern), and 3 "original corrupted" looks (Warrior,
  Hunter, Caster in their native, undiluted corrupted appearance -- still
  peaceful and safe to stand next to, just not visually cleaned up).

======================================================================
v1.2.0 (2026-08-07) -- previous version: v1.1.2
======================================================================

BUG FIXES
- Fixed a bug where StripInteraction and StripQuestScenario silently failed on
  every single spawn: bracket-indexing a UE4SS TArray of components returned an
  unusable wrapper object instead of the component itself, so no interaction
  prompt or quest-scenario component was ever actually being destroyed. Root
  cause found and fixed. Named quest NPCs placed via the mod (Letty, Francois
  Arno, and the new roster entries below) now correctly lose their nameplate,
  interact prompt, and quest dialogue.
- Fixed several diagnostic log messages (spawn failures, composite-look
  resolution) being silently hidden behind the VERBOSE toggle, which made real
  failures impossible to diagnose from the log.

NEW: WALKING FACTION VISITORS
- Crew (Numpad 1) now cycles through 13 looks per press instead of always
  spawning the same default crew pawn: the original look, plus 12 faction-visitor
  re-skins -- Buccaneers, Smugglers, People of Tortuga, and Brethren of the Coast,
  each with a Musketeer, Sailor, and Sergeant look, plus a Brethren of the Coast
  woman.
- These are real crew pawns with their own working AI, so they walk/patrol
  normally -- re-skinned via the game's own composite-mesh system.
- Known limitation: uniform colors are currently generic, not faction-matched.
  An attempt to fix this triggered a fatal native crash on world load and was
  reverted.
- Known limitation: the Brethren of the Coast "woman" look currently presents a
  male body under the female gear. A fix attempt made this worse (broken walk
  animation, still male-presenting) and was reverted.

STANDING STATUES (Numpad 3) -- 15 new entries
- Added 5 confirmed faction leaders / prominent NPCs, all with quest dialogue
  automatically stripped by the bug fix above: Benjamin Hornigold (Brethren of
  the Coast), Henri Boucher (Buccaneers), Marita Suares (Smugglers), and Long Ben
  and Charlie Sharp (People of Tortuga).
- Added 10 more entries found via a full roster audit against the game's own
  asset manifest: DrunkCanoneer, plus missing Merchant and LeanOnWall pose
  variants across all four factions.

SEATED STATUES (Numpad 4) -- 1 new entry
- Added a missing ground-sitter pose variant (People of Tortuga).

INTERACTIVE STATUES (Numpad 6) -- 4 new entries
- Added missing "rummaging a table" and "warming by a fire" pose variants across
  Brethren of the Coast and People of Tortuga.

CHAIR/STOOL STATUES (Numpad 5) -- audited against the game's asset manifest, no
  gaps found.

TOWNSMAN (Numpad 2) -- audited, no gaps found (all 6 Handyman professions were
  already present).

SENKAMATI (Numpad 7) -- 1 new entry
- Added the Healer, joining the Warrior, Hunter, and Caster in the cycle.
- Investigated the Giant Shaker (a boss-tier enemy) but deliberately left it out
  of the roster.

LIVESTOCK / ANIMALS (Numpad 8) -- expanded from 5 to 14 entries
- Added Goat Mega (the path already existed in the mod but was never enabled).
- Added the Sow, Charging Boar, and Boar Mega to the boar family.
- Added the Wolf and Alpha Wolf.
- Added the Crocodile and a corrupted "Plague" Crocodile variant.
- All new animals are tamed/pacified the same way as the existing ones (copy
  your crew's faction, made invincible). Only the original Boar has a
  fully-proven passive-AI override; the rest rely on the faction copy alone and
  have not all been exhaustively tested for lingering aggression.

KEYBINDS
- The "cycle look" action (previously a single, forward-only Numpad + press) is
  now a bidirectional pair: ']' cycles forward, '[' cycles backward. Numpad + is
  free again as a result.
- ']'/'[' collide with the game's own "Change Target" combat bind. The Insert
  toggle can disable every LivingBase key at once if that's ever an issue.

CLEANUP
- Removed a dead, never-correct guess at "walking faction visitor" crew classes
  that never actually resolved to a real game asset.
- Cleaned a stale leftover keybind entry from the R5ModSettings saved-settings
  file (left over from before the cycle key was split in two).
