Skip to content

UO_Model3D b212cee (v13.5): vendor update from e9544f6 - #37

Open
wverri wants to merge 1 commit into
DatMoshu:mainfrom
wverri:pr/uo-model3d-b212cee
Open

wverri wants to merge 1 commit into
DatMoshu:mainfrom
wverri:pr/uo-model3d-b212cee

Conversation

@wverri

@wverri wverri commented Oct 28, 2026

Copy link
Copy Markdown

Change

Updates the vendored UO_Model3D (Levy, Kserian/UO_Model3D) from e9544f6 to b212cee (2026-10-20, v13.5), through b2d22af and 9db841d. Stripped the same way as before: the .blend re-saved by strip_originals.py with Blender 4.2 (no original atlas, uo_exact 0), and no .vd, .npz, .pkl, body13, test_data or the pipeline/ copy of the original atlas. The pipeline scripts are byte-identical to upstream b212cee.

What it brings for SpriteMotion:

  • uo_cloth_sim.py pins the cloth to the moving target with animated shape keys. The old frame_change_pre handler left the pin on the first pose, so the whole garment drifted 7–12 cm off the body. It also adds fabric presets, thick, in_max and smooth, and imports bpy_compat.py. pipeline.py setup now copies that file and the render fingerprint includes it.
  • render_uo_layer.py: adaptive item render, OUTLINE_TARGET, and optional robe shading (uo_contrast, uo_shade_*).
  • 9db841d re-fitted the pose keys for natural motion and added the mounted head/neck yaw. b212cee leaves the model unchanged.
  • Upstream made README.md the English README and README_PL.md the Polish one (README_EN.md is gone), so setup now checks README.md.

Also updated: provenance.json and NOTICE.md, THIRD_PARTY_NOTICES.md, CLAUDE.md, the end-to-end guide, docs/handoff.md and CHANGELOG.md.

Verification

  • python -m pytest tests with a worktree venv: 221 passed, 2 skipped. The 2 failures are the Windows-path tests in tests/unit/test_fit_lab_paths.py (C:/…), which also fail on main under macOS and have nothing to do with this change.

  • sha256 of the .blend matches provenance.json.

  • pipeline.py setup --source third_party/UO_Model3D_v13, then real Blender 4.5 LTS preview builds (helm, one-handed weapon, robe with the cloth pass) on macOS. We have used this vendor in production builds of helms, 1H/2H weapons, bows and a robe since 2026-10-15, and the 9db841d pose re-fit changed 0.14% of a 1H katana review sheet.

  • Tests pass; behavior changes have meaningful coverage.

  • No UO data, commercial assets, private mappings, credentials or local paths included.

  • Any media has redistribution permission and recorded provenance.

  • Blender/render changes were checked with actual renders, or remaining verification is stated.

Risks and remaining work

  • Not re-checked here: a full 35-action build of every starter part. Cloak and full mounted sets were not verified against the new pose keys.
  • Upstream's cloth default thick 0.02 cracked the pleats on one of our robes; 0.005 with in_max -1 stayed clean. Upstream measured more leg pixels through the robe at 0.005, so this is noted in docs/handoff.md as a per-garment choice, not changed.

Vendor Levy's repo at b212cee (was e9544f6; through b2d22af and 9db841d), stripped
as before: the .blend re-saved by strip_originals.py with Blender 4.2 (no original
atlas, uo_exact 0), no .vd, .npz, .pkl, body13, test_data or the pipeline/ copy of
the original atlas.

- uo_cloth_sim.py drives the pin with animated shape keys (the frame handler left
  it on the first pose), gains fabric presets and imports bpy_compat.py, which
  pipeline.py setup now copies and the render fingerprint includes.
- render_uo_layer.py: adaptive item render, optional robe shading options.
- Pose keys re-fitted for natural motion, mounted head/neck yaw (9db841d).
- Upstream made README.md the English README and README_PL.md the Polish one;
  setup checks README.md.
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