Restore Apply UV2 for source-only repacks - #170
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 46 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
Comment |
|
Фикс вошёл в консолидированную ветку Generated by Claude Code |
…es (PR #191 review) ExecRepackCoreImpl set ctx.HasRepack = true after the result loop regardless of outcome, and left each entry's previous repackedMesh in place when the new run failed. Since #170 the Apply UV2 section is drawn purely off that flag, so after a failed or cancelled repack the user could apply a stale result — or, with no prior repack, the original UV2 (GetResultMesh falls back to originalMesh). Now each run clears its entries' repack output up front (destroying the old mesh, which the success path used to overwrite and leak), and HasRepack is derived from whether any entry currently holds a repacked mesh. Deriving it rather than assigning false keeps per-mesh grouping correct: that path calls this method once per group, and a later failing group must not erase an earlier group's success. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0195YC4HWo1rQqEdFBb8p8jE
Motivation
ctx.HasRepack = trueиctx.HasTransfer = false, из‑за чего UI скрывал кнопку применения результата UV2.Description
CanApplyUv2(bool hasRepack, bool hasTransfer)и логика показа кнопок Apply/Reset, которая теперь рендерит их приhasRepack || hasTransferвместо зависимости только отctx.HasTransfer.LightmapTransferToolUI:Apply UV2и сопутствующие действия доступны после source-only repack без включённых target LODs, при этом отчёты качества иValidation Overlayостаются видимыми только по завершённому transfer.ApplyUv2_IsAvailable_AfterSourceOnlyRepackвTests/Editor/XatlasRepackGroupMergeTests.cs, покрывающий комбинации состоянияHasRepack/HasTransfer.Documentation~/EXPERIMENTS.mdс описанием проблемы и внесённых изменений.Testing
git diff --checkпрошёл успешно andpackage.jsonуспешно распарсен черезpython3(проверка JSON), и проверка наличия Unity.meta‑файлов прошла успешно.ApplyUv2_IsAvailable_AfterSourceOnlyRepack(EditMode) в тестовый набор, однако фактический запуск EditMode NUnit тестов не выполнялся потому что Unity Editor отсутствует в контейнере; тест компилируется и расположен вTests/Editor/.Expose Apply UV2 after source-only repack(файлы:Editor/Tools/LightmapTransferTool.cs,Tests/Editor/XatlasRepackGroupMergeTests.cs,Documentation~/EXPERIMENTS.md).Codex Task