Skip to content

Добавить флаг symmetry-split в sidecar и учитывать его в deterministic replay - #17

Merged
SashaRX merged 1 commit into
masterfrom
codex/add-symmetry-split-support-to-sidecar-metadata
Mar 3, 2026
Merged

Добавить флаг symmetry-split в sidecar и учитывать его в deterministic replay#17
SashaRX merged 1 commit into
masterfrom
codex/add-symmetry-split-support-to-sidecar-metadata

Conversation

@SashaRX

@SashaRX SashaRX commented Mar 3, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Обеспечить детерминированный replay для изменений топологии, вызванных операцией symmetry split, так же как уже делалось для meshopt/edgeWeld.
  • Записать факт выполнения symmetry split в sidecar, чтобы постпроцессор мог однозначно выбрать путь воспроизведения или fallback.
  • Сохранить обратную совместимость со старыми sidecar без нового флага, чтобы не ломать существующие проекты.

Description

  • Добавлен флаг wasSymmetrySplit в MeshEntry и поле symmetrySplit / stepSymmetrySplit в SidecarEntry/MeshUv2Entry и прокинуто в Uv2DataAsset.Set(...) для сохранения в sidecar.
  • При ExecSymmetrySplit() теперь помечается wasSymmetrySplit для меша и при ApplyUv2ToFbx() генерация/сохранение replay-данных (vertexRemap, optimizedVertexCount, optimizedTriangles, submeshTriangleCounts) выполняется также когда была применена symmetry split.
  • Постпроцессор расширен: добавлена функция ResolveSymmetrySplitStep(...), детерминированный путь логирует наличие symmetrySplit, и предупреждения/fallback теперь учитывают symmetry split как топологически изменяющий шаг.
  • Обновлён Uv2DataAsset schema/tool версии (CurrentSchemaVersion = 2, ToolVersionStr = "0.13.0") и добавлена логика backwards-compatible (эвристика для старых sidecar с replay-данными, но без явного флага).
  • Сбрасывание состояния обновлено: ResetWorkingCopies() очищает wasSymmetrySplit, и логи [Apply]/[UV2 Postprocess] теперь явно показывают, что replay включает symmetry split.

Testing

  • Выполнены проверки репозитория: git diff --check завершился без ошибок.
  • Статус коммита и итоговые изменения зафиксированы и просмотрены через git status --short и git show --stat --oneline HEAD, оба показали ожидаемые изменения и успешный коммит.
  • Изменения были закоммичены (Add symmetry split flag to sidecar replay path) и PR-сообщение сформировано; никаких автоматических юнит-тестов в кодовой базе не запускалось в рамках этого изменения.

Codex Task

SashaRX pushed a commit that referenced this pull request Mar 3, 2026
…et mode

Resolved conflicts with PR #17 in ExecSymmetrySplit():
- Combined LOD filtering (source-only default) with wasSymmetrySplit tracking
- Method accepts bool includeTargets AND sets e.wasSymmetrySplit flag

https://claude.ai/code/session_01198JqNgkdbzwRFc7nt8FqJ
SashaRX pushed a commit that referenced this pull request Mar 3, 2026
…urce-only split)

Merged PRs:
- #18 codex/update-shell-computation-logic (majority vote)
- #17 codex/add-symmetry-split-support-to-sidecar-metadata (sidecar flag)
- #16 codex/refactor-execsymmetrysplit-to-handle-source-lod (source-only default)

Resolved merge conflict between PR #17 and #16 in ExecSymmetrySplit():
combined LOD filtering with wasSymmetrySplit tracking.

Removed REVIEW.md (deleted by all 3 PRs).

https://claude.ai/code/session_01198JqNgkdbzwRFc7nt8FqJ
@SashaRX
SashaRX merged commit f615c4b into master Mar 3, 2026
@SashaRX
SashaRX deleted the codex/add-symmetry-split-support-to-sidecar-metadata branch March 4, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant