DynamoDS/DYN-10524: [Kiln Test] Add missing XML doc comments to GeometryExtension methods#17135
Closed
eamiri wants to merge 3 commits into
Closed
DynamoDS/DYN-10524: [Kiln Test] Add missing XML doc comments to GeometryExtension methods#17135eamiri wants to merge 3 commits into
eamiri wants to merge 3 commits into
Conversation
Added complete XML documentation to three geometry-related utility methods: - BoundaryConditionFromString in ProtoGeometryHelper - PopulateItemsCore in PanelSurfaceBoundaryConditions - ByParametersOnSurface in Voronoi All methods now include <summary>, <param>, and <returns> tags consistent with existing code style.
There was a problem hiding this comment.
See the ticket for this pull request: https://jira.autodesk.com/browse/DYN-10524
Add XML doc comments to the Contains(Rect2D) public API method describing rect-in-rect containment with boundary-inclusive semantics.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Closes https://autodesk.atlassian.net/browse/DYN-10524
h1. Add XML Doc Comments to Rect2D Geometry Methods — Implementation Plan
h2. Overview
Add {{
h2. Current State Analysis
h3. Key Discoveries
h3. Behavior the docs must capture (verified from source)
h2. Desired End State
h2. What We're NOT Doing
h2. Implementation Approach
One file, three insertions, in a single commit. For each method, insert a {{///}}-prefixed XML doc block immediately above the method signature, using the same indentation as the method's signature line. Run a Release build to confirm there are no new warnings, then commit. No tests required; this is a doc-only change.
h3. TASK 1: Document {{Rect2D.Contains(Rect2D rect)}} [HIGH PRIORITY]
Status: DONE
Milestone: Method at {{Rect2D.cs:66}} has a complete, correctly indented XML doc block describing rect-in-rect containment, including the boundary-inclusive semantics.
Validation:
Requirements from spec:
Files to Modify:
Implementation Details:
Exact block to insert (tab-indented to match line 66):
{noformat} ///
/// Determines whether the specified rectangle is entirely contained within this rectangle.
///
/// The rectangle to test for containment.
/// true if every point of lies within or on the boundary of this rectangle; otherwise, false.{noformat}
h3. TASK 2: Document {{Rect2D.IntersectsWith(Rect2D rect)}} [HIGH PRIORITY]
Status: DONE
Milestone: Method at {{Rect2D.cs:79}} has a complete, correctly indented XML doc block describing the boolean intersection test and the touching-edges-return-false semantics.
Validation:
Requirements from spec: AC1, AC2, AC3 (as in TASK 1).
Files to Modify:
Implementation Details:
Exact block to insert (8-space-indented to match line 79):
{noformat} ///
/// Indicates whether this rectangle overlaps with the specified rectangle.
///
/// The rectangle to test for overlap.
/// true if the two rectangles share at least one interior point; otherwise, false. Rectangles that only touch along an edge (zero overlap area) are not considered intersecting.{noformat}
h3. TASK 3: Document {{Rect2D.Intersect(Rect2D rect)}} [HIGH PRIORITY]
Status: NOT STARTED
Milestone: Method at {{Rect2D.cs:85}} has a complete, correctly indented XML doc block describing in-place mutation and the {{Empty}} sentinel produced when the rectangles do not overlap.
Validation:
Requirements from spec: AC1, AC2, AC3 (as in TASK 1). Method returns {{void}}, so no {{}} element.
Files to Modify:
Implementation Details:
Exact block to insert (8-space-indented to match line 85):
{noformat} ///
/// Mutates this rectangle in place to the intersection of itself and the specified rectangle.
/// If the two rectangles do not overlap, this rectangle becomes .
///
/// The rectangle to intersect with this rectangle.{noformat}
h3. TASK 4: Build verification [HIGH PRIORITY]
Status: NOT STARTED
Milestone: Release build of the cross-platform core succeeds with no new warnings or errors introduced by this change.
Validation:
Requirements from spec: AC3: "No functional changes — doc comments only."
Files to Modify: (none — verification only)
h2. Testing Strategy
h3. Unit Tests
None. This is a documentation-only change; there is no behavior to assert. Repo policy and the "No functional changes" acceptance criterion both rule out adding tests here.
h3. Integration Tests
None, for the same reason.
h3. Manual Testing Steps
Open {{src/DynamoUtilities/Rect2D.cs}} in an IDE (Visual Studio / Rider / VS Code with C# extension).
Hover over a call site of {{Rect2D.Contains(Rect2D)}} — IntelliSense should display the new {{}} text.
Repeat for {{Rect2D.IntersectsWith(Rect2D)}} and {{Rect2D.Intersect(Rect2D)}}.
Run a Release build (see TASK 4 commands) and confirm a clean build.
{{git diff src/DynamoUtilities/Rect2D.cs}} should show only added {{///}} lines; no other lines should be touched.
{{git diff src/DynamoUtilities/PublicAPI.Shipped.txt src/DynamoUtilities/PublicAPI.Unshipped.txt}} should be empty.
h2. Performance Considerations
None. XML doc comments are compile-time metadata; no runtime impact.
h2. Migration Notes
None. No public API surface changes, no consumer code changes, no data migration.