Skip to content

feat: expose native vehicle color metadata - #268

Merged
ifBars merged 2 commits into
stablefrom
diffuin/241-e7a4f147
Aug 14, 2026
Merged

ifBars merged 2 commits into
stablefrom
diffuin/241-e7a4f147

Conversation

@diffuin

@diffuin diffuin Bot commented Aug 14, 2026

Copy link
Copy Markdown

Requested by @ifBars in #241.

Diffuin response

Confidence: Medium

Implemented the additive native vehicle color metadata catalog, its immutable managed snapshots, focused contract tests, and vehicle module documentation. The worktree is ready for the delivery system to create the pull request; no commit or pull request was created during this run.

Recommended next steps

  1. Added VehicleColorMetadata and VehicleColorCatalog without modifying existing public vehicle APIs or durable identities.
  2. Copies typed native fields into immutable snapshots in library order; absent colors, including Custom, return null or false.
  3. Uses the native singleton and typed fields directly, with no reflection, UI patching, persistence, networking, or save changes.
Evidence and validation

Evidence inspected

  • Regular and beta Mono sources define VehicleColors.colorLibrary entries with color, colorName, MaterialColor, and UIColor fields.
  • The retained Main scene serializes 16 entries from Black through Dark Green and has no Custom entry.
  • VehicleColor matches the native enum ordering, with Custom as an additional value absent from the catalog.
  • ClothingMetadataCatalog established the repository pattern for readiness checks, empty results, snapshots, and provider-backed tests.

Validation performed

  • Read issue [FEATURE] Expose vehicle color metadata #241 and its approved implementation plan.
  • Inspected the relevant repository APIs, tests, documentation, coding standards, regular and beta stripped sources, and retained scene metadata.
  • Ran whitespace checks on tracked and new implementation files.
  • Checked that no invalid VehicleColor.Blue reference remains.

Runtime validation remaining

  • Restore, build, and test both MonoMelon and Il2CppMelon after a .NET SDK and user-owned game assemblies are configured.
  • Verify the generated IL2CPP wrapper exposes the typed VehicleColors.colorLibrary surface used by the catalog.
  • Perform human runtime checks on alternate Mono and regular IL2CPP after the main scene loads, including early access and Custom absence.
  • No in-game UI, multiplayer, save/load, or end-to-end validation was performed.
Diffuin run details
  • Provider: codex
  • Model: gpt-5.6-terra
  • Reasoning: high (Luna advisor: balanced (high); baseline bounded implementation)
  • Elapsed: 384s
  • Codex thread: 019ffd9f-9410-75c0-9e41-a30715e64eeb

AI notice: Generated with AI assistance and not guaranteed accurate. Verify findings and plans against the current source and runtime.

Closes #241


Diffuin job: e7a4f147-4b24-4e92-a8f5-e708c63e1875
Commit: 6ddb94d59d1228b0eea7031a8d78c93a954e5874

@ifBars

ifBars commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Verified against clean isolated completed-save copies on both Mono and IL2CPP. The runtime catalog matched all 16 native entries in order, including enum, display name, material color, and UI color values; Custom remained absent and early access remained safe. Full suites: Mono 581/581; IL2CPP 570/570. The test-only follow-up in fb53d87 avoids initializing GameAssembly-bound Color32 behavior in the standalone IL2CPP host; the real IL2CPP runtime probe verifies those bytes.

@ifBars
ifBars merged commit 942287b into stable Aug 14, 2026
6 checks passed
@ifBars
ifBars deleted the diffuin/241-e7a4f147 branch October 2, 2026 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Expose vehicle color metadata

1 participant