Skip to content

Add UO_Model3D v13 by Levy (shared with the artist's permission) - #22

Merged
DatMoshu merged 1 commit into
mainfrom
worker/uo-model3d
Oct 6, 2026
Merged

DatMoshu merged 1 commit into
mainfrom
worker/uo-model3d

Conversation

@DatMoshu

@DatMoshu DatMoshu commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Adds UO_Model3D v13 by Levy, SpriteMotion's canonical body, under third_party/UO_Model3D_v13/. Levy gave permission to share it.

  • model/: .blend (the stripped copy), .fbx and .glb in git LFS, plus the albedo PNGs. Run git lfs pull after cloning.
  • pipeline/, vdtool/, README_EN.md / README.md, NOTICE.md, provenance.json (license: shared with permission of the artist (Levy)).
  • Not included: everything extracted from the UO client (client/, every .vd, the original-frame atlas, fit targets built from original silhouettes, *.pkl caches). NOTICE.md explains how to rebuild them from your own client.
  • THIRD_PARTY_NOTICES.md names the exception. tests/integration/test_repository.py checks the model files against the provenance hashes (LFS pointer oids) and rejects client-derived file types or client/extract folders under the model.

Verification: tests/integration/test_repository.py passes (4 passed, 1 skipped). The full test suite was not run in this worktree.

🤖 Generated with Claude Code

The canonical body (model/, pipeline/, vdtool/, READMEs) under third_party/UO_Model3D_v13,
with .blend/.fbx/.glb in git LFS. Nothing extracted from the UO client is included: no
client/, no .vd files, no original-frame atlas (the .blend is the stripped copy). The
repository test checks the model files against provenance.json hashes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 6, 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-10-06T22:17:11.283900Z f81f597 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.

@DatMoshu
DatMoshu merged commit 1fcc429 into main Oct 6, 2026
2 checks passed
@DatMoshu
DatMoshu deleted the worker/uo-model3d branch October 6, 2026 22:16

@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: f81f5973ec

ℹ️ 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".

Comment on lines +60 to +64
elif rel.startswith('third_party/UO_Model3D_v13/') and rel.removeprefix('third_party/UO_Model3D_v13/') in model_approved:
data = path.read_bytes() # a git-lfs pointer carries the sha256 of the real file
pointer = re.search(rb'^oid sha256:([0-9a-f]{64})$', data, re.MULTILINE) if data.startswith(b'version https://git-lfs') else None
digest = pointer.group(1).decode() if pointer else hashlib.sha256(data).hexdigest()
assert digest == model_approved[rel.removeprefix('third_party/UO_Model3D_v13/')], rel

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 Require provenance for every bundled binary asset

Add the newly bundled PNG and NPZ assets to the provenance allowlist and reject unapproved binaries in this subtree. Currently only the three LFS model paths enter this hash check; replacing one of the six albedo PNGs—or adding another PNG/NPZ containing client-derived data—falls through to the permissive branch, and the later checks reject neither extension unless an exact client/extract directory component is present. Thus the privacy guard can pass content it claims to exclude.

AGENTS.md reference: AGENTS.md:L3-L6

Useful? React with 👍 / 👎.

Comment thread THIRD_PARTY_NOTICES.md
Comment on lines +20 to +23
`third_party/UO_Model3D_v13/` holds UO_Model3D v13 by Levy, shared with the
artist's permission (the model, its fitting pipeline and `vdtool`). It is not
under the MIT license. It contains no data extracted from the Ultima Online
client; see its [NOTICE](third_party/UO_Model3D_v13/NOTICE.md).

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 Update onboarding to use the bundled model

Update the primary README now that this model is included. Its “Start with Content Studio” section still says users need a separately obtained UO_Model3D folder, and “What you download” explicitly says the canonical body scene is not included. A fresh user following those instructions will overlook this bundled, audited source instead of running git lfs pull and passing third_party/UO_Model3D_v13 to the existing setup command.

Useful? React with 👍 / 👎.

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