Skip to content

Conversation

svandenb-dev
Copy link
Collaborator

No description provided.

@svandenb-dev svandenb-dev requested a review from Copilot August 25, 2025 12:45
@github-actions github-actions bot added the testing Anything related to testing label Aug 25, 2025
Copy link
Contributor

@Copilot 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 refactors the gRPC cutout functionality by moving the complex cutout implementation from the main EDB class to dedicated modules for better organization and maintainability. The refactoring introduces a new streamlined cutout API while maintaining backward compatibility through deprecation warnings.

  • Moved core cutout logic from src/pyedb/grpc/edb.py to a new utility module src/pyedb/grpc/database/utility/cutout.py
  • Added a new simplified cutout method in the modeler class with improved parameter naming and documentation
  • Updated test cases to use the new parameter names and API structure

Reviewed Changes

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

Show a summary per file
File Description
tests/system/test_cutout.py Updated test cases to use new parameter names and commented out some assertions
src/pyedb/grpc/edb.py Replaced complex cutout implementation with a simple wrapper that delegates to modeler.cutout
src/pyedb/grpc/database/utility/cutout.py New module containing the refactored cutout implementation with improved algorithms
src/pyedb/grpc/database/primitive/polygon.py Minor fix to polygon void creation to preserve net information
src/pyedb/grpc/database/primitive/padstack_instance.py Improved padstack instance intersection checking with performance optimization
src/pyedb/grpc/database/modeler.py Added new cutout method with modern API and comprehensive parameter validation
src/pyedb/grpc/database/components.py Enhanced error handling in component deletion method

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

@codecov-commenter
Copy link

codecov-commenter commented Aug 25, 2025

Codecov Report

❌ Patch coverage is 0.47170% with 211 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.76%. Comparing base (e195a6b) to head (42b6728).

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1463       +/-   ##
===========================================
- Coverage   72.83%   49.76%   -23.08%     
===========================================
  Files         255      256        +1     
  Lines       38154    37859      -295     
===========================================
- Hits        27788    18839     -8949     
- Misses      10366    19020     +8654     
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot

This comment was marked as outdated.

@svandenb-dev svandenb-dev requested a review from gkorompi August 26, 2025 09:16
hui-zhou-a
hui-zhou-a previously approved these changes Aug 26, 2025
Copy link
Collaborator

@hui-zhou-a hui-zhou-a left a comment

Choose a reason for hiding this comment

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

LTGM. However, GPRC is not tested.

@hui-zhou-a hui-zhou-a self-requested a review August 26, 2025 10:21
Copy link
Contributor

@Copilot 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 refactors the gRPC cutout functionality in PyEDB to improve performance and maintainability. The refactoring removes legacy cutout implementation and introduces a new streamlined cutout system.

Key changes:

  • Removes over 1000 lines of legacy cutout code from the main Edb class
  • Introduces new modular cutout implementation with optimized algorithms
  • Updates test parameters to use new string-based extent types and expansion units

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/system/test_cutout.py Updates test cases to use new string-based extent types and unit specifications
src/pyedb/grpc/edb.py Replaces legacy cutout implementation with simplified deprecated wrapper
src/pyedb/grpc/database/utility/cutout.py New cutout utility module with optimized algorithms and vectorized operations
src/pyedb/grpc/database/primitive/polygon.py Updates polygon void addition method to include net_name parameter
src/pyedb/grpc/database/primitive/padstack_instance.py Optimizes padstack intersection checking with arbitrary extent values
src/pyedb/grpc/database/modeler.py Adds new cutout method to modeler with comprehensive parameter validation
src/pyedb/grpc/database/components.py Improves component deletion logic with better attribute checking
src/pyedb/dotnet/edb.py Adds value conversion for expansion_factor parameter

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Anything related to testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants