Skip to content

Upgrade sixteen MMO placeholders with verified Blender-authored assets - #574

Merged
Krilliac merged 1 commit into
Workingfrom
release/blender-asset-quality
Sep 12, 2026
Merged

Upgrade sixteen MMO placeholders with verified Blender-authored assets#574
Krilliac merged 1 commit into
Workingfrom
release/blender-asset-quality

Conversation

@Krilliac

@Krilliac Krilliac commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Sixteen MMO props were primitive placeholders, several with invalid authored normals or missing UVs. This replaces them with distinct Blender-authored models, preserves filenames and original bounds, and prevents the legacy generator from overwriting them.

Includes editable Blender 4.0.2 source, reproducible authoring and CPU-render scripts, before/after previews, SHA-256 provenance, the complete 884-file baseline inspection, source-contract checks and actual production CPU importer regressions. Models use diffuse colors without external texture dependencies and stay below 5,000 triangles each. Regenerated MMO manifest, documentation, readiness handoff and build inventory; release gates remain open.

Reviewed candidate: e44c1c6
Independently reviewed tree: 63c930a15e51b47e47cf6ecaf9da6ab9823f2264
Stacked on PR #569; do not merge until required checks pass on the exact reviewed head.

Verification:

  • All 16 actual CPU importer cases pass: 560,148 assertions, 0 failed.
  • Strict source/provenance validation and 9 Python regressions pass; both new CTest registrations pass.
  • Separate Blender regeneration produces byte-identical 32 OBJ/MTL exports.
  • Actual CPU Blender before/after renders visually reviewed; chest lid endcaps and cloth back surfaces corrected.
  • Independent review additionally rejected 8 malformed provenance variants.
  • GCC 13 CMake configure, clang-format and full documentation generation pass.
  • Build inventory matches reviewed parity baseline. 183 parity tests pass, 1 skip; one initial Git-worktree setup error was corrected and the affected test independently rerun successfully.

Scope limits: no full local suite pass claimed; sandbox Unix sockets remain unavailable. CPU Blender renders are not D3D11 captures. This does not qualify Windows 11, installed content, gameplay collision, animation, performance or stable release. The remaining 206 OBJ models, textures/audio and branding still need contextual quality review. The baseline audit flags 11 MMOFPS models with near-zero-area faces for the next investigation.

Authoring requires the recorded baseline Git object and supplied provenance; full-kit regeneration is documented. New original assets retain the root Spark Open License 1.0, with existing legacy attribution preserved.

Next quality pass: render all 222 current OBJ models through the same actual Blender CPU renderer for contextual visual review. Original-source inspection confirms collapsed geometry in the 11 flagged MMOFPS models; polygon and triangulation counts differ, so do not delete arbitrary fan triangles or re-export third-party materials blindly. Preserve Assets/MMOFPS attribution and original material semantics when preparing repairs.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T04:46:29.367277Z e44c1c6 PR opened
🔒 Security Review Completed 2026-09-07T04:47:45.111083Z e44c1c6 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e44c1c6f88

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

newmtl MMO_brass
Ns 462.399994
Ka 0.720000 0.720000 0.720000
Kd 0.620000 0.390000 0.100000

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove scene overrides that hide the authored palettes

When these replacements are displayed in the shipped MMO scenes, their new Kd palettes are not used: every referenced model still has a nonempty MeshRenderer.material (for example, Assets/Scenes/MMO/town_square.scene:65-68 and 81-84), while RenderWorldBasic only draws OBJ/MTL submeshes when materialPath is empty (WorldBasicRenderer.cpp:350-398). Consequently the forge, shop, stalls, fountain, and other upgraded props are rendered with one legacy stone/wood/etc. texture instead of their authored iron, brass, ember, cloth, and wood colors. Remove or adapt those scene overrides, or compose them with the OBJ material groups, so the runtime presentation matches the upgraded assets rather than only the Blender previews.

Useful? React with 👍 / 👎.

Comment on lines +5 to +8
* Exercises production MeshAsset::Load, not a replacement OBJ parser. Windows
* requires a real D3D11 device and is deliberately outside this CPU test scope.
* Material references and source/export provenance are checked separately; this
* loader does not expose OBJ material assignments. No rendering claim is made.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exercise the material-aware Linux mesh loader

For non-Windows users who instantiate these self-contained models without an explicit JSON material, the live renderer still cannot use their authored colors: WorldMeshCache loads Mesh, but the OBJ branch in MeshLinux.cpp:338-405 discards materials and material_ids and never fills m_submeshes, which is required by WorldBasicRenderer.cpp:380-392 to issue per-Kd draws. These new tests instead call MeshAsset::Load and explicitly omit material assignments, so all 16 remain green while the advertised palette is lost in the actual Linux scene path. Preserve material ranges in the Linux Mesh importer and cover that path with the asset regression.

Useful? React with 👍 / 👎.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

⏳ CodeQL Report Pending

The pull-request head changed. Results from earlier commits do not apply while the new head is being scanned.

Current PR head: e44c1c6f88abe9469db1d34976faf29a3c7cda95

Base automatically changed from fix/ci-release-evidence to Working September 12, 2026 14:05
@Krilliac
Krilliac merged commit 4c28c11 into Working Sep 12, 2026
28 of 32 checks passed
@Krilliac
Krilliac deleted the release/blender-asset-quality branch September 12, 2026 14:05
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.

1 participant