Commit graph

2,715 commits

Author SHA1 Message Date
Meta Vens
cff4e0ffa7 Sim speed: the exact-step frame stays under the hitch clamp
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:01:27 +02:00
Meta Vens
090b6d18dc Sim speed: tests for the survivors Stryker found (thruster turn, tilted draw, exact step)
DrawAhead.Rotation delegates to Turned(pose, angle) so the turn is testable on a tilted pose, where the flat Duel poses make the quaternion product's off-axis terms vanish. Unverified at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:00:16 +02:00
Meta Vens
38f7d73823 Sim speed: Entity.TurnRate's comment names no presenter
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:16:10 +02:00
Meta Vens
4d64966d04 Sim speed: the drawn turn goes the way the step turned; the history test fires both ships
The first verification showed the rotation sense wrong and no shot resolving in 30 s of Duel; both tests now pin what they claim. Unverified at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 18:41:29 +02:00
Meta Vens
c4bd6e153e Sim speed: one SimClock steps the zone; presenters draw ahead by Lead
SimClock (engine-free) turns real frame seconds into whole fixed steps; ActionGameManager.Update feeds it outside the pause gate and Zone.Update(Time.deltaTime) is gone, with IntroCutscene (dead, Unity-driven pose writes). Entity.TurnRate is the sum of the rotation actuators' applied turn per sim second, zeroed each Update; DrawAhead reads it so EntityInstance and ShipInstance draw the latest sim state ahead by Lead. Unverified at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 18:26:02 +02:00
Meta Vens
594d347704 Merge origin/master (8a98aef5 sim-mines presenter) into eureka/aetheria-release-controls-mount-aim 2026-10-08 18:00:34 +02:00
Meta Vens
8a98aef5c1 Merge origin/master (ace81719 product-titles) into eureka/aetheria-release-sim-mines 2026-10-08 17:02:10 +02:00
Meta Vens
675e22d735 Operability test: assert performance above the online threshold, not above zero
Entity.UpdatePerformance sets ThermalOnline only when performance exceeds EntitySettings.ShutdownPerformance.
A weapon at 0.006 performance at a hull's starting temperature passed the old "> 0" test but could never fire.
The threshold is read from production (new EntitySettings().ShutdownPerformance).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 16:33:31 +02:00
Meta Vens
96e96319c8 Merge origin/master (bd46f942 boss-gate, 1476cfd0 map docs) into eureka/aetheria-release-sim-mines 2026-10-08 16:31:36 +02:00
Meta Vens
ace8171929 Merge origin/master into eureka/aetheria-release-product-titles 2026-10-08 16:27:49 +02:00
Meta Vens
847e5eabf2 SolutionTests: compare the subject by reference so a failing assert does not format the entity graph
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:54:43 +02:00
Meta Vens
1476cfd0e0 Map: catalog growth, generic designs and branded products
Folds the catalog-growth addendum and the emoji-pirates product facts into a
new section: probes CG1-CG12 and LP1-LP9, the maker profile, PD product,
generic-name and weapon product-line tables, the model page rows (Title is
the one owner of an item's title; DisplayName is not a thing) and rationale.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:42:12 +02:00
Meta Vens
c8376c354e Map: munition evasion core, mount term and autofire seams
Folds the munitions-autofire addendum into Missiles and point defense:
probes MA1-12, the munition Track and autofire-subject model page row
changes, and the rationale for the evasion core, the split cuts and the
close-crosser divert test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:40:53 +02:00
Meta Vens
573aae7e90 ItemTitleTests: Upsert already returns the faction ref (previous commit did not build)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:39:51 +02:00
Meta Vens
0e39a7f058 Map: faction-play re-anchor on 4d664b53 and the prelude retirement
Folds the faction-prelude addendum: faction-play probes BS1-3 and FP1-14
under Faction play, prelude probes PR1-11 and their rationale under Demo
scope, and the changed model page rows in both sections.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:39:50 +02:00
Meta Vens
4a38634e53 Map: full emoji body facts and model page rows
Folds the emoji section of the emoji-pirates addendum into Demo scope:
TextMesh Pro probes E1-E10, the font-asset rationale and rejected
alternatives, and the emoji and product model page rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:38:58 +02:00
Meta Vens
658e25054b Map: demo hulls, the Pirates record and the derived boss hull
Folds the demo-hulls and emoji-pirates (Pirates record r2, several package
products per hull) addenda into Demo scope: body facts H1-H11, the Pirates
record and product tables, the boss-hull rationale and the model page rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:38:15 +02:00
Meta Vens
7e400543b7 Fix the new pins: an unfused layer lays nothing, so the mine-layer exemption is pinned at the gate; decoy lot in the ledger
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:31:50 +02:00
Meta Vens
7c211cee3c ItemTitleTests: pin the maker-without-product and crafted-commodity arms of Title
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:30:49 +02:00
Meta Vens
8761b3707f Loot scan label and FIRE CONTROL overlay read Title, not the design name
Every item-title display site now routes through ItemManager.Title. The grep
for design-name reads under Assets/Scripts outside ServerShared leaves only
log lines, exception text, console parsing and the Type row.
Does not build-verified yet; the Unity compile runs at the end of the batch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:30:48 +02:00
Meta Vens
24fb38496f Catalog: the Mine Launcher's heat envelope in kelvin (173.15..473.15, optimum 249.65, plateau 36)
Authored by AetherDb mine-launcher apply from the 532be3a5 catalog; the new blob is 9e75d9a4 (LFS).
Fixes the zero performance at a hull's starting 280 K; ShippedWeaponOperabilityTests is green from here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:24:38 +02:00
Meta Vens
b38589a1b4 Pin the mine-layer gate exemption and Solve's target argument (Soul s1 findings)
AMineLayerLaysWithTheAimOutsideItsArc: an unfused mine layer passes ArcPermitsFire and lays with the aim outside
its arc. SolveFliesToTheTargetItIsGiven: Solve flies to the decoy it is passed, not the designated target.
ATargetOutOfArcGivesNoSolution also asserts the subject of a designated target out of arc.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:21:20 +02:00
Meta Vens
9e86bcd43d AetherDb mine-launcher: escape the newline in the two messages (baf90d34 did not compile)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:10:37 +02:00
Meta Vens
baf90d34c9 Mine Launcher heat in kelvin; every shipped weapon must perform at a hull's starting temperature
AetherDb mine-launcher now corrects an already authored launcher to 173.15..473.15 K (optimum 249.65, plateau 36,
the sibling weapon's) and authors new ones the same way. Entity.StartingCellTemperature names the 280 the hull
cells start at, and ShippedWeaponOperabilityTests reads it against the shipped catalog. The catalog blob follows
in the next commit, so the test is red at this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:04:16 +02:00
Meta Vens
7262429a60 Delete WireMines: the run-once editor tool named the .sbsar material guids (clean-break-from-substance)
It served its single run; Mine.prefab and the scene wiring are committed and reference plain materials only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:04:14 +02:00
Meta Vens
7f700d3c78 Items are titled by their product: ItemManager.Title, read by every title site
Title derives the brand's product name and falls back to the design name.
The trade list, buy dialog and properties title read it; the product name
line leaves the properties body. Build not yet verified at this commit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:34:47 +02:00
Meta Vens
7e121f282d Mine prefab and scene wiring: WireMines built Mine.prefab and assigned ZoneRenderer.MinePrefab
Unity 6000.3.24f1 batchmode; the three Substance materials fell back to the project's plain materials (Car Paint
Red, Car Paint Magenta, Steel) because .sbsar imports nothing in this Unity. Font-asset churn reverted.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:34:37 +02:00
Meta Vens
488c57050a Catalog: the Mine Launcher with a shape, a damage curve and a product that sells it
Supersedes the catalog blob of b60c695a (item without shape, curve or product, which broke six tests). The blob
is the file the verify job authored from the master catalog and ran 968 tests against.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:30:05 +02:00
Meta Vens
4d29e0b33e WireMines: Substance materials fall back to the project's plain materials of the same finish
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:26:26 +02:00
Meta Vens
3b41267bee Mine Launcher: the 2021 damage curve; a mine layer is mountless in EveryCatalogGunTracks; script metas
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:20:13 +02:00
Meta Vens
400db21399 MiningCut3Tests: pin a chunk's bearing as pose minus the shooter's position (Stryker survivor FireControl.cs:142)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:13:49 +02:00
Meta Vens
bd46f942bf Boss-gate tests: RunSave.Capture gained a credits parameter on master
Adapted the two boss-gate/demo-galaxy Capture call sites to pass 0 credits,
the value master's other tests pass when credits are not under test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:09:22 +02:00
Meta Vens
8b2147a5f7 Mine Launcher: a shape and a product that sells it; the blast-neutrality test exempts a mine layer; WireMines takes a Substance material by its path
The first catalog commit left the item shapeless and unsold; this commit's mine-launcher command fixes both. The
catalog blob committed before this one is superseded by the next commit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 14:09:03 +02:00
Meta Vens
e3a457793b Merge eureka/aetheria-release-boss-gate (with eureka/aetheria-release-demo-galaxy) into master
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 14:03:32 +02:00
Meta Vens
ee24728d11 FireControlCut5Tests: a target ahead that is not designated is no solution; the second half fires on the free aim
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:52:30 +02:00
Meta Vens
b60c695a61 Catalog: the Mine Launcher item (one MineLayerData), authored by AetherDb mine-launcher apply
Dangling refs 0. Numbers are the 2021 record's; see the cut report's deviations.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:51:23 +02:00
Meta Vens
fb00f6687d Mines presented: MineInstance draws each Zone.Mines body; Mine Launcher catalog command; WireMines builds the prefab
MineInstance reads a Mine and draws it (latest sim body at the grid height, spin, real-time pulse by arming and
trigger); ZoneRenderer makes one per Zone.Mines add and plays the blast on remove; EntityInstance gives a mine
layer no effect manager. AetherDb mine-launcher authors the item; the catalog, prefab and scene wiring follow in
later commits, so this one does not build a playable mine (no MinePrefab yet).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:49:23 +02:00
Meta Vens
538b11b4ea Drop Broadside (no catalog hull has side-rotated gun hardpoints); fix Cut5 arc fixtures for solutions
Question aetheria-release❓broadside-hull-source is raised on the spec. The Cut5 arc tests now
aim astern so only a solution can fire the gun (the aim used to be zero, which is free fire).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:37:15 +02:00
Meta Vens
e103b90aea Fire on solutions: FireControl.Solution is each gun's one solution; the trigger fires on it without the aim
Bears is extracted from PFire; ArcPermitsFire passes on a fused gun, a solution, or a free aim in arc.
Solve flies along Solution's direction. ArticulationPoint loses its yaw clamp and follows a per-group
aim point placed from the group's solution. Arcs gets its new brief; Broadside is new.
Unverified: first commit of the cut, not yet built.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-08 13:25:53 +02:00
Meta Vens
4d664b537f EvasionTermTests: LookDirection became Aim and Ship.Turn is the only facing command parked/aether-drive
The merge brought tests that set Ship.LookDirection and relied on Ship.Update turning toward it. Master's helm split removed both. EvFace sets Aim and asks Steering.Toward for Turn each tick, the same law the old steering pass applied; the two multi-step loops now face per tick.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 22:33:16 +02:00
Meta Vens
179ab92abc Merge evasion-term: evasion is changes of vector plus a per-gun mount term; authored tracking rates in the catalog; the aether drive leaves the envelope
Soul gate closed at verdict cut-evasion-term.s5 (head 473a4bcc); remaining Low
test gaps are deferred to a follow-up. Merged under operator ruling
aetheria-release:ruling:completed-cuts-merge. Carries the migrated
GameData/Aetheria.cc (LFS sha256 63250cf2...7ae25); master did not change the
catalog.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 22:29:51 +02:00
Meta Vens
71894d1db1 Merge sim-mines: mines are free-floating sim bodies with hostile trigger and no leash
Soul gate closed at verdict cut-sim-mines.s2 (head 06efde6f; branch already contained master, so the merged tree is the verified head). Merged under aetheria-release:ruling:completed-cuts-merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:54:33 +02:00
Meta Vens
06efde6f51 MineTests: pin the layer's identity, the faction frozen at lay, and the blast disc as the trigger disc
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 21:17:41 +02:00
Meta Vens
231cb732e2 Merge origin/master (controls-helm) into sim-mines
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:36:32 +02:00
Meta Vens
0f568a018a Zone mine step: no empty-set fast path, one trigger scan; MineTests pin the turn with an oblique mount
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:17:47 +02:00
Meta Vens
df53360aa3 FloatingBodyTests: set Ship.Aim where the fixture set LookDirection
The helm split removed LookDirection. The ship-gravity test asserts only Velocity
after Update, so it needs no facing; Aim keeps the value the fixture carried
(Direction already defaults to the same +z facing).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:11:08 +02:00
Meta Vens
3fcdc20c00 Merge controls-helm: Ship.Turn is the only facing command; the helm split and face-the-aim
Soul gate closed at verdict cut-controls-helm.s3 (head b644fceb). Merged
under operator ruling aetheria-release:ruling:completed-cuts-merge.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:08:31 +02:00
Meta Vens
cbe975d9a9 MineTests: every delay is inclusive at its exact step
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:05:57 +02:00
Meta Vens
44cc356a05 MineTests: the launch angle is the mine's own dice; a mine layer ignores blast against range
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 20:05:34 +02:00
Meta Vens
473a4bcccd Evasion fix batch C: drop the unruled catalog thresholds, pin the jink price and the torque trim membership, give an unlimited gun on zero gear one meaning
- Delete ABigGunHitsABigShipAtRange and TheCatalogMeetsTheRuledOutcomes (rulings cshot-rainbowlite-rate, evasion-angular-velocity-r2).
- TheJinkIsForgivenPerShipInThePrice: HitProbability of two guns of different rates carries PDeviation(Evasion, Tracking(shooter)).
- TrackingRate: an unlimited gun is +infinity whatever the gear reads, not inf * 0 = NaN.
- EveryAggregateAndTheCompensationReadLiveThrust: trim membership read from the thrusters' torques, not Ship's private list.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-07 19:59:29 +02:00