Skip to content

Releases: darkliquid/LocalRPG

LocalRPG v0.6.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 09:24
a94d04e

What's Changed

  • feat(site): update website copy and screenshots for v0.5.0 by @darkliquid in #149
  • Quality wave 6: a formatting and lint floor, and the board tooling fixed by @darkliquid in #214
  • Refresh the measured stats and record wave 6 progress by @darkliquid in #215
  • Enforce the campaign's image budget and approval policy by @darkliquid in #218
  • Add staticcheck and work its 25 findings by @darkliquid in #217
  • Correct the ask-mode sentence: it was true before I changed it by @darkliquid in #221
  • Gate both test suites on a coverage floor by @darkliquid in #222
  • Add Prettier and ESLint to the frontend, and gate on both by @darkliquid in #223
  • Give every guide article a unique order by @darkliquid in #224
  • Add a generated index to the guides, and point the README at the manual by @darkliquid in #225
  • Split the GUI service into one file per domain by @darkliquid in #227
  • Validate the registry's checksum and download scheme by @darkliquid in #229
  • Close the path-injection and zipslip alerts by @darkliquid in #230
  • Inline the registry guards so the scanner can see them by @darkliquid in #231
  • Record what CodeQL needs from a guard in AGENTS.md by @darkliquid in #232
  • Check the URL the request is actually built from by @darkliquid in #233
  • Record that a green CodeQL check does not clear an alert by @darkliquid in #234
  • chore: track work in Beads instead of a GitHub Project by @darkliquid in #236
  • refactor(gui): split the game route handler by resource by @darkliquid in #235
  • chore(ci): land the CodeQL configuration on main by @darkliquid in #238
  • docs: record the decisions behind the CodeQL alert cluster by @darkliquid in #239
  • fix(gui): answer a 500 when a response cannot be encoded by @darkliquid in #240
  • refactor(gui): route every API error through one mapper by @darkliquid in #241
  • refactor(cli): give every command one testable shape by @darkliquid in #242
  • refactor(content): give Unpack and its neighbours their phases by @darkliquid in #243
  • refactor(cli): give the commands their phases by @darkliquid in #244
  • refactor(gui): split the world and turn route dispatchers by @darkliquid in #245
  • refactor(gui): give the turn's build and stream their phases by @darkliquid in #246
  • refactor(gui): give content import and the provider probes their phases by @darkliquid in #247
  • refactor(gui): split the last ten pkg/gui service methods by @darkliquid in #248
  • refactor(engine): give campaign creation, staging and streaming their phases by @darkliquid in #249
  • refactor(harness): give retrieval, the budget and the router their phases by @darkliquid in #250
  • refactor(provider): give every provider its phases by @darkliquid in #251
  • refactor(export): give the render, the script and the bundle their phases by @darkliquid in #252
  • refactor: give eight more long functions across the tree their phases by @darkliquid in #253
  • refactor: give the final ten singles under a hundred lines their phases by @darkliquid in #254
  • test: add function length gate test enforcing eighty-line budget by @darkliquid in #255
  • test: guard entity field-list duplication across entity and storage by @darkliquid in #256
  • chore: delete dead code, unreachable branches, and duplicate helpers by @darkliquid in #257
  • docs(packages): document 12 core Go packages (RD-4) by @darkliquid in #258
  • refactor(rules): explain and encapsulate panics in JS host bindings (RD-7) by @darkliquid in #259
  • refactor(engine,rules): replace role and mode literals with constants (RD-8) by @darkliquid in #260
  • fix(storage,engine): stop discarding errors in the write path (RD-6) by @darkliquid in #261
  • Split the 987-line turn function into named phases (RD-3) by @darkliquid in #262
  • Document the lower layers' exported symbols, and measure the rest (RD-5) by @darkliquid in #263
  • Report a config file that does not parse by @darkliquid in #265
  • Say what a coverage profile actually counts, and check the thing that is not layout-sensitive by @darkliquid in #266
  • Document the GUI's exported surface by @darkliquid in #267
  • Document the provider package's exported surface by @darkliquid in #268
  • Document the configuration schema's exported surface by @darkliquid in #269
  • Document the prompt and provider plumbing by @darkliquid in #270
  • Document the media pipelines, the model manager and the encoders by @darkliquid in #271
  • Document the last exported symbols, and make revive a gate by @darkliquid in #272
  • Say why a turn has no illustration by @darkliquid in #273
  • Spec: surface failures instead of logging them (FE-9) by @darkliquid in #274
  • Add the one place a failure is shown by @darkliquid in #275
  • Tell the player when a turn, a save or a generate failed by @darkliquid in #276
  • Report a load that left the view incomplete by @darkliquid in #277
  • Report the settings, campaign, recap and audio failures by @darkliquid in #278
  • Report the last App.tsx failures, and finish the file by @darkliquid in #279
  • Report a campaign settings failure instead of logging it by @darkliquid in #280
  • Report a launcher failure instead of logging it by @darkliquid in #281
  • Say why the voice input's four lines are not reported by @darkliquid in #282
  • Report a studio, registry, campaign or docs failure by @darkliquid in #283
  • Finish the failure sweep, and account for every console call by @darkliquid in #284
  • Record how a frontend failure is surfaced by @darkliquid in #285
  • Spec: replace any and the unsafe casts (FE-8) by @darkliquid in #286
  • Type the two DTO state bags as unknown by @darkliquid in #287
  • One errorMessage helper instead of three copies by @darkliquid in #288
  • Drop the catch annotations that hid the error type by @darkliquid in #289
  • Name the type the provider editors cast to by @darkliquid in #290
  • Type the provider-test parameter, and make any an error by @darkliquid in #291
  • Spec: unify the API client (FE-7) by @darkliquid in #292
  • Route a failed response through errorFromResponse by @darkliquid in #293
  • Put the schema request in the client, name the media one by @darkliquid in #294
  • Remove the instance methods nothing called by @darkliquid in #295
  • One modal shell that declares itself and holds focus by @darkliquid in #296
  • Spec: the modal primitive (FE-2) by @darkliquid in #297
  • Record the first pass over the modal surfaces by @darkliquid in #298
  • Give a bespoke dialog the modal's focus behaviour by @darkliquid in #299
  • Give the docs modal focus, and one Escape handler by @darkliquid in #300
    *...
Read more

LocalRPG v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 21:12
417fe9a

What's Changed

  • feat(project): add tasks to find and track development work by @darkliquid in #91
  • docs: prefer modern Go and feature-branch commits in agent guidance by @darkliquid in #93
  • Add frontend unit tests and a gated browser end-to-end suite by @darkliquid in #95
  • build(deps): bump source-map-js from 1.2.1 to 1.2.2 in /frontend in the npm_and_yarn group across 1 directory by @dependabot[bot] in #94
  • feat: provider depth, richer checks, and robust record handling by @darkliquid in #92
  • Complete Wave 2: player-facing depth by @darkliquid in #96
  • feat(embeddings): local ONNX encoder for semantic recall by @darkliquid in #98
  • feat(embeddings): choose the embeddings system from the settings UI by @darkliquid in #99
  • feat(oracle): make narrative-oracle a state-aware expert system by @darkliquid in #100
  • feat: one-click fully-offline preset bundle (LF-4) by @darkliquid in #101
  • docs: local-first onboarding page (LF-5) by @darkliquid in #102
  • ci: cache dependencies and build the frontend once by @darkliquid in #103
  • feat(content): content package format (PKG-1) by @darkliquid in #104
  • feat(content): export and import content packages (PKG-2) by @darkliquid in #105
  • feat(content): versioning, dependencies, and lockfile (PKG-3) by @darkliquid in #106
  • feat: content provenance (checksums and signatures) by @darkliquid in #107
  • feat: registry client by @darkliquid in #108
  • fix: match registry UI types to the index schema by @darkliquid in #109
  • docs: describe editing content outside the app by @darkliquid in #110
  • feat: generate, review, and commit worlds with AI by @darkliquid in #111
  • feat: AI system generation (epic #26) by @darkliquid in #112
  • feat: ordered provider chains with selection rules (MP-4, #30) by @darkliquid in #113
  • feat: procedural placeholder variety (epic #21) by @darkliquid in #115
  • feat: opposed rolls resolve a check against an opponent (SYS-4, #40) by @darkliquid in #114
  • feat: roll the dice at the table and argue the stakes (epic #19) by @darkliquid in #116
  • feat(scenes): scene consistency and exporting by @darkliquid in #117
  • feat(audio): authoritative playback ledger (RB-3) by @darkliquid in #118
  • feat(engine): bounded malformed-response retry (RB-4) by @darkliquid in #119
  • test(robustness): fuzz and property tests (RB-6) by @darkliquid in #120
  • feat(theatre): effects, captions, and export improvements (epic #22) by @darkliquid in #121
  • feat(editor): delete entities from the folder tree by @darkliquid in #134
  • feat(registry): show and manage content registry sources by @darkliquid in #135
  • fix(generation): stop failing on an unreadable model reply by @darkliquid in #136
  • fix(rolls): stop roll mechanics appearing as narrative text by @darkliquid in #137
  • fix(play): never show a broken portrait or a silent audio failure by @darkliquid in #138
  • feat(studio): start from a base without overwriting, and document the sandbox by @darkliquid in #140
  • feat(scene): match the characters, and illustrate only major changes by @darkliquid in #139
  • feat(settings): collapse the limit fields behind an advanced disclosure by @darkliquid in #141
  • feat(systems): a Tests tab that can define scenarios by @darkliquid in #142
  • feat(studio): examples in the mechanics form, and usable creation prompts by @darkliquid in #143
  • feat(launcher): render a system's own creation prompts by @darkliquid in #144
  • Split the Settings Studio into panels with secondary tabs by @darkliquid in #145
  • Stop a campaign reset serving the previous run's scene images by @darkliquid in #146
  • feat: separate an entity's authored and current appearance by @darkliquid in #148

New Contributors

Full Changelog: v0.4.1...v0.5.0

LocalRPG v0.4.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 12:15
de1ddc4

What's Changed

  • Add a guided wizard for creating entities by @darkliquid in #13
  • Restate the opening scene at the start of the first turn by @darkliquid in #14
  • fix(gui): keep a campaign's artwork and voice when it restarts by @darkliquid in #15

Full Changelog: v0.4.0...v0.4.1

LocalRPG v0.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 21:58
c2bebf8

What's Changed

  • fix(tts): multi-speaker speech_metadata and batch grouping parity by @darkliquid in #11
  • fix(security): resolve CodeQL alerts for path injection, zip slip, bounds, and XSS by @darkliquid in #12
  • feat(content): a real editor and folder organisation by @darkliquid in #10

Full Changelog: v0.3.0...v0.4.0

LocalRPG v0.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 06:55
3d07f6b

What's Changed

  • feat: turn audio, persona attribution, portrait pipeline and desktop GUI polish by @darkliquid in #9

Full Changelog: v0.2.0...v0.3.0

Improved turn handling, TTS batching and new providers

Choose a tag to compare

@darkliquid darkliquid released this 03 Oct 14:10
b7c491d

What's Changed

  • feat(tts): add Fish Audio S2 local provider via vLLM-Omni by @darkliquid in #3
  • Make speech synthesis batched, multi-speaker and offline-capable by @darkliquid in #4
  • docs(providers): add dedicated guides for local self-hosted engines by @darkliquid in #5
  • feat(provider): add Cartesia TTS (Sonic) and STT (Ink Whisper) integration by @darkliquid in #7
  • Add Inworld AI as an LLM, TTS and STT provider by @darkliquid in #6
  • feat(engine): replace submit_turn with a progressive turn stream by @darkliquid in #8

Full Changelog: v0.1.0...v0.2.0

LocalRPG v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 15:31
9313ae6