Skip to content

Conversation

@saumyashahi
Copy link
Contributor

Description:

This PR implements a comprehensive brick tree model for the Masonry module, providing tree management, hierarchical and graph-like connections. The path file is also modified to now return connection points for each connection notch in the generateBrickData using getConnectionPoints function.

Key Features Added

1. BrickTreeManager Class

  • Complete tree management system with unique tree IDs
  • Hierarchical parent-child relationship support
  • Graph-like left-right notch connections
  • Automatic tree merging and splitting operations

2. Connection System

  • Hierarchical Connections: Top-bottom and left-right parent-child relationships
  • Nested Connections: Support for complex nested brick structures
  • Connection Validation: Type-safe validation based on brick types and notch availability

3. Tree Operations

  • Tree Merging: Automatic merging when bricks connect
  • Tree Splitting: Intelligent splitting that preserves child relationships
  • Hierarchical Disconnection: Parent disconnection preserves child connections
  • UUID Management: Unique brick identification with dynamic tree IDs

Testing

  1. Connection Tests: Validating tree merging behavior
  2. Disconnection Tests: Ensuring proper tree splitting
  3. Hierarchical Tests: Testing parent-child relationship preservation
  4. Validation Tests: Verifying connection rules and notch compatibility
  5. Edge Case Tests: Complex scenarios with multiple connections

@saumyashahi saumyashahi requested a review from meganindya June 22, 2025 20:06
@saumyashahi saumyashahi changed the title GSoC/DMP 2025 Week 3: feat(Masonry): Implement Comprehensive Brick Tree Model GSoC/DMP 2025 Week 3: feat(Masonry): Implement Brick Tree Model and add Connection points Jun 22, 2025
@justin212407 justin212407 added the gsoc Prospective task for GSoC label Jun 22, 2025
@meganindya meganindya merged commit a805426 into develop Jun 24, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gsoc Prospective task for GSoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants