Commit graph Aetheria/Assets/Scripts/ServerShared/Entity.cs
Author SHA1 Message Date
Meta Vens
6140a06a0a Swap Unity.Mathematics usings for CultMath
Every Unity.Mathematics using, alias and qualified name under Assets\Scripts
and tools now names CultMath. The nine `using static ...noise;` lines are
gone: snoise lives on CultMath's math. UnityExtensions loses float4.ToColor
and Color.ToFloat4, which duplicate the bridge's ToColor and ToCultMath; the
float3 colour pair stays because the bridge has none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 17:39:12 +02:00
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
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
7006a6b0dd Restore the stable legacy Unity project 2026-08-10 14:57:50 +01:00
Meta Vens
5363714cde Persist daemon consumable behavior state 2026-07-13 16:19:35 +01:00
Meta Vens
4d7bb65868 Integrate CultMesh UI and URP cleanup 2026-06-30 19:14:49 +01:00
Meta Vens
b353652316 Query asteroid render poses from daemon state 2026-06-21 15:47:39 +01:00
Meta Vens
ff02979056 Render entities from daemon frame identity 2026-06-21 15:38:59 +01:00
Meta Vens
be1207c585 Move runtime API namespace to Verse 2026-06-21 09:54:15 +01:00
Meta Vens
39a0dc8737 Sync daemon authority migration 2026-06-21 09:37:54 +01:00
Meta Vens
8ea97a08f8 Use faction keys for shell identity 2026-06-16 11:43:37 +01:00
Meta Vens
75d3f05fd9 Restore Continue stat grids from typed state 2026-06-16 07:18:14 +01:00
Meta Vens
2a047cba28 Restore Continue session facts from typed state 2026-06-16 07:01:50 +01:00
Meta Vens
eac886d783 Remove cargo GUID lookup overloads 2026-06-15 03:12:24 +01:00
Meta Vens
0b92a2faae Remove item instance legacy ID projection 2026-06-15 02:57:50 +01:00
Meta Vens
ffe9d6d7bf Make runtime item catalog key-only 2026-06-15 01:31:16 +01:00
Meta Vens
c245538793 Use typed item keys in server item decisions 2026-06-15 01:12:22 +01:00
Meta Vens
df59a9da62 Index cargo by typed item keys 2026-06-14 23:09:49 +01:00
Meta Vens
eabe0961e6 Move behavior grouping onto runtime instances 2026-06-14 17:27:16 +01:00
Meta Vens
6bcf6444b9 Persist entity session state in checkpoints 2026-06-14 13:58:46 +01:00
Meta Vens
22e7d0a972 Expose item reference API on runtime instances 2026-06-14 11:19:27 +01:00
Meta Vens
d163b3064c Expose item identity on runtime instances 2026-06-14 11:12:48 +01:00
Meta Vens
37f4ef4a12 Route runtime behavior construction through item manager 2026-06-14 10:29:17 +01:00
Meta Vens
301b1251b1 Use typed runtime item category tokens 2026-06-14 09:38:55 +01:00
Meta Vens
1a7ea0a0e5 Rename runtime item reader around typed catalog 2026-06-14 09:19:53 +01:00
Meta Vens
19297f2252 Remove dead behavior data query API 2026-06-14 08:13:47 +01:00
Meta Vens
bc04526d35 Require typed consumable activation 2026-06-14 08:04:05 +01:00
Meta Vens
c0d0fbf656 Delete runtime item DTO hydration 2026-06-14 07:52:18 +01:00
Meta Vens
5d96355439 Use typed state for consumable activation 2026-06-14 07:20:06 +01:00
Meta Vens
6707dcaba8 Use typed audio stats for equipped items 2026-06-14 07:08:06 +01:00
Meta Vens
d55eb38a3a Use typed thermal resilience for equipped items 2026-06-14 06:57:53 +01:00
Meta Vens
feae643dfe Use typed thermal curves for equipped items 2026-06-14 06:52:29 +01:00
Meta Vens
8aa1e15a39 Use typed equipped item simulation inputs 2026-06-14 06:39:23 +01:00
Meta Vens
d5b9a94dac Use typed hull names for entities 2026-06-14 06:19:20 +01:00
Meta Vens
18dc4a61ce Use typed payloads for behavior construction 2026-06-14 05:51:15 +01:00
Meta Vens
48178a969b Use typed shapes for equipped item insets 2026-06-14 05:44:27 +01:00
Meta Vens
1f7e7cc09d Use typed state for docking bay limits 2026-06-14 05:39:15 +01:00
Meta Vens
710a98bc8d Use typed hull facets in entity state 2026-06-14 05:08:39 +01:00
Meta Vens
f85033b6c6 Use typed catalog rows for equip acceptance 2026-06-14 04:56:01 +01:00
Meta Vens
898751e6e5 Use typed cargo geometry in cargo bays 2026-06-14 04:47:02 +01:00
Meta Vens
6dbf930aec Delete dead personality state remnants 2026-06-13 21:03:23 +01:00
Meta Vens
c38be9ee5c Collapse runtime item catalog links 2026-06-13 20:02:41 +01:00
Meta Vens
b3e91999be Cut ambient runtime catalog lookup 2026-06-13 17:38:05 +01:00
Reinier Vens
6b0860b178 Bugfixes & Reactive Refactor
Added credits display to trade screen
Fixed bug in inventory screen where a failed drag from a cargo bay would make the item disappear until a refresh is triggered
Changed behavior of Escape key to exit menu if a menu is open
Fixed zone map gravity isolines to correctly track maximum gravity depth
Refactored orbit and planet data to replace reactive variables with regular ones
2025-07-18 00:21:33 +01:00
Reinier Vens
d5c4d93c8f That's Embarrassing
no idea what that code was doing in the performance stat evaluation function, what a goof
2021-06-28 05:09:52 +01:00
Reinier Vens
85483319fe Modular Database Upgrade
CultCache API can now be configured with multiple interchangeable backing stores. Will be using plain JSON in repository from now on.
2021-06-23 04:25:23 +01:00
Arnaut
4811f2ff37 Add component to entity wear based on changes in temperature 2021-06-04 14:49:00 +02:00
Reinier Vens
b0673c82fc Multi-Location Quest Injection 2021-05-16 05:24:51 +01:00