Repository navigation
Add CC0 starter equipment and complete Fit Lab fitting workflow - #1
Conversation
Corrections target a pack, slot, named group or item, optionally per action and stored direction, resolved identically in the lab and in Blender builds. Back/quiver slots mask against the whole body. The lab can build the selected item from frozen saved fits and rebuild only blocks whose fit changed into a new validated revision. The preview's Euler order now matches Blender. Studio pack jobs only require fit_item when item offsets are non-zero. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The updated renderer has its own 256x256 canvas, so the build only pads older renderers, and the rig gained four weapon bones (112). Per-block fits now rebuild the holdout and torso triangle masks the new renderer uses, since hidden body faces change the triangle count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eea81693f7
ℹ️ 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".
| def render_fingerprint(): | ||
| paths = [HERE/name for name in ('blender_build.py','fit_runtime.py','pack_fit.py')] | ||
| paths += [ROOT/'tools/fit-lab/fit_rules.py'] | ||
| paths += [BACKEND/'pipeline'/name for name in ('render_uo_layer.py','uo_bind_item.py','uo_vd_writer.py')] | ||
| return hashlib.sha256(''.join(sha(path) for path in paths).encode()).hexdigest() |
There was a problem hiding this comment.
Fingerprint the Blender runtime before selective rebuilds
When a user upgrades or switches Blender between the original build and a selective rebuild, this fingerprint remains unchanged because it hashes only repository/backend files. Blender version changes can alter shading and rasterization, so the compatibility check accepts the rebuild and merges newly rendered blocks with blocks produced by a different renderer runtime. Include the Blender executable/version or another runtime-renderer identity in the recorded fingerprint.
Useful? React with 👍 / 👎.
| spec.update(fit_adjustments=document, job=str(destination), rebuild={'source_job':source.name,'patch_job':patch.name,'blocks':selected,'unchanged_vd_blocks':unchanged}) | ||
| pipeline.write_json(stage/'job.json',spec) |
There was a problem hiding this comment.
Rebase copied inputs onto the rebuilt job
After a successful partial rebuild, the copied revision's job.json retains the source job's absolute asset and pack_mapping paths even though copytree placed equivalent files inside the new job. If the source job is subsequently cleaned up or moved, loading this revision's settings or rebuilding it again fails on those stale paths, making every revision depend on its oldest ancestor. Update these fields to the copies under destination before writing the new spec.
Useful? React with 👍 / 👎.
Add audited CC0 equipment examples, studio and lab launchers, live Blender render review, body holdout fixes, torso depth and independent left/right item offsets. Include shared-service documentation, GUO integration research and regression coverage.
Equipment fitting could place back attachments over the UO body, and paired items and torso clothing needed more precise controls. This adds complete-body holdout masking, scoped animation/direction corrections, real Blender render review, torso depth and independent left/right item offsets while preserving saved fits, autosave and undo history.
The CC0 starter catalog includes licensed and hash-audited equipment examples for all 25 UO layer routes: animated wearables, jewelry source/paperdoll routes and mount guidance. Windows/Linux launchers connect Studio and Fit Lab. Shared-service documentation and a GUO integration plan are included; the separate GUO implementation is not shipped by this PR.
Validation:
Full 35-action coverage, complete-outfit layering and in-client equip testing remain release gates. Some starter intersections remain. No UO game assets or commercial/private sidecar assets are included; only audited CC0 starter models are redistributed. The canonical UO body still requires local setup.