Commit graph

3,244 commits

Author SHA1 Message Date
Meta Vens
824e0f6a95 AetherDb: the Passive Array design description is tech-node text (designs-are-tech-nodes); flavour stays on its products
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 21:44:05 +02:00
Meta Vens
947b86f7f3 Tests: the fitted Djinni's reach ceiling is its allocated reach
The fitted Djinni's measured motion sits further below its reach than the generated one did (nose-on 1.69), so the
fixed 1.6 ceiling over measured motion was the old ship's number. The ceiling is the allocated reach with 20% to
spare, as the Longinus's is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:11:33 +02:00
Meta Vens
0d291a8a42 Tests: the flight fleet's Longinus is its drive train, not the Duel's loadout
The Longinus the reach test measures is fitted with the drive train the generated one carries
(EvLonginusDrive, which EvLonginus now extends); the Duel's guns and stores added mass the
reach ceilings were not measured with.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:07:08 +02:00
Meta Vens
0a4a2cf56a Tests: reuse the existing EvDjinni fit instead of a second one
The previous commit added a duplicate EvDjinni and did not build (CS0111).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:03:44 +02:00
Meta Vens
b753dbe337 Tests: the two flight tests fit their ships by name; a consumable-hosted Listener test
ReachIsWhatTheShipCanDo and TheThrustersReadLiveThrust built their ships with the
generator, whose draw follows the run's item stream and so the catalog's census; the
applied sensor catalog shifted it. They now fit the Djinni (a Talaria on each thruster
hardpoint, reactor, cockpit) and the Longinus (EvLonginus) by name. AConsumableListenerHearsAtItsMultiple
pins Entity.HearingMultiple over an active consumable's Listener.

Not yet verified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:02:32 +02:00
Meta Vens
ad7613eb83 Catalog: sensor-stat-set applied (alpha on both sensor designs, four sensor products, Passive Array)
GameData/Aetheria.cc regenerated by `AetherDb sensor-stat-set apply` on master's catalog
(sha256 6f79cf44...); a second apply writes nothing. Binary: never hand-merge, rerun on
master's catalog if another catalog cut lands first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:17:08 +02:00
Meta Vens
bce2cd0154 sensor-stat-set: Lucent and Finch products for the two sensor designs; catalog test
The catalog sold only two sensor designs (DME and Miss Terri's), so brand flavour had
nothing to vary: the command adds one Lucent and one Finch product per design. Adds
TheCatalogCarriesSensorStats. Catalog not yet regenerated; not built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:15:19 +02:00
Meta Vens
45f98c74eb Listener gear (ListenerData, union 50), float HearingMultiple, and AetherDb sensor-stat-set
Entity.HearingMultiple is now the largest of 1 (any active sensor) and each active
listener's Multiple. sensor-stat-set authors every sensor design's InterceptFactor
as a quality-ranged emission-discipline stat plus the Passive Array and its
products. Not yet built or run; the catalog is not yet regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:10:15 +02:00
Meta Vens
e99cfbed37 Release map: visibility refresh at 0898725f (scenarios-lock-on r3, sensor-catalog r2; concurrency vs ew-claims)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 18:59:38 +02:00
Meta Vens
0898725f62 Release map: L11 loot-3 probes at cb14a816 (FieldDriver on no ship, beam aim from HeldFrom, multi-bay fixture order); loot-3 leaves the cut sequence
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 18:11:46 +02:00
Meta Vens
cb14a816f8 EW map: cut 2 probes at 0681d6f2 (C1-C10), Contact.Profile derived until the judge, claim slots
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 09:14:14 +02:00
Meta Vens
0681d6f29b Merge fix: the contact-hud test removes through Zone.Remove (Zone.Entities is read-only on master)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 08:48:39 +02:00
Meta Vens
16466b148a Merge cut contact-hud (Soul verdicts cut-contact-hud.s1, .s2) 2026-10-13 08:48:13 +02:00
Meta Vens
a89d30376d Fix merge build: contact reveal tests remove through Zone.Remove; PickupTests settings drop the retired TargetArmorInfoThreshold
The merge commit before this does not build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 08:31:27 +02:00
Meta Vens
fbe05c7992 Merge cuts loot-1-present and loot-2 (Soul verdicts cut-loot-1-present.s1, cut-loot-2.s2)
Conflicts: Behaviors.cs keeps Union(48, PickupData) and Union(49, LaunchSuppressorData);
Zone.cs keeps the departure record on _entities with master's Visibility (emissions-heard);
ContactRevealTests.cs keeps master's removal of the emission-departure test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 08:27:47 +02:00
Meta Vens
0bff723029 contact-hud: the shield ripple draws only where DrawsAt places the ship
Fixes finding shield-ripple-draws-on-untracked. ShieldManager already reaches
ActionGameManager (Clock), so DrawsAt stays the one owner. Unity code; compile
verified separately.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 08:00:28 +02:00
Meta Vens
a1d1db963f contact-hud: RevealedSubjectsListsTheBook holds two subjects at once, then one departs
Fixes finding revealed-subjects-multi-subject-unpinned.

All commits build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 08:00:26 +02:00
Meta Vens
4fba95e56f Pickup: one beam region for selection and the pre-pull cancel; selection skips what no bay can store; test gaps and the phase rule pinned
beam-corner-claim-loop: InBeam is the one region predicate; Select claims from it and the pre-pull cancel holds the item only while it stays in it (an item at 74 along, 20 off is collected, not claimed and dropped every other tick).
full-hold-regrab-pins-and-blocks: Select skips an item no cargo bay can store whole, asked of the bay's own TryFindSpace (the test TryStore opens with), per ruling beam-skips-unstorable-items; a hold that fills mid-grab still cancels at the end.
pickup-test-gaps: smoothstep pose, spin-down while the gear is inactive, Remove freeing only the removed holder's items.
phase-ticks-not-rate-invariant: the claim is corrected in the tests; each phase fires on the first tick at or after its boundary, pinned at 1/60, 1/600 and an uneven dt cycle.

Builds; not yet run (the verify job follows).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:43:42 +02:00
Meta Vens
ecc6f3d67d contact-hud: the new tests assert counts, not collections of entities
A failing Assert on a collection of Entity prints the whole entity graph and aborted the test host, so two hand
mutants read as a crash rather than a named failing test. Builds (test-only change).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:35:52 +02:00
Meta Vens
8f184a8f69 contact-hud: NothingReadsSelection reads the paint inbox on every tick
A warning lives one tick, so the end-state read could not see a paint selection wrote; a hand mutant that paints
on SetTarget survived. Builds (test-only change).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:30:48 +02:00
Meta Vens
4708a71a67 contact-hud: the HUD reads the player's own ContactOf and book; TargetedBy and the spotted blink go
Selection is nothing the selected ship can sense: TargetedBy, TargetedByCount, their subscriptions and the music
read of them are deleted. Indicator fills, the target panel, the compass, music and the enemy schematic rows now
read CurrentEntity's ContactOf / RevealsOf / RevealedSubjects (new, the book's keys); the schematic rows are built
by one builder from the book and rebuilt when the revealed set changes. Impact hull effect and projectile hit
effects at another ship's position draw only through ActionGameManager.DrawsAt (the player's own ship or a Tracked
contact). Builds untested in Unity at this commit; tests NothingReadsSelection and RevealedSubjectsListsTheBook.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:13:55 +02:00
Meta Vens
8e3dd3129d PickupTests: assert on booleans, never on an Entity (a failing Assert.Same prints the whole entity graph and crashes the test host)
Found by the mutation table: two mutants read 'Test Run Aborted' instead of naming the failing test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:07:03 +02:00
Meta Vens
60b5876cd9 PickupTests: bounded waits (a broken rule fails instead of hanging the run); a stray item is never even attempted
Found by the mutation table: a mutant that never claims hung the test host, and a mutant that doubled the
range survived because the observation landed between two attempts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 07:01:35 +02:00
Meta Vens
6292d82615 Merge cut ew-hide-launch (Soul verdicts cut-ew-hide-launch.s1, .s2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:49:53 +02:00
Meta Vens
83b1b62a92 ConsumableSupplyTests: re-pin the generators' residual Random with the tractor beam's draw
The old pin (d4a27def) is exactly what this tree leaves with EquipPickup's call removed (run: passes), so the
new values differ from it only by the one product draw each generated ship makes for its beam.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:30:32 +02:00
Meta Vens
bc082c09a0 PickupGenerationTests: count fitted beams, not a station's stock
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:27:46 +02:00
Meta Vens
87642a9b4d Tests: the consumable rig's hull has an interior cell for the beam; the Longinus reach ceiling follows the new sample
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:27:15 +02:00
Meta Vens
774d2476ff LaunchSuppressorTests: pin the factor clamp (above 1, below 0) and the exactly-rated-temperature boundary with a step either side
Tests only; production unchanged. Fixture gear SuppressorBright (Factor 3) and SuppressorNegative (Factor -1).
Maps Soul findings clamp-unpinned and rated-boundary-unpinned. Builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:12:18 +02:00
Meta Vens
4a41aec68f Retire AetherDb pickup-catalog: applied in the previous commit, a one-shot
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:06:12 +02:00
Meta Vens
727c525c7a Catalog: the Tractor Beam is priced (25000); fixtures that generate ships sell a tractor beam
AetherDb pickup-catalog apply on the previous catalog (5efc5225...): result 1a2cb55b... (12730143 bytes), the
Tractor Beam's price 0 -> 25000; a second dry run printed "already authored", dangling reports zero. The ship
generator now requires a sold tractor beam, so the five synthetic catalogs that generate ships (LoadoutTests,
RunSaveTests, FireControlCut6cTests, TargetingSystemTests, ConsumableSupplyTests) each sell one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:06:09 +02:00
Meta Vens
ea66153d58 AetherDb pickup-catalog: two string literals broken by newlines; the previous commit did not build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:03:24 +02:00
Meta Vens
f26beec14e AetherDb pickup-catalog: also price the Tractor Beam (25000); it was the one gear with price 0, so generation could not offer it
Found by the full suite on the previous catalog: every generated ship threw 'no compatible tractor beam'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 06:03:06 +02:00
Meta Vens
aae779c653 Revert "Retire AetherDb pickup-catalog: applied in the previous commit, a one-shot"
This reverts commit 72872c9817.
2026-10-13 06:02:47 +02:00
Meta Vens
359aba2c5d PickupTests: each grab phase is published on the tick its boundary is crossed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:54:08 +02:00
Meta Vens
720fbd6431 PickupTests: gear off, range before the pull, the loser's next item, a held item's pose
Pins the cancel rules (inactive gear, out of range before the pull and not after it), TryHold refusing a held
item, the next-item selection, and the held pose as a function of progress.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:50:46 +02:00
Meta Vens
72872c9817 Retire AetherDb pickup-catalog: applied in the previous commit, a one-shot
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:41:15 +02:00
Meta Vens
73c44a5ed3 Catalog: the Tractor Beam is Tool gear whose one behaviour is Pickup (AetherDb pickup-catalog apply)
Applied on Yggdrasil from the base catalog (sha256 ce5c8be5...), result 5efc5225... (12730141 bytes); a second
dry run printed "already authored" and dangling reports zero. Builds; PickupGenerationTests needs this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:41:04 +02:00
Meta Vens
09884c2116 LaunchSuppressorTests: read the control flash on its own tick, before decay erases it
7e0b950d builds; its reveal test failed on a KeyNotFound for the control gun after later ticks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:30:27 +02:00
Meta Vens
2f718f7753 AetherDb pickup-catalog: fix two string literals broken by a newline; the previous commit did not build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:20:59 +02:00
Meta Vens
68430771f3 Every generated ship carries a tractor beam; AetherDb pickup-catalog turns the Tractor Beam into Pickup gear (group B, code)
GenerateShipLoadout equips one gear whose behaviours include PickupData after the shared outfitting
(stations and turrets get none). The pickup-catalog command (retired in the next commit after apply) edits
the existing Tractor Beam. PickupTests: two fixes found by group A's run (equip is refused once a ship is
deployed, and the freeing tick takes one step). PickupGenerationTests needs the applied catalog and is
red until the catalog commit; the catalog itself is not in this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:18:15 +02:00
Meta Vens
7e0b950d63 LaunchSuppressorTests: activate the beam through its ConstantWeapon type
15b12cb9 does not build: Behavior has no Activate; this commit fixes the one compile error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:14:51 +02:00
Meta Vens
15b12cb95b Launch suppressor: scale the ship's own launch flash inside SetSignature, paying heat to its own cell
LaunchSuppressorData (union key 49; key 48 is held by cut loot-2 on eureka/aetheria-release-loot-2)
and LaunchSuppressor: Entity.SetSignature folds each light signature through the equipped
suppressors in equipment order. Only LaunchFlash is scaled, only while the item is Active and at
or below its rated temperature; each pays (removed x HeatPerUnit) through Behavior.AddHeat.
Fixture gear and LaunchSuppressorTests added. Not yet built or run (verify job follows).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:11:55 +02:00
Meta Vens
5b19c1e853 EW map: body facts for ew-hide-launch, suppression derived by pull, cut 1b
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:03:27 +02:00
Meta Vens
e7a35135fe PickupData: gear only (CreateInstance for a consumable throws); the previous commit did not build
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:02:07 +02:00
Meta Vens
5aa989abbf Pickup is a capability: PickupData/Pickup run a timed grab through Zone's hold API and TryPickUp (group A, sim)
GrabEvent carries a FloatingBodyId; Zone gains TryHold/SetHeldProgress/Free and places a held item instead of
integrating it; Entity.TractorPower is derived from Pickup.Power and TractorCommand is the pilot's input
(ActionGameManager writes it undamped, the Time.deltaTime ramp is deleted). Binder and FieldTester change the
delegate type only. PickupTests and a save round-trip pin for the player's zone index.

Group A builds; no beam is on any generated ship until group B.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 05:00:22 +02:00
Meta Vens
1779ca9775 EW target r2: fold the eight rulings, noise jamming in as a crude loud tier (ew-jammer), present-model-stays amended
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:57:29 +02:00
Meta Vens
0894aab1bd Map: L10 loot-2 r3 probes at e24d942b; loot-2 leaves the cut sequence
Imagination imagination-aeth-loot-2's map edit, ported from the operator's
checkout (where it was written against aac2cf91) onto master. loot-2 r3 is
mapped on loot-1-present and alone restores pickup in play.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:51:19 +02:00
Meta Vens
20cd1d7cf5 Merge cut reveals-replace-tiers (Soul verdicts cut-reveals-replace-tiers.s1, .s2): restore the merged tree
The previous push (07854ed5) came from `git pull --rebase`, which linearized the merge and dropped the
adaptation of master's ContactTests and LootTests to the deleted TargetArmorInfoThreshold, so master did not
compile its tests. This commit joins the reveals branch history and sets the tree to the verified merge
(c7edbf0b: Yggdrasil full suite 1624 passed, 0 failed) plus master's two docs-only commits since.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:16:15 +02:00
Meta Vens
07854ed5ad ImpactFeedbackTests: the marker fixture records the reveal that makes it aimable
Master's feedback tests aimed at a marker the shooter's book never held; the reveals
rule (book holds the item, fitted, not destroyed) refuses that. Same fixture step the
FireControlCut12 tests use (RecordReveal via LaunchFlash).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:15:38 +02:00
Meta Vens
54bc2eecf4 Visibility 5: a fired gun is aimable and its same-design twin is not; fix stale reveal-ranking comment
Builds: yes (verified by the follow-up job).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:15:37 +02:00