Commit graph Thing/packages
Author SHA1 Message Date
Meta Vens
19f8d9aeff GameCult.Thing.Contract: Command.cs names System for ReadOnlyMemory<byte>
The previous two commits do not build: Command.cs lacked the using. This one
restores the build.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 04:19:32 +02:00
Meta Vens
4f87e5c5bf GameCult.Thing.Contract: RecordPayload.Bytes is a copied ReadOnlyMemory<byte>; array arguments and decoded lists pinned
Under thing2:ruling:payload-bytes-read-only the payload holds a copy made at
construction (wire bytes unchanged). New tests: a T[] argument (including
through Builders.Boxed) is copied; no list of any decoded golden is writable;
a caller's buffer written after construction does not change the payload. The
byte[] exemption in the mutable-collection scan is removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 04:17:03 +02:00
Meta Vens
b8e8abd981 GameCult.Thing.Contract: ParamDecl.Kind keeps its name (a rename sed hit its assignment)
The two previous GameCult.Thing.Contract commits do not build: ParamDecl's constructor assigned
InputKind. This restores Kind = Present(kind, "Kind").

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:21:08 +02:00
Meta Vens
a6a7a97634 GameCult.Thing.Contract: a unit arm is its arm type; the 58 static instances are gone
Deleted the 38 + 17 + 3 internal static Instance fields and public static unit-arm properties.
Unit arms are built with new ImageFitContain() and told by a type test; the arm constructors are
public. Builders rewritten (65 uses); UnitArmTests replaces the SameAs assertions: every decoded
unit arm is its arm type, no union base exposes a static member of its own kind, and
new ImageFitFill() still writes 92 02 90.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:18:51 +02:00
Meta Vens
ee80246cd0 GameCult.Thing.Contract: nil refused in every required slot, lists read-only, slot 2 is InputKind
ThingDomain.Present and Items; every constructor, factory and key builder passes each non-nullable
reference parameter through Present (refusal names the slot, never a value) and each list through
Items (a private read-only copy, nil items refused). Lists are IReadOnlyList on every type.
TextInputNode's slot 2 property and parameter are InputKind, matching Rust input_kind.
Tests: NilPositionTests reads the Rust vector row by row; PresenceTests and ReadOnlyListTests
walk every door by reflection; InputKindNameTests. NameSetTests and the unit-arm rewrite follow.
Unit-arm statics are still present in this commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 02:18:45 +02:00
Meta Vens
3e46195b3f GameCult.Thing.Contract: comments no longer spell the words the negative greps hunt
Comment-only; builds.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 08:37:26 +02:00
Meta Vens
33eed442c7 GameCult.Thing.Contract: the gamecult.thing.* wire types for .NET, every door through a validating constructor
One C# type per Rust type, keys in the crate's slot order. Unions are abstract classes with an
internal constructor and sealed arms; unit arms are shared instances. ThingDomain owns the four
domains and ThingKeys the key grammar. CommandResult is built by four factories only; its
constructor is private. Builds against CultLib b3bd8dd5 through CultLibRoot. Tests follow in the
next commit; this one builds.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 08:37:04 +02:00
Meta Vens
96839ad34c Align EveUnity ownership verifier 2026-08-26 20:58:26 +02:00
Meta Vens
bfdaff2d68 Merge Eve invocation and presentation authority 2026-08-26 20:14:12 +02:00
Meta Vens
23eaf32eae Compose operation and component binding captures 2026-08-22 12:38:52 +02:00
Meta Vens
6b5faa6a77 Preserve Eve input defaults and command receipts 2026-08-22 12:16:51 +02:00
Meta Vens
6766bee7c1 Omit absent provider surface metadata 2026-08-22 00:14:58 +02:00
Meta Vens
cdea1c8f9e Normalize C# provider advertisements at Eve boundary 2026-08-22 00:13:25 +02:00
Meta Vens
4338a42c6e Repair Eve browser command and editable binding contracts 2026-08-22 00:02:17 +02:00
Meta Vens
f7c79ee784 Define explicit Eve presentation finality 2026-08-19 09:35:25 +02:00
Meta Vens
7f9b5f63ed Preserve declared Eve control payloads 2026-08-19 05:30:30 +02:00
Meta Vens
3ede0799ab Carry delegated Eve invocation identity 2026-08-19 04:31:55 +02:00
Meta Vens
0d75021c8b Canonicalize Eve invocation digests 2026-08-19 04:25:25 +02:00
Meta Vens
4167fc32ca Bind Eve receipts to immutable invocations 2026-08-19 04:18:18 +02:00
Meta Vens
351f70245b Bind Eve navigation to an authority runtime 2026-08-19 03:29:46 +02:00
Meta Vens
e7b09f755d Package the portable Eve surface for .NET 2026-08-18 06:33:29 +02:00
Meta Vens
cbe9d9f25e Make Eve command receipts portable 2026-08-18 06:21:44 +02:00
Meta Vens
2c4a9adb05 Add portable inventory placement previews 2026-08-18 05:22:45 +02:00
Meta Vens
36e9d36c78 Emit portable Eve package output with LF endings 2026-08-18 02:54:10 +02:00
Meta Vens
b68b833cd8 Lower Eve select controls natively in browsers 2026-08-18 02:08:56 +02:00
Meta Vens
322fa40713 Unify Eve surface wire format 2026-08-18 01:29:11 +02:00
Meta Vens
ad32be863c Make Eve onboarding contracts portable 2026-08-17 23:18:07 +02:00
Meta Vens
0c486796ab Add provider-owned Eve navigation receipts 2026-08-17 22:41:36 +02:00
Meta Vens
fe0dddf282 Release Eve surface 0.3.0 2026-08-17 21:27:12 +02:00
Meta Vens
dd196508ac Own the portable Eve surface contract 2026-08-17 21:14:55 +02:00
Meta Vens
7f51dfd6ac Isolate Eve browser lowering per host 2026-08-17 20:11:36 +02:00
Meta Vens
b597dab7ad Add Model Atlas surface conformance fixture 2026-08-14 13:13:29 +02:00
Meta Vens
4b2975955f Define provider action bar suggestions 2026-07-17 05:13:45 +01:00
Meta Vens
961a5e0df2 Define explicit scalar input controls 2026-07-17 05:11:52 +01:00
Meta Vens
747e29e908 Require distinct vector payload keys 2026-07-17 04:56:17 +01:00
Meta Vens
166d2d4c7b Define view-direction input values 2026-07-17 04:46:49 +01:00
Meta Vens
0c5cfdf101 Lower rotated inventory footprints 2026-07-17 01:45:32 +01:00
Meta Vens
9d3191d5f8 Define generic spatial inventory drops 2026-07-17 01:14:13 +01:00
Meta Vens
fe81204177 Project typed records as semantic list items 2026-07-15 02:38:32 +01:00
Meta Vens
00141b6473 Lower provider-owned structured lists 2026-07-15 02:37:18 +01:00
Meta Vens
85b0139289 Subscribe Eve components to typed state 2026-07-15 01:41:25 +01:00
Meta Vens
ccb9d56424 Add canonical TypeScript Eve contracts 2026-07-13 23:44:18 +01:00
Meta Vens
c490c1e77f Reconcile controls from provider receipts 2026-07-13 17:28:21 +01:00
Meta Vens
4ac8945ceb Include slider values in Eve command intents 2026-07-13 01:01:55 +01:00
Meta Vens
698f3672e0 Lower semantic rosters in browser clients 2026-07-11 20:02:43 +01:00
Meta Vens
91277a6845 feat(input): define semantic gesture contracts 2026-07-11 03:16:42 +01:00
Meta Vens
229b5a4ca1 feat(web): lower 2D world surfaces 2026-07-11 00:51:31 +01:00
Meta Vens
f015d88180 Clean field renderer source boundary 2026-07-10 15:26:30 +01:00
Meta Vens
16189638d2 Move browser field rendering behind plugin adapter 2026-07-10 15:26:03 +01:00
Meta Vens
af0e44cfc3 Move field component lifecycle into browser adapter 2026-07-10 15:19:11 +01:00