Outward
Install

Details

Last Updated
First Uploaded
Downloads
475
Likes
2
Size
271KB
Dependency string
CeruleanCutlass-SpawnKit-0.5.0
Dependants

SpawnKit changelog

0.5.0 — 2026-08-22

  • Room-wide warm mirror: host-side WantBook ledger, PeerOwned mirror of every peer's mintable species, host gate on party-wide mintability (Phase A observe + Phase B enforce)
  • Wire-protocol bump: sk hello announces 0.5.0; the compare is exact-ordinal, so a mixed-build room refuses co-op loudly (same-bundle rule)
  • Version reconciliation: Plugin.cs already announced 0.5.0 since the warm-mirror wire bump; manifest.json / thunderstore.toml / csproj now agree

0.4.4 — 2026-08-19

  • SpawnKit: casters attack — BUG-CASTERNOSKILL skill-knowledge repair (live-verified)
  • Merge branch 'fix/sa-0815-mpnet' into feature/pet-self-feed
  • Review fixes for the SA lane-F3 MP/net wave (H1, M1, M2, L1-L3)
  • SpawnKit: review fixes — refusal memo must not shadow a later-valid template
  • SA 2026-08-15 lane F3: MP/net teardown, mirror-race + hello-warn fixes
  • SpawnKit: TemplateAiGate cluster fixes (SA-0815 F2b, A4-1/2/3/5/6/7/8 + A9-4)
  • SpawnKit: refuse brainless templates — BUG-PREBUILTADOPT structural AI-graph gate
  • SpawnKit: fix Character.Start never running on far-mint spawns
  • spawn <TAB> completes the species roster — SpawnKit annotates spawn/spawnex/spawnprep; explicit choices win in the engine
  • Forge shell fixes: SSH commands via bash -c (fish login shell); set/cfgdump on every channel mod
  • Forge shell: catalog dump + response protocol + set/cfgdump in ForgeKit; forge CLI/REPL + completion packs; wiki-enriched name db

0.4.3 — 2026-08-11

  • Merge phantom view-ID work: root-cause writeup (donor-stray duplicate registration evicts scene-baked views via PUN's destroy-old resolution), DuplicateViewPolicy veto in DonorPhotonGuard, unknown-view runaway telemetry + hb top= attribution, corpse-mute window accepted as bounded (NK-PHANTOM1/2 + V-PARKLEAK A/B retests owed)
  • Phantom view-ID root cause + fixes: NetKit hb per-id attribution (top=[id×n]) + unknown-view RUNAWAY detector, DonorPhotonGuard duplicate-registration veto over live scene-baked views (DuplicateViewPolicy, unit-tested), V-PARKLEAK bounded-window acceptance + pt-stamped mute line; analysis doc + NK-PHANTOM1/2 retest rows — built, retest owed
  • Merge BUG-CONTROLLERCLOSE fix: controller B via vanilla ControlsInput.MenuCancelSystem() ORed into the same two-stage Esc gate (CI-safe, no Rewired_Core ref; retest owed)
  • Merge Ghost root-scale fix (GV-SCALE1): donor's authored (0.02,1,0.02) root localScale rode Instantiate into every mint; RootScaleFix restores degenerate axes at mint time, SK_-uid + UseLegacyVisual=false scoped; retest GV-SCALE1b owed
  • BUG-CONTROLLERCLOSE: controller B closes the SpawnKit menu via the same two-stage gate as Esc
  • Invisible-Ghost fix: un-crush the donor's root localScale at mint (GV-SCALE1b)
  • DangerousRoads relay whitelist gap + ghostdiag DEGENERATE threshold widen
  • Fable-review fixes: viewID watermark reads outstanding ids (latched), corpse-release fallback never parks a neutralized view, FarCache InFlight can't leak, visual-pass retries count as busy, Notify header placement
  • SpawnKit perf wave: hot-loop allocs removed, adaptive replica enforce, prune throttle, viewID watermark + opt-in corpse release, AI sleep radius, caps 8->12
  • SpawnMenu search bar: pure SpeciesFilter (key + resolved donor name), per-frame latched row set, two-stage Esc
  • Slope-tilt review wave: pure smoother + hysteresis deadband + per-species axis
  • SA-0808 Wave C code half: spawn recovery — census, ghost fix-at-cause, quest-gate clear, TerrainManager guard, abandon quarantine
  • Static-analysis 2026-08-08 wave 0: nine P1/P2 fixes
  • Merge branch 'feat/pet-health-orb'
  • Fix BUG-RAGDOLLJOINTLOSS: the rig re-init pass ate healthy ragdoll joints
  • Pet health orb: replace the IMGUI bar with a green Outward-style vitals circle
  • Fix BUG-GHOSTINERTSPAWN: re-run the init chain Character.Start already spent
  • Merge Lane B: SpawnKit view lifecycle migrated into NetKit.ViewLease (phase 2)
  • Phase-2 view-lease migration: SpawnKit's view lifecycle moves into NetKit
  • Review fixes: strip the whole VFXPlayed rebind family; pin only when it defends something
  • … and 8 more (see git history)

Unreleased

  • Refactor (behavior-preserving; built, NOT live-verified): the PhotonView LIFECYCLE (mint/bind/deferred release/age-out sweep/corpse mute) migrated into NetKit.ViewLease (phase 2 of the view-hygiene migration). MintNormalize and EnemySpawner are thin delegations now; every [SPAWN] log line is byte-stable — though the lease-mechanics lines (deferred/released/aged-out) now carry the NetKit BepInEx source label and follow NetKit's [Diag] LogLevel rather than SpawnKit's (defaults identical; warnings un-gated on both) — and SpawnKit keeps its policy — the master-warn vs mirror-throw no-view asymmetry, the Vanilla-corpse may-persist declaration, and the corpse-worded once-per-entry aged-out notices (supplied to the lease as callbacks). The parked-release ledger + the 300s age-out rule gained their first unit tests (NetKit.Tests/ViewLeaseTests). Template normalization deliberately keeps its bare viewID=0 (a dormant template must stay mintable — see the new warning note in SpawnTemplates.Normalize).

  • DangerousRoads 0.1.1 + SpawnKit 0.4.2: re-pin off CompanionKit 0.4.2

  • DonorKit/SpawnKit: name the two silent paths

  • DonorKit/SpawnKit: five static-analysis fixes

  • DonorKit/SpawnKit cleanup: one rig gate, one Safe() reader

  • Docs sweep: archive, condense, and validate the whole documentation tree

0.4.1 — 2026-08-02

  • Hyena/Pearlbird tuning wave: HAO taunt, gifts, bone relic, feed rule
Thunderstore development is made possible with ads. Please consider making an exception to your adblock.