Skip to content

refactor: align identifier naming with codebase convention (#94)#95

Merged
csparker247 merged 2 commits into
developfrom
naming-convention-cleanup
Jun 15, 2026
Merged

refactor: align identifier naming with codebase convention (#94)#95
csparker247 merged 2 commits into
developfrom
naming-convention-cleanup

Conversation

@csparker247

Copy link
Copy Markdown
Member

Closes #94.

Summary

Applies the codebase naming convention (codified in conductor/code_styleguides/cpp.md) to identifiers that pre-existed in camelCase form:

  • detail::* algorithms → PascalCase (buildSystemBuildSystem, etc.)
  • detail::hlscm::DecimationMesh instance methods + private members → lower_snake_case
  • CollapseRecord / HierarchyLevel POD members → lower_snake_case
  • Public instance setters (setMaxIterations, setLevelRatio, etc.) → lower_snake_case, with [[deprecated]] shims slated for removal in 3.0
  • Private members behind those setters (maxIters_, levelRatio_, etc.) → snake_case_
  • Plus legacyPinIndices_legacy_pin_indices_ (violation I introduced in PR feat(lscm): multi-pin UV constraints on ABLSCM and HLSCM #93)

The existing setPinnedVertices shims (from PR #93) keep their camelCase name — they're already slated for 3.0 removal.

Backward compatibility

  • All public setter renames have [[deprecated]] shims with the original camelCase name. Downstream callers compile with a deprecation warning, slated for removal in 3.0.
  • detail::* renames have no public ABI contract, no shims.

Test plan

  • All 60 parameterization assertions pass (6/6 test binaries)
  • Build emits 8 deprecation warnings, all from the pre-existing PR feat(lscm): multi-pin UV constraints on ABLSCM and HLSCM #93 shim-exercising tests (no new shim warnings — test callers were updated in this PR)
  • No new test added: each shim is a trivial one-liner forward; coverage value vs. churn was low
  • Single-header amalgamation regenerated
  • clang-format -i (v18-equivalent reflow) clean

Apply the codebase naming convention (codified in
conductor/code_styleguides/cpp.md, commit 26fa1fb) to existing
camelCase identifiers across the LSCM/HLSCM and ABF surfaces:

Group A — detail:: namespace (no public API impact, no shims):
- detail::lscm::buildSystem            -> BuildSystem
- detail::hlscm::buildHierarchy        -> BuildHierarchy
- detail::hlscm::buildLevelMesh        -> BuildLevelMesh
- detail::hlscm::prolongateUVs         -> ProlongateUVs
- detail::hlscm::solveLSCMLevel        -> SolveLSCMLevel
- DecimationMesh::numAliveVerts        -> num_alive_verts
- DecimationMesh::numAliveFaces        -> num_alive_faces
- DecimationMesh::tryCollapse          -> try_collapse
- DecimationMesh::collapseCost         -> collapse_cost
- DecimationMesh::isAlive              -> is_alive
- DecimationMesh::isCollapsible        -> is_collapsible
- DecimationMesh::vertexNeighbors      -> vertex_neighbors
- DecimationMesh::rebuildAndGetEdges   -> rebuild_and_get_edges
- DecimationMesh private methods       -> compute_quadrics_, build_edges_
- DecimationMesh private members       -> is_boundary_, is_pinned_,
                                          face_alive_, vert_faces_,
                                          num_alive_verts_, num_alive_faces_,
                                          scratch_*_
- CollapseRecord members               -> v_removed, v_kept, containing_tri
- HierarchyLevel members               -> local_to_original, original_to_local

Group B — public instance setters (with [[deprecated]] shims slated
for removal in 3.0):
- ABF/ABFPlusPlus::setMaxIterations      -> set_max_iterations
- ABF/ABFPlusPlus::setGradientThreshold  -> set_gradient_threshold
- HierarchicalLSCM::setLevelRatio        -> set_level_ratio
- HierarchicalLSCM::setMinCoarseVertices -> set_min_coarse_vertices
- ABF/ABFPlusPlus::maxIters_             -> max_iters_
- ABF/ABFPlusPlus::gradThreshold_        -> grad_threshold_
- HierarchicalLSCM::levelRatio_          -> level_ratio_
- HierarchicalLSCM::minCoarseVertices_   -> min_coarse_vertices_
- ABLSCM/HLSCM::legacyPinIndices_        -> legacy_pin_indices_
  (the latter was a violation I introduced in PR #93)

The existing setPinnedVertices deprecated shims (from PR #93) keep
their pre-existing camelCase name — they're already slated for 3.0
removal and renaming would double-migrate users.

Tests: all 60 parameterization assertions pass (6/6 binaries).
Deprecation warnings only fire from the pre-existing PR #93 shim
tests; new shims compile clean since test callers were updated.

Single-header amalgamation regenerated.
- LSCMSystem.hpp AutoPlacePair signature: re-apply v18-preferred wrap.
- Regenerate single_include after the late computeQuadrics_/buildEdges_
  rename.
@csparker247 csparker247 merged commit 166526e into develop Jun 15, 2026
16 checks passed
@csparker247 csparker247 deleted the naming-convention-cleanup branch June 15, 2026 02:06
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.

Naming convention: rename pre-existing LSCM camelCase methods/functions

1 participant