Skip to content

feat: Configure preserve border edges per bone#25

Merged
RamType0 merged 4 commits intodevelopfrom
preserve-border-edges-per-bone
Aug 29, 2025
Merged

feat: Configure preserve border edges per bone#25
RamType0 merged 4 commits intodevelopfrom
preserve-border-edges-per-bone

Conversation

@RamType0
Copy link
Owner

@RamType0 RamType0 commented Aug 29, 2025

With this feature, we will no longer see holes in avatar fingers by default.

@RamType0 RamType0 changed the base branch from main to develop August 29, 2025 18:53
@RamType0 RamType0 requested a review from Copilot August 29, 2025 19:03

This comment was marked as outdated.

@RamType0 RamType0 requested a review from Copilot August 29, 2025 19:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements per-bone configuration for border edge preservation during mesh simplification, specifically targeting avatar finger bone preservation to prevent holes. The key changes enable selective preservation of border edges based on bone indices rather than global settings.

  • Adds bone-specific border edge preservation functionality to the mesh simplification system
  • Introduces a new PreservedVertexPredicator struct to determine which vertices should be preserved based on bone indices
  • Updates the NDMF cascading avatar mesh simplifier to default to preserving finger bone border edges

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Runtime/MeshSimplifierOptions.cs Adds required imports for collections and mathematics
Runtime/MeshSimplifier.cs Adds BitArray parameter for per-bone border edge preservation and method overloads
Runtime/MergeFactory.cs Refactors to use PreservedVertexPredicator for vertex preservation logic
Runtime/Jobs/SimplifyJob.cs Implements PreservedVertexPredicator struct and updates merge logic
Runtime/Jobs/ComputeMergesJob.cs Updates job parameters to include bone-specific preservation data
Ndmf/Runtime/MeshiaCascadingAvatarMeshSimplifier.cs Adds default finger bone preservation configuration
Ndmf/Editor/Preview/MeshiaMeshSimplifierPreviewBase.cs Updates preview interface to support BitArray parameter
Ndmf/Editor/Preview/MeshiaMeshSimplifierPreview.cs Updates preview implementation for new interface
Ndmf/Editor/Preview/MeshiaCascadingAvatarMeshSimplifierPreview.cs Implements bone index mapping for avatar mesh simplifier preview
Ndmf/Editor/MeshiaCascadingAvatarMeshSimplifierRendererEntryEditor.uxml Adds UI foldout for bone preservation settings
Ndmf/Editor/MeshiaCascadingAvatarMeshSimplifierEditor.cs Implements UI logic for bone preservation toggles
Ndmf/Editor/Meshia.MeshSimplification.Ndmf.Editor.asmdef Adds Unity.Mathematics dependency
Comments suppressed due to low confidence (1)

Runtime/Jobs/SimplifyJob.cs:1

  • Missing space before the documentation comment. Add a newline between the closing brace and the XML documentation comment.
using System;

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@RamType0 RamType0 self-assigned this Aug 29, 2025
@RamType0 RamType0 merged commit e30e676 into develop Aug 29, 2025
23 of 24 checks passed
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