Commit graph Aetheria/Assets/Scripts
Author SHA1 Message Date
Meta Vens
6bd3e17690 Fix station docking bays, save-safe instance keys, and zero-weight draws
One rule now governs interior space: an empty hardpoint cell is usable, in
both UnoccupiedSpace and ItemFits. ItemFits used to refuse hardpoint cells
that UnoccupiedSpace offered, so stations failed to equip a docking bay.

CraftedItemInstance.Ingredients and Product move from keys 3 and 4 to 9 and
10, past every key the derived instances use. At 3 and 4 an older save reads
nil into a non-nullable Guid and fails to load.

WeightedRandomElements returns an empty array when every weight is zero,
instead of an array of nulls. LoadoutGenerator treats a missing Galaxy as
"every product available", the seam a fixture needs to generate loadouts
without a galaxy. ZoneGenerator skips a story station that fails to generate
and logs it, instead of throwing.

Verified: Aetheria.Shared and tools/AetherDb build headless; Unity 6000.3.24f1
batchmode compile succeeds; AetherDb doctor, station-fit and loadout pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:22:36 +02:00
Meta Vens
8d93b937bc Author manufacturer variation as faction products
A design lists role names; a faction product is a manufacturer's branded
build of one, carrying its name, its flavor text, and a pseudo-gaussian
quality distribution per role whose mean is the technology put in and
whose deviation is their quality control. A PerformanceStat may name the
role whose quality it reads, unset reading the item own workmanship as
before, so old saves behave unchanged. Generation selects products rather
than designs, which makes what a faction makes the availability rule.

This is Njordr shape at one dimension: role names, per-role derivation
and per-product distributions carry over when quality widens into
dimensions. No parts exist yet; the product authors the role quality.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 01:12:12 +02:00
Meta Vens
25ecb46fcd Generate stations that respect empty hardpoints and required items
UnoccupiedSpace now counts empty hardpoint cells as free, matching
ItemFits: general gear may use a hardpoint until hardpoint gear claims
it. LoadoutGenerator equips hardpoint gear before the docking bay, so the
bay cannot take the reactor's slot. Hulls, docking bays, controllers,
cargo bays and capacitors are required: if no manufacturer present in the
galaxy and known to the faction makes one, any manufacturer is used and
the database gap is logged, so a galaxy without AU still gets stations.
Manufacturer preference is allegiance / (1 + hops to headquarters); the
distance term previously never applied due to operator precedence, and
would have divided by zero in the headquarters zone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 23:23:19 +02:00
Meta Vens
97a9e7a598 Tolerate unloadable types in ServerShared reflection scans
CultCache discovers DatabaseEntry types by scanning every loaded
assembly. Outside Unity, plugin assemblies that reference UnityEngine
throw ReflectionTypeLoadException and took the whole scan down; keep the
types that do load. Also fix GetAllGenericChildClasses reading and
writing the ChildClasses cache instead of its own.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 23:14:34 +02:00
Meta Vens
3dcfaf9783 Delete commented-out code blocks
Git keeps the history. SimpleCommodityData records its retired
MessagePack keys so they are not reused against old data.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 22:14:58 +02:00
Meta Vens
cc7f2c8877 Remove dead code, unused plugins, and multiplayer remnants
Delete Economy.Server/Economy.Shared, LiteNetLib, network message types,
the texture-based Gravity duplicate, unreferenced scripts and agent
states, and unused plugins (MSAGL, NaughtyAttributes, AsyncAwaitUtil,
Allegorithmic, Localization samples, MrtTest, ThinkGear, QuickGraph),
plus vendored sample scenes, root zips/logs, and the stray Obsidian
folder. MainMenu logs faulted galaxy-generation tasks directly instead of
AsyncAwaitUtil's WrapErrors. Stop tracking UserSettings and the Wwise
.backup folder; ignore generated .sln/.csproj by pattern.

Game-system test scenes are kept. Playdead stays: VolumeCloudRenderer
derives from its EffectBase.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 22:14:57 +02:00
Meta Vens
e640aad65a Upgrade to Unity 6000.3.24f1
Editor-driven upgrade from 6000.1.10f1: patch-level package bumps,
importer re-serialization of legacy .meta files, and the regenerated
Input System wrapper. Verified by playing from Main Menu into ARPG.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 22:04:28 +02:00
Meta Vens
f568a7d14f Cut RethinkDB
Remove the vendored RethinkDb driver and its Linq provider, the Rethink
backing store, the already-stubbed RethinkConnection, the Rethink test
window, and the Rethink-only Remotion.Linq and Logging.Abstractions DLLs.
The database editor now works only on GameData/AetherDB.msgpack, with a
Save button replacing the dead Connect UI and broken JSON export.
RethinkTable becomes DatabaseCategory, which only groups editor entries.

Economy.Server still references Rethink; it was already unbuildable and
is handled separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 21:48:45 +02:00
Meta Vens
7006a6b0dd Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Meta Vens
04c0b77c94 Add entity-owned dynamic fog fields 2026-07-22 02:09:30 +01:00
Meta Vens
004c05d350 Keep entity fields aligned with orbital poses 2026-07-22 01:53:42 +01:00
Meta Vens
72ce713a19 Partition provider assets for demand loading 2026-07-19 21:51:49 +01:00
Meta Vens
5caa48503b Clarify tractor target and simulation authority 2026-07-19 13:14:08 +01:00
Meta Vens
83ce86c75e Restore reticle-owned weapon locking 2026-07-19 07:02:10 +01:00
Meta Vens
1e6deff644 Publish Aetheria hot state on negotiated planes 2026-07-19 03:29:53 +01:00
Meta Vens
583e16f543 Verify flow feature selection in the state smoke 2026-07-19 02:02:52 +01:00
Meta Vens
a655d99bf5 Expose smooth value flow as a daemon render option 2026-07-19 01:52:55 +01:00
Meta Vens
1eca0f50eb Let URP own gravity fog history 2026-07-18 17:16:46 +01:00
Meta Vens
d19d35e39c Separate Aetheria provider identity 2026-07-18 16:43:20 +01:00
Meta Vens
8e8c15a135 Own combat and loot through daemon facts 2026-07-17 13:56:05 +01:00
Meta Vens
61e0b0dbac Collect loot by daemon proximity 2026-07-17 11:54:00 +01:00
Meta Vens
56b0910a90 Persist and select playable tutorial runs 2026-07-17 08:48:56 +01:00
Meta Vens
5985eda504 Materialize tutorial zone populations in daemon 2026-07-17 08:19:21 +01:00
Meta Vens
988d05a675 Restore fossil target selection semantics 2026-07-17 06:51:06 +01:00
Meta Vens
5c7a56bd3b Make trade delivery spatial and atomic 2026-07-17 06:40:51 +01:00
Meta Vens
4f1d490915 Publish authoritative consumable action state 2026-07-17 04:37:35 +01:00
Meta Vens
afb26b206d Run thermostat behavior gates in daemon 2026-07-17 03:08:56 +01:00
Meta Vens
0724ee3cf8 Run sensor visibility mechanics in daemon 2026-07-17 02:28:38 +01:00
Meta Vens
f1b4299312 Publish daemon-owned docked refit controls 2026-07-17 01:45:33 +01:00
Meta Vens
93d4d44ffc Restore fossil docking transactions 2026-07-17 00:17:12 +01:00
Meta Vens
fa5663f228 Restore authoritative wormhole traversal 2026-07-16 23:30:19 +01:00
Meta Vens
bf974ae56a Advertise historical temporal projection convention 2026-07-16 22:00:53 +01:00
Meta Vens
080e894236 Advertise historical fog temporal bootstrap 2026-07-16 20:18:23 +01:00
Meta Vens
94d3a7ba84 Migrate native flight environment contract 2026-07-16 01:56:29 +01:00
Meta Vens
3d36fe5da4 Restore daemon-owned gravity fog producers 2026-07-15 23:57:48 +01:00
Meta Vens
636cff4878 Advertise temporal gravity fog program 2026-07-15 21:09:20 +01:00
Meta Vens
a330e24d96 Make trade acceptance daemon authoritative 2026-07-15 20:46:05 +01:00
Meta Vens
6f0375f4ad Publish gravity fog through generic Eve fields 2026-07-15 20:17:05 +01:00
Meta Vens
947c591ebd Restore authoritative continuous pilot aim 2026-07-15 05:57:17 +01:00
Meta Vens
f08e11f775 Restore fossil tractor and destruction loot parity 2026-07-15 05:30:06 +01:00
Meta Vens
f23e8a6a22 Move physical payloads into retained Ymir worlds 2026-07-14 22:25:05 +01:00
Meta Vens
d9a47c13a0 Retain Ymir worlds per Aetheria run zone 2026-07-14 21:38:46 +01:00
Meta Vens
05a31a89ae Package provider-owned Unity presentation prefabs 2026-07-13 21:00:20 +01:00
Meta Vens
7772d9eb36 Model station sensors through hardpoint scale 2026-07-13 16:53:25 +01:00
Meta Vens
5363714cde Persist daemon consumable behavior state 2026-07-13 16:19:35 +01:00
Meta Vens
cadddb4c87 Share dock parent sensor picture 2026-07-13 15:57:12 +01:00
Meta Vens
4351226b41 Execute authored consumable behaviors on daemon 2026-07-13 15:46:39 +01:00
Meta Vens
c4ae06d9cf Restore daemon-owned consumable lifecycle 2026-07-13 15:36:50 +01:00
Meta Vens
be92f4c7af Make Terminus salvage collection authoritative 2026-07-13 15:23:35 +01:00
Meta Vens
6c2bcd6afb Complete daemon-owned Terminus service loop 2026-07-13 14:36:43 +01:00