Commit graph

3,235 commits

Author SHA1 Message Date
Meta Vens
76aeeabfca EW 2: claims ride the act into the book; schematic and AI classify from them
Signature, ActiveEmission and Reveal carry Claimed (the class the ship's EW claims for the item, the true item's data by default); Entity gains the claim slots and one write port; Contact gains Profile, derived from the ship's claimed hull once Identified; Entity.RevealedWeapons is the one classifying read for weapons. Combat and the enemy schematic read it; their reads of the target's live gear are cut. Weapons rate by their claimed design (ew-claim-weapon-measure-ruled, rated-design): WeaponData.RatedRangeDamagePerSecond runs the same per-kind formula as the live weapon. Aim, damage and physics keep the truth.

Not yet compiled or run at this commit; the Unity-only SchematicDisplay is unverified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 18:17:14 +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
Meta Vens
8076f0ad7e Visibility 5: TheAIAimsOnlyAtWhatItSaw also pins that Combat clears a destroyed gun
The first form let the Combat-side IsRevealed check be removed unseen,
because TrySelectTargetItem refuses an unrevealed pick anyway. A destroyed gun
left in the raw aim field distinguishes Combat's own choice. Builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:15:36 +02:00
Meta Vens
eebf6f375a Visibility 5: an item can be aimed at when the observer's book holds it and it is still fitted and whole
IsRevealed is now the observer's book (Entity.HasReveal) plus the live filter
(still on its ship, not IsDestroyed). The tier ladder and
GameplaySettings.TargetArmorInfoThreshold are deleted, with the 19 fixture
initializers and the Settings.asset line. Fixtures that aim at an item record
its reveal through RecordReveal; Aetheria.Shared exposes internals to
Aetheria.Shared.Tests for that. Unbuilt and untested at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:15:35 +02:00
Meta Vens
2715b2e155 EW target: envelope shaping as claims judged by each observer, model page, probes, cut sequence
Target document for the proposed aetheria-ew campaign (rulings ew-is-envelope-shaping,
ew-owns-ambiguity-and-decoys). No cut specified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 03:56:26 +02:00
Meta Vens
e89d38e97a Research: electronic warfare prior art (Body, lore, games, real-world vocabulary)
Eyes facts file for the EW campaign mapping.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 03:40:25 +02:00
Meta Vens
3c628f54f2 Merge cut emissions-heard (Soul verdict cut-emissions-heard.s1)
Conflict: ContactRevealTests Locker fixture. Kept the branch's Locker(name, interceptFactor) helper and added master's five munition parts to it (as master's Locker carries them since missile-stats).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 03:20:22 +02:00
Meta Vens
a58aea6375 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 02:54:35 +02:00
Meta Vens
e24d942b9d Smoke and wiring script: no GridObject or FloatingItemLifetime spelling outside the sim
Builds: Unity batchmode compile green (smoke run unity-smoke5 compiled and passed at this commit).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:37:58 +02:00
Meta Vens
c7c7e58508 Unity draws Zone.FloatingItems and nothing else; the Unity loot roll, collision pickup, tractor pull and GridObject are gone
ZoneRenderer draws one ItemPickup per FloatingItem (load, ObserveAdd, ObserveRemove, ClearZone); ItemPickup.Bind places it
from the sim body and spins it for show. EntityInstance's drop loops, ShieldManager's pickup branch (the whole
OnCollisionEnter, which did nothing else), ZoneRenderer.DropItem/DestroyLoot/_loot, TractorBeam's pull, and
GameSettings' three loot fields are deleted; WireFloatingItems stripped GridObject from the five pickup prefabs and
reassigned ZoneRenderer's four pickup fields in ARPG.unity; FloatingItemsDrawnSmoke (play session, batchmode) pins the
lowering. GridObject and TimedDestroy were deleted in fa911f2d, so fa911f2d and 2565e2c5 do not build in Unity.
Assets/Resources/Settings.asset keeps three stale serialized GameSettings fields Unity ignores (LFS object, not rewritten).

Builds: Unity batchmode compile green at this commit; dotnet green at 2565e2c5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:36:47 +02:00
Meta Vens
6177ded511 Merge cut ships-addon-bake (Soul verdict cut-ships-addon-bake.s3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 02:33:01 +02:00