Skip to content

Releases: Soturine/beamng-soturine-chaos-randomizer

Soturine's Chaos Randomizer 0.6.8

Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Jul 03:36

Soturine's Chaos Randomizer 0.6.8

Status: Experimental prerelease — BeamNG.drive 0.39 compatibility, live
validation pending
.

Automated validation: Passed

Live BeamNG validation: Pending owner validation

Live cases: 0 executed / 0 passed / 0 failed / 60 pending / 0 blocked

Highlights

  • Central compatibility metadata declares 0.39 as the primary target and 0.38.6
    as the minimum, with runtime detection/classification and visible warnings.
  • Registry warm-up/partial states retry by wall clock and preserve the last
    complete cache instead of replacing it with a temporary empty read.
  • Configuration identity separates registry keys, exact case paths, comparison
    paths, basenames, families, display groups, aliases, and translated labels.
  • Spawn/replacement uses before/after world snapshots, returned-object evidence,
    stable acceptance, cardinality enforcement, and owned-only cleanup.
  • Confirmed low-memory denial is distinct from unknown/no-space outcomes;
    temporary/unknown conditions never blacklist content or loop forever.
  • Removal callbacks are generation/ID correlated; stale callbacks are ignored
    and recovery remains bounded/idempotent.
  • Ternary safety covers combustion/electric/hybrid, multiple fuel tanks, N2O,
    engine fluids, optional content, and confirmed core failures.
  • AI sends driveInLane explicitly and does not mark a failed initial command
    as started.
  • The legacy Angular HUD App remains hosted by BeamNG 0.39 Runtime UI; resize,
    remount, timer, and observer lifecycle cleanup is explicit.
  • Settings schema 7 and lineup writes use last-known-good backup, readback, and
    verified rollback; DNA/lineups are preserved and migration is reported.
  • BeamLR, Driver Assistance, other randomizers, and multiplayer sync are
    warning-only conflicts; nothing is disabled automatically.
  • The deterministic manifest derives target/minimum versions from
    COMPATIBILITY.json and binds all required artifact/test/live fields.

Validation boundary

Automated tests execute production Lua through the BeamNG 0.39 console and
cover package/static/JavaScript contracts. They do not prove live spawning,
physics, memory pressure, rendering, performance, or third-party mod behavior.
All 60 owner cases remain Pending.

Assets

  • soturine_chaos_randomizer_0.6.8.zip
  • soturine_chaos_randomizer_0.6.8.zip.sha256
  • soturine_chaos_randomizer_0.6.8.manifest.json

Install the attached ZIP, not GitHub's automatic source archive. Verify the
checksum and manifest, and keep only one Randomizer version enabled.

Soturine's Chaos Randomizer v0.6.7

Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Jul 03:34

Soturine's Chaos Randomizer 0.6.7

Status: Experimental prerelease.

Version 0.6.7 is published for owner validation of the operation-isolation,
Race lifecycle, safety, cardinality, and responsive-UI changes below. Automated
checks pass, but no live BeamNG world was executed in this workspace.

Automated validation: Passed

Live BeamNG validation: Pending owner validation

Live cases: 0 executed / 0 passed / 0 failed / 48 pending / 0 blocked

Highlights

  • Complete state separation between Chaos, Race, and Garage operations.
  • Generation-bound callback tokens reject delayed cross-domain callbacks.
  • Owned, unaccepted orphan candidates are reaped without touching external cars.
  • Logical targets bind to concrete BeamNG IDs only after coherent evidence.
  • Random Car and Full Random enforce one accepted replacement; Scramble keeps
    the same controlled vehicle; rollback is idempotent.
  • Every Race competitor has independent selection, mutation, placement, and
    retry seeds, plus an explicit slot lifecycle.
  • Vehicle safety uses VALID, INVALID_CONFIRMED, or UNKNOWN_OR_PENDING;
    unavailable oil/fuel/metadata evidence is not fabricated into invalidity.
  • Invalid configurations enter session/domain quarantine and cannot create an
    unbounded retry loop.
  • Race supports Player participates and Spectator / camera only with visible
    total-vehicle and AI-opponent semantics.
  • Placement has preview-before-confirm, dynamic formations, vehicle-dimension
    spacing, narrow-area fallback, safe ground checks, and retained-ID movement.
  • The complete Race policy remains available, persisted, preset-aware, and
    included in lineup export/import.
  • Race competitor cards use a bounded internal list with Retry, Fallback, Skip,
    Remove, and relevant ordering controls.
  • Chaos, Garage, Race, and Settings each have their own compact layout and size.
    Closing Details restores the tab's prior height without cumulative growth.

Validation

  • Python: 64 test methods; 966 reported subtests in the final local suite.
  • Lua: 375 unique executed cases and 531 requirement mappings.
  • JavaScript: syntax validation plus 49 UI math/state checks, including 50-cycle
    tab, compact/expanded, and Details restoration loops.
  • Packaging: deterministic ZIP, SHA-256, named manifest, layout, version,
    checksum, reproducibility, and experimental-prerelease gate.

These results are automated evidence, not proof of rendering, physics,
performance, or third-party compatibility in a running BeamNG world.

Known status

This is a non-draft prerelease awaiting live owner validation. The 48 cases in
the versioned plan remain Pending. Bugs must not be described as live-resolved
until the repository owner executes the exact downloaded ZIP and records the
results.

Assets

  • soturine_chaos_randomizer_0.6.7.zip
  • soturine_chaos_randomizer_0.6.7.zip.sha256
  • soturine_chaos_randomizer_0.6.7.manifest.json

Install the attached ZIP, not GitHub's automatic source archive. Verify the
SHA-256 before testing and keep only one Randomizer version enabled.

Soturine's Chaos Randomizer v0.6.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Jul 00:09

Soturine's Chaos Randomizer 0.6.6

Status: Experimental prerelease.

Version 0.6.6 is published for additional live validation. Pending interactive
cases remain documented and are not represented as successful gameplay tests.

Automated validation: Passed

Live BeamNG validation: Pending owner validation

Live cases: 0 executed / 0 passed / 0 failed / 99 pending / 0 blocked

Main corrections

  • Separates original player, selected candidate, clean baseline, last accepted
    generated result, and current mutation attempt.
  • Prefers the last accepted result during recovery and gives critical-part
    protection precedence over optional missing-part freedom.
  • Requires coherent generation/ID-bound tree, tuning, powertrain and energy
    evidence, including two stable samples where applicable.
  • Repairs exact critical dependency paths before full rollback while retaining
    unrelated randomized parts, tuning and paint.
  • Separates fuel, engine oil and coolant evidence and classifies combustion,
    electric, hybrid, trailer, prop and intentional shell targets.
  • Spawns and retains one independent managed ID per Race competitor and makes
    Placement reorder and reposition the existing managed vehicles.
  • Warns about BeamLR and Driver Assistance without disabling third-party mods.
  • Preserves responsive tab sizing and replaces the ambiguous mark with the
    original fox SVG plus transparent 24/32/48/250×120 PNG assets.

Automated validation

  • Python: 61 tests and 907 subtests.
  • Lua: 366 executed cases, 7,911 assertions and 451 requirement mappings.
  • JavaScript: syntax validation plus 27 UI checks.
  • Package, checksum, manifest, version, assets and prerelease gate: Passed.
  • Reproducibility: three independent builds with identical bytes and SHA-256.

These results are not a claim that all behavior was proven in a running BeamNG
world. The 99 interactive cases remain available in the versioned live plan.

Installation

  1. Remove or disable older Chaos Randomizer ZIPs.
  2. Clear BeamNG UI/mod cache if an old app or asset remains visible.
  3. Install only soturine_chaos_randomizer_0.6.6.zip from this release without
    extracting it.
  4. Keep only one version active and add the UI App in BeamNG.
  5. Report conflicts with beamng.log, diagnostics, seed, vehicle/configuration,
    map, mod list and the exact ZIP SHA-256.

Integrity

  • ZIP: soturine_chaos_randomizer_0.6.6.zip
  • Bytes: 342933
  • SHA-256: bac1d6026bc758bd0ffd419b83cfa6456fe14e7e0ab4b8c236d835ac4efb5278
  • Commit: recorded in release-manifest.json
  • Tag: v0.6.6
  • Target: BeamNG.drive 0.38.6.0.19963

Soturine's Chaos Randomizer 0.6.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:40

Soturine's Chaos Randomizer 0.6.4

Experimental prerelease.

Automated validation: Passed.

Live BeamNG validation: Pending owner validation.

0 executed / 0 passed / 0 failed / 110 pending / 0 blocked.

This hotfix addresses the live v0.6.3 stalls at 22% target tracking and 57%
parts reload waiting by using coherent multi-source read-back rather than a
callback as completion authority. It also prevents uncertain fuel metadata,
optional/mod missing parts, and transient parts-tree unreadability from causing
destructive fallback by themselves.

Highlights:

  • callbacks are advisory; already-applied states can complete from read-back;
  • late, early, duplicate, absent, and stale-generation callbacks are bounded;
  • logical targets survive concrete ID recreation and reload;
  • confirmed combustion fuel below 10% is corrected, while ambiguity is warned;
  • only documented core/proven functional loss is fatal for missing parts;
  • explicit success/partial/preserved/rollback/cancel terminal outcomes;
  • automatic per-tab sizing no longer keeps Settings height stuck on Chaos;
  • original friendly flat fox in the header and 250×120 selector icon;
  • expanded evergreen README and complete v0.6.4 validation workspace.

Install by downloading soturine_chaos_randomizer_0.6.4.zip from this release's
Assets and placing it, unextracted, in the BeamNG user mods directory. Remove
older copies and confirm 0.6.4 in the app header.

The attached .sha256 and release-manifest.json identify the exact candidate.
The prerelease is intentionally the owner-validation distribution channel. It
does not claim that gameplay, physics, rendering, performance, clean-profile,
or representative third-party content passed until the repository owner fills
the live report against the downloaded
asset.

Soturine's Chaos Randomizer 0.6.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 08:22

Soturine's Chaos Randomizer 0.6.3

Status: Experimental prerelease — live validation pending owner test.

Status

Automated validation: Passed

Live BeamNG validation: Pending owner validation

Live cases: 0 executed / 0 passed / 0 failed / 110 pending / 0 blocked

This prerelease deliberately publishes the exact experimental build needed for
the repository owner to perform real BeamNG validation. Automated evidence is
not gameplay evidence, and no targeted regression is claimed definitively fixed
in gameplay before that owner test.

Main implementation

  • Separates one logical operation target from concrete BeamNG vehicle IDs.
  • Treats replacement-return IDs and spawn/switch callbacks as candidate evidence.
  • Promotes or rebinds an ID only after coherent player-0, model, configuration,
    generation, timing, stability, and destruction checks.
  • Performs a final free player read before recovery so a correct visible target
    is not discarded merely because its concrete ID changed.
  • Uses real monotonic time for deadlines, watchdogs, retry scheduling,
    cancellation, housekeeping, and Busy release; it never toggles pause.
  • Rejects stale generations and bounds repeated recovery signatures.
  • Prevents terminal phases from resuming Busy.

Bugs targeted

Each item below is implemented and automated; live owner validation pending:

  • Random Car and Full Random stopping at 22%;
  • Scramble stopping at 57%;
  • progress depending on pause/unpause or menu interaction;
  • recovery restoring the previous vehicle after the intended target appeared;
  • repeated recovery/old-vehicle loops and permanent Busy;
  • combustion configurations ending with empty fuel;
  • missing orange Chaos-slider fill;
  • regressed fox artwork;
  • unnecessary Chaos-tab scrolling or incorrect dynamic height.

Dynamic randomization

Vehicles and configurations come from the mounted BeamNG registry. Compatible
part slots and mod parts come from the current hierarchical tree and are
rescanned through bounded convergence. Public tuning variables are discovered
at runtime, normalized, applied, read back, and rescanned until a fixed point,
cycle, or protection limit. Chaos 100 selects every eligible unlocked item that
can be processed honestly. Fuel classification combines storage and variable
metadata so only combustion fuel receives the verified 10% capacity floor.

Installation

  1. Remove or disable every older/duplicate Chaos Randomizer ZIP.
  2. Download soturine_chaos_randomizer_0.6.3.zip from this release's Assets.
  3. Put the ZIP, without extracting it, in the active BeamNG user folder's
    mods directory. For the target build this is normally
    %LOCALAPPDATA%\BeamNG.drive\0.38\mods; use BeamNG Launcher → Manage User
    Folder → Open in Explorer
    if the active folder differs.
  4. Enable the mod, enter Freeroam, open UI Apps, and add Soturine's Chaos
    Randomizer
    .

Do not install GitHub's automatic “Source code” archives.

Owner test request

  1. Install the release ZIP above in a clean profile.
  2. Load Small Grid and leave the game running.
  3. Do not pause or toggle pause as a workaround.
  4. Execute Random Car, Scramble, and Full Random.
  5. Watch the 22% and 57% phases and confirm Busy always terminates.
  6. Use Copy diagnostics for any unexpected result.
  7. Preserve the relevant beamng.log and exact seed/content details.
  8. Continue with the 110-case live plan.

Known limitations

Real BeamNG timing, physics, rendering, UI scaling, performance, and third-party
mod compatibility remain Pending owner validation. Third-party support is best
effort; incomplete or malformed metadata may produce an explicit partial,
unsupported, or failed-safe result.

Assets and integrity

  • ZIP: soturine_chaos_randomizer_0.6.3.zip
  • ZIP bytes: 241492
  • ZIP SHA-256: 486a66da60bfac75d08f1a9584568142846074c110996962e99af2e610d4e9c7
  • Checksum: soturine_chaos_randomizer_0.6.3.sha256
  • Manifest: release-manifest.json, manifest version 3
  • Target commit: the annotated v0.6.3 target recorded by the manifest

Vehicle DNA schema 1, generator 6, SCR6 seeds, earlier saved data, and legacy
Lineup storage/API entry points remain supported.

Soturine's Chaos Randomizer 0.6.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 04:34

Soturine's Chaos Randomizer 0.6.2

Gameplay Lifecycle, Recovery Integrity, Full Feature Audit & UI Polish Hotfix

This is an Experimental pre-1.0 prerelease with best-effort third-party mod support. Automated tests and installed BeamNG 0.38.6 source inspection pass. No final v0.6.2 ZIP was executed in a live BeamNG world in this workspace, so this release does not claim interactively validated gameplay fixes.

Download soturine_chaos_randomizer_0.6.2.zip from this release's Assets, not GitHub's automatic source archive. Verify it with soturine_chaos_randomizer_0.6.2.sha256; release-manifest.json binds the ZIP to the exact tag commit and evidence counts.

Fixed in the implementation

  • Make vehicle verification coherent for one expected ID instead of mixing player ID, player object and global configuration reads.
  • Confirm new-target ownership before mutable parts-tree convergence and keep all parts, tuning, paint, DNA and completion work bound to that target generation.
  • Keep monotonic deadlines, Cancel, watchdog, UI publication, stale-work cleanup, recovery and Busy release active while paused or waiting.
  • Reject callbacks, timers, mutation batches, tuning and paint plans owned by an old operation/phase/target/recovery generation.
  • Separate original, candidate-base, readable, completed-good and recovery snapshot roles; only promote a clean result after final readback, closed ledgers and zero pending work.
  • Use six bounded recovery tiers with explicit snapshot selection, recovery generations, candidate/state fingerprints and terminal loop detection.
  • Isolate new-operation and retry randomness while retaining deterministic fixed seeds, replay, restore and single-option behavior.
  • Ensure Race Cars leave non-terminal states within bounds and expose audited Cars, Placement and Drive/AI controls with capability reasons.
  • Remove dead Chaos space, dynamically resize the host, correct percentage fill/thumb endpoints and use a compact symmetric local fox mark.

Audited

  • Chaos: Random Car, Scramble, Full Random, Undo, Cancel, recovery and diagnostics.
  • Garage: save, metadata, details, Exact/Compatible restore, replay, mutations, reroll, Compare, JSON/package Share and thumbnails.
  • Race: Cars/presets/failure decisions, Placement/managed ownership, destination/route and Drive/AI group controls.
  • Settings: General, Safety, Seed, Locks, Advanced, Diagnostics and capability degradation.
  • Vehicle, placement and AI adapters; lifecycle hooks; README, architecture, lifecycle, UI, compatibility, testing, roadmap and release workflows.

The feature audit maps every exported public entry point to its dependencies, automated evidence, live status, limitation and documentation. Vehicle DNA schema 1, generator 6, SCR6 seeds, v0.6.0/v0.6.1 saved data and legacy lineup storage/API reads remain compatible.

Root-cause status

The v0.6.1 mixed-view verification defect is confirmed from source: its ID, object and parts/configuration reads were not proven to describe one vehicle during replacement/reload. The link from that race to the reported pause-triggered convergence and old-snapshot restoration is partially confirmed by source and deterministic fixtures. Whether the v0.6.2 implementation eliminates every observed case in real gameplay is still unresolved until live execution.

Interactive status

v0.6.2: 0 Passed / 0 Failed / 80 Pending / 0 Blocked. Automated fixtures are not counted as live passes.

The eight actually reproduced v0.6.1 results remain historical Failed evidence:

  • pause-independent Random Car;
  • pause-independent Scramble;
  • pause-independent Full Random;
  • target ownership after spawn;
  • no return to the previous vehicle;
  • Busy/stall recovery;
  • recovery-loop prevention;
  • Full Random complete pipeline (Failed/Partial observation).

See the exact v0.6.2 plan, v0.6.2 report, requirements matrix, and preserved v0.6.1 report.

Known limitations

  • External vehicle mods may contain their own Lua errors. The randomizer can detect/degrade/recover within its boundary but cannot repair third-party mods.
  • Capability availability varies by map, vehicle and BeamNG build; unavailable/unsupported controls show a reason.
  • Safety is metadata evidence, not a physics/drivability guarantee.
  • Scripted/Recorded AI playback is unsupported in the audited portable contract; recording commands alone do not enable playback.
  • Actual driving, raycast placement, UI scale/rendering, restart/corruption recovery and representative mod compatibility remain Pending.

Soturine's Chaos Randomizer 0.6.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 26 Jul 21:27

Soturine's Chaos Randomizer 0.6.1

Runtime Lifecycle, Race Workflow & Compact UI Hotfix

Experimental pre-1.0 release. Third-party mod support remains best-effort.

Fixed

  • Pause-dependent Random Car, Scramble and Full Random lifecycle processing in
    deterministic fixtures: target polling and required housekeeping now advance
    independently from simulation pause state.
  • Busy deadlocks and missing-callback waits through explicit terminal cleanup,
    safe cancellation and wall-clock deadlines.
  • Recovery loops and repeated clean/mutated cycles through recovery-only
    generations, bounded retry, quarantine, and no automatic re-randomization.
  • Stale parts, tuning and paint writes after recovery; old plans and target/read
    state are invalidated before recovery work.
  • Automatic clicks reusing weak entropy or recent selections; every click gets
    fresh session entropy and completed-result anti-repeat history.
  • Race competitors stuck Pending; processing now exposes Selecting, Loading,
    Randomizing and Verifying before a terminal status.
  • Non-functional Race presets and the native preset selector; three buttons now
    apply real policies and manual edits mark Custom.
  • Persisted legacy locks and implicit saved-seed activation; migration starts
    unlocked, lock persistence is opt-in, and Random every run is the default.
  • Hidden active-lock/fixed-seed state through contextual warnings and Unlock All.
  • Cluttered Chaos layout, undersized text/actions, ineffective near-duplicate
    compact modes, the Chaos slider endpoint geometry, and unclear Race workflow.

Changed

  • Consolidated Lineup, Spawn and AI under the public Race workflow with
    Cars, Placement and Drive steps.
  • Reduced top-level navigation to Chaos, Garage, Race, Settings.
  • Moved seed and locks to Settings; Chaos keeps only direct randomization,
    slider, warnings and operation feedback.
  • Garage now groups Saved, Compare, and Share.
  • Removed ambiguous C/S header controls and retained only true Collapsed and
    Expanded modes at a 340×320 default and 300×220 minimum.
  • Added a lightweight local decorative fox SVG to the header.
  • Public terminology uses Race/Race Cars while saved lineup schema and
    .lineup.json compatibility remain intact.

Compatibility

  • BeamNG target inspected: 0.38.6.0.19963.
  • Vehicle DNA schema remains 1.
  • Generator remains 6 and new seeds remain SCR6-....
  • Existing generator-4/5 snapshots and legacy Lineup data remain readable under
    their recorded semantics; no destructive migration is required.
  • External mod Lua errors can break those mods' own vehicles. They are not
    treated as proof against a Randomizer candidate without ownership evidence.

Automated tests

Local result: 44/44 Python tests passed, including 304/304 Lua cases in
the installed BeamNG Lua console. All 76 mandatory v0.6.1 requirement mappings
are registered. These fixture results do not prove live gameplay.

Interactive status

0 Passed / 0 Failed / 50 Pending / 0 Blocked. No v0.6.1 gameplay/UI run was
performed in this delivery environment. The exact cases are in the interactive
plan and report; historical v0.6.0 failures are not promoted or counted as
v0.6.1 results.

Known limitations

  • Mods are best-effort and can expose incomplete/transient metadata.
  • External mod Lua errors can break their own vehicles.
  • AI depends on NavGraph and build capabilities.
  • Metadata does not prove drivability.
  • Performance depends on installed mods and vehicle complexity.

Soturine's Chaos Randomizer 0.6.0

Pre-release

Choose a tag to compare

@Soturine Soturine released this 24 Jul 06:36

Soturine's Chaos Randomizer 0.6.0

Full Coverage, Tuning Integrity, Chaos Lineup & AI Director.

Experimental pre-1.0 release. Mod support is best-effort. Automated/source
evidence does not replace the 60-row live BeamNG plan, which is still entirely
Pending. Publication does not claim real gameplay validation.

Implemented

  • Full Coverage ledgers for slots, public tuning, and supported paint fields,
    including Chaos-100 terminal classification, tree convergence, local
    isolation, scoped quarantine, and honest Partial handling.
  • Generic post-parts tuning discovery, change/read-back, bounded rescan,
    variable/category rollback, explicit correlation evidence, dynamic locks,
    and generator-6 Vehicle DNA values.
  • Sequential 2–16 competitor Chaos Lineup with episode/competitor/domain
    substreams, variety rules, acceptance policies, incremental checkpoints,
    failure actions, schema-1 data-only import/export, and local compatibility
    recomputation.
  • Spawn Director with deterministic formations/custom point, audited headings,
    spatial preview, one concurrent load, stable DNA read-back, managed target
    generations, bounded ID rebind, respawn, removal, and ownership checks.
  • Capability-gated AI Director and NavGraph routes for Destination, Route,
    Chase, Follow, and Traffic; camera destination placement; exact/snap;
    stagger; finish/stuck policies; bounded replan; compact recording controls.
  • Explicit pause-aware lifecycle phases, operation/phase/target generations,
    transaction roles, recovery-only write guards, dual clocks, progress
    watchdog, actionable Busy UI, and bounded diagnostics.

Behavior changes

Chaos 100 attempts and classifies every eligible unlocked entry; it does not
promise that every entry changes. Completed means coverage is terminal and
completion read-back/validation passed. Random Car still loads a complete
configuration without Scramble; Scramble includes parts/tuning/paint on the
current model; Full Random includes a new base plus that complete pipeline.

Lineup reuses Full Random. A competitor cannot be Ready while writes, timers,
or callbacks remain pending. Metadata uncertainty and potential non-drivability
require explicit acceptance. Spawn and AI operations act only on verified
managed generations.

Pause-State Lifecycle Fix

The static evidence identified five interacting failure risks: parts-tree data
participating too early in target stability, lifecycle work starving later
housekeeping, mixed timing semantics, recovery retaining an old mutation
continuation, and readable/base snapshots being confused with completed-good.
Live causality for the originally observed heritage case is not yet claimed.

The implementation separates target identity from parts-tree convergence;
derives Busy from an explicit phase machine; separates real monotonic and
simulation progression; binds callbacks, timers, ledgers, and mutation plans to
operation/phase/target generations; invalidates every old plan before
recovery; distinguishes original, candidate-base, current-target,
recovery-target, readable, and completed-good snapshots; and blocks any stale
parts/tuning/paint write with stale_callback_ignored or
recovery_target_received_stale_mutation diagnostics.

The deterministic A/B harness covers a failed vehicle B, recovery to A, and a
late B callback without allowing B's plan onto A. Cancel, Copy diagnostics,
phase details, simulation-resume messaging, and stalled warnings remain
available while destructive actions are gated. static fix implemented;
interactive confirmation pending
.

Coverage results

Automated coverage exercises target/tree separation, Full Coverage ledgers,
tuning integrity, Lineup, Spawn/managed generations, routes/AI, UI source
contracts, stale callbacks, snapshot roles, pause/slow-motion/frame-step
clocks, recovery isolation, package structure, and honest test counting.
The release tree records 44 unique Python methods, 294 unique Lua test
functions/executed cases, 269 requirement mappings, and 3,290 Lua assertions.
These counts are rerun and copied into the manifest built from the tagged tested
commit.

Backward compatibility

The visible version is exactly 0.6.0. Vehicle DNA schema remains 1 because new
fields remain optional. Generator 6 emits
SCR6-...; generator-4 and generator-5 snapshots remain restorable and are
never reinterpreted as generator 6. The internal/public randomConfig action
ID remains compatible. Historical tags and releases are untouched.

Automated tests

The current repository suite passes all 44 unique Python methods, including 11
package methods and 32 static methods plus the Lua wrapper. The wrapper passes
294 unique Lua functions/cases, 269 requirement mappings, and 3,290 assertions.
Mappings and aliases are not new test functions. The same suite passes from the
release tree before tagging.

Interactive tests

Current 0.6.0 result: 0 Passed / 0 Failed / 60 Pending. The exact plan is
in docs/INTERACTIVE_TEST_PLAN_0.6.0.md. Until it is executed, no gameplay,
mod, NavGraph, multi-vehicle, recording, scaling, or recovery claim is promoted
to Passed.

Real BeamNG gameplay validation remains pending.
The pause-state lifecycle correction is statically implemented and covered by
automated simulations, but interactive confirmation is still pending.

Release assets

Release asset names are:

  • soturine_chaos_randomizer_0.6.0.zip
  • soturine_chaos_randomizer_0.6.0.sha256
  • release-manifest.json

They are rebuilt reproducibly from the exact tagged commit and validated after
download, with lua/, ui/, and settings/ at ZIP root.

Known limitations

  • Real BeamNG world/UI evidence is Pending.
  • Generic safety metadata cannot prove drivability.
  • Third-party mod scripts can still alter IDs, trees, controllers, and timing;
    the mod responds best-effort and fails closed where evidence is insufficient.
  • Recorded/Scripted AI playback is unavailable in the audited build contract.
  • A NavGraph path is not the visual GPS line and may not exist for an exact
    world point.
  • Sixteen live vehicles are hardware/map/content-dependent best-effort.

Not performed

No Repository submission, interactive gameplay pass, or gameplay-validation
claim was performed. Historical releases and tags are not modified.

Soturine's Chaos Randomizer 0.5.0-alpha.2

Choose a tag to compare

@github-actions github-actions released this 24 Jul 03:43

0.5.0-alpha.2 — Mod Vehicle Lifecycle, Creative Integrity & Compact UI Hotfix

This prerelease fixes the lifecycle and recovery defects observed by the maintainer on alpha.1 while retaining an honest alpha support boundary.

Highlights

  • The visible Random Config action is now Random Car. It still uses the internal randomConfig operation and does not mutate parts, tuning, or paint after spawn.
  • Full Random now succeeds only after the selected target stabilizes and the post-spawn Scramble/tuning/paint/final-read-back pipeline finishes. Spawn-only success is gone.
  • Replacement and reload tracking tolerates bounded multi-ID mod lifecycles, delayed read-back, auxiliary vehicles, trailers, props, and destroyed intermediates while still cancelling a real manual switch.
  • Scramble rescans transient/deep trees and can roll back only an incompatible part batch, quarantine the candidate, try an alternative, and continue.
  • A broken configuration no longer leaves the app permanently unusable: recovery tries the previous snapshot, last-known-good target, and safe official fallback, then always cleans state.
  • Reroll Unlocked and Small/Medium/Wild mutations restore and verify the parent's actual final state before creating an immutable child. Model-bound locks cannot silently float to another model.
  • Import preserves exporter compatibility as metadata and recomputes local compatibility. Exact thumbnails verify complete state; all PNGs receive bounded structural and CRC validation.
  • The UI defaults to 330×430, supports collapsed/compact/standard/expanded modes, moves Reroll into Advanced, hides irrelevant mutation controls, and adds recovery/diagnostic actions. The UI App icon is a sharper 250×120 orange/black randomizer mark.

Backward compatibility

Vehicle DNA remains schema version 1. The internal operation enum remains randomConfig, scramble, and fullRandom, so old randomConfig entries remain valid. New deterministic work uses generator version 5 and SCR5-... seeds because selection/retry/mutation substreams changed. Generator-4 snapshots remain restorable and old seed text is parsed as its old version; it is never silently treated as generator 5. Replay that requires unavailable generator-4 behavior reports the limitation instead of claiming a new sequence is equivalent.

Validation status

The automated suite registers all 113 requested regressions in addition to the existing coverage. Installed BeamNG 0.38.6.0.19963 source was reaudited. The 50-case alpha.2 interactive plan is currently 0 Passed / 0 Failed / 50 Pending.

The alpha.1 maintainer observations—104 enabled mods, 212 vehicles, 5,681 configurations and external screenshots—motivated these fixes, but are not alpha.2 passes. No alpha.2 third-party mod vehicle testing is claimed.

Known limitations

  • Third-party mod support is best-effort because vehicle lifecycles, controllers, slot trees, and metadata are mod-defined.
  • Safety is metadata-based and cannot prove generic drivability.
  • Recovery and retries are intentionally bounded; a fully broken previous/last-known-good/official ladder can still fail, but the UI should remain usable.
  • The project controls UI App metadata. The installed source did not establish a safe public contract for overriding every outer Mod Manager description field, so no speculative mod_info file is shipped.
  • Undo, lifecycle quarantine, and the load-failure circuit breaker are session state.
  • No beta, release candidate, stable release, 1.0, or BeamNG Repository submission is part of this release.

See Mod Vehicle Lifecycle, alpha.1 maintainer observations, and the alpha.2 interactive plan.

Soturine's Chaos Randomizer 0.5.0-alpha.1

Choose a tag to compare

@github-actions github-actions released this 23 Jul 22:57

0.5.0-alpha.1 — Locks, Mutations, Favorites, Gallery and Sharing

This prerelease adds persisted multi-level locks, Reroll Unlocked, deterministic Small/Medium/Wild Vehicle DNA children and lineage, expanded Garage metadata and filters, bounded managed thumbnails with fallback, field comparison, and validated .vdna.json / .vdna.zip exchange.

The UI now uses Randomize, Locks, Garage, Compare, and Share views. Replay Generation has an explicit original/current lock policy; Restore Snapshot still ignores creative locks and Pure Seed Replay remains separate.

Security boundaries include a fixed bridge allowlist, fixed share/inbox/thumbnail roots, bounded JSON/canonical structures, a five-entry ZIP allowlist, traversal/backslash/absolute/duplicate/symlink/flag/CRC/SHA/schema/bomb/PNG validation, unique local import IDs, origin lineage, and no mod asset redistribution.

Target: BeamNG.drive 0.38.6.0.19963 / Steam build 23007233.

Automated Lua/Python/static/package checks pass on the release tree. No real BeamNG world/UI, representative third-party mod, restart, screenshot capture, or multi-PC package result is claimed: interactive status remains 0 Passed / 100 Pending.

Install the attached soturine_chaos_randomizer_0.5.0-alpha.1.zip, not GitHub's automatic source archive, and verify the attached SHA-256. This is an alpha prerelease, not beta or stable.