Skip to content

Development Build

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Mar 19:02
de22e94

Features

  • Better take location into account when stitching. #740 (eyal0)
  • Test gerberimporter for correctness only in debug mode. #746 (eyal0)
  • Better checking of eulerian path output. #743 (eyal0)
  • Add sanity-checks flag. #772 (eyal0)
  • Add single-thread option to disable multi-threading. #777 (eyal0)
  • Make path_finding re-entrant. #778 (eyal0)

Bug Fixes

  • Use a new Eulerian paths algorithm. #743 (eyal0)
  • Use a consistent random number generator. #753 (eyal0)
  • Have invert-gerbers also properly mask the outline. #750 (eyal0)
  • Use mutex to print multithreaded messages. #777 (eyal0)
  • Tighten merge_near_points distance threshold. #785 (eyal0)

Styles

  • Fix whitespace and order of functions. #778 (eyal0)

Code Refactoring

  • Move the path data into the path_manager. #740 (eyal0)
  • path_manager::remove_path #740 (eyal0)
  • Change eulerian_paths::make_path to eulerian_paths::insert_one. #740 (eyal0)
  • eulerian_paths::stitch_loops stitch in-place. #740 (eyal0)
  • Better looping through islands. #740 (eyal0)
  • Make members of path_manager private. #740 (eyal0)
  • Add eulerian_paths::add_path. #740 (eyal0)
  • Move eulerian_paths logic from hpp to cpp. #747 (eyal0)
  • Common subexpression elimination. #771 (eyal0)
  • Simpler imbalance calculation. #771 (eyal0)
  • Early exit from loop. #771 (eyal0)
  • Calculate score as function of path_manager. #771 (eyal0)
  • Find best bidi in path_manager. #771 (eyal0)
  • Always maintain the bidi conversion score cache. #771 (eyal0)
  • Remove unnecessary usage of shared_ptr. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for GerberImporter. #775 (eyal0)
  • Use std::unique_ptr for gerbv_project_t. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for GerberImporter. #775 (eyal0)
  • Store just polygons for the mask in Surface_vectorial. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Cutter. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for RoutingMill. #775 (eyal0)
  • Put the board into the exporter later. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for NGC_Exporter::board. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Layer::add_mask. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Layer. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial::vectorial_surface. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for full_eulerian_paths. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial::make_path_finder_ring_indices. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial::final_path_finder. #775 (eyal0)
  • Remove unnecessary usage of shared_ptr for Surface_vectorial::make_path_finder. #775 (eyal0)
  • Remove Board::prepared_layers. #777 (eyal0)
  • Less state in members in NGC_Exporter. #777 (eyal0)

Performance Improvements

  • Use combined cosine score. #771 (eyal0)
  • Memoize bidi scores with invalidation when converting bidi to directional. #771 (eyal0)
  • Remove scores from cache when they are no longer valid. #771 (eyal0)
  • Store a sorted list of scores. #771 (eyal0)
  • Render surface using multiple threads. #777 (eyal0)
  • Export NGC layers in parallel. #777 (eyal0)

Tests

  • Check the result of eulerian paths in debug mode. #739 (eyal0)
  • Use check_eulerian_paths in unit testing. #739 (eyal0)
  • fix eulerian_tests. #742 (eyal0)
  • Better support for Windows in integration_tests.py. #752 (eyal0)
  • Make the silk test faster without affecting coverage. #758 (eyal0)
  • Add nog91-1 option to nom6 test for coverage. #758 (eyal0)
  • Add spinup and spindown to a test for coverage. #758 (eyal0)
  • Add only spinup to a test for coverage. #758 (eyal0)
  • Add only spindown to a test for coverage. #758 (eyal0)
  • Add --quick option to integration testing. #758 (eyal0)

Builds

Continuous Integration

  • Put integration tests back into ci. #744 (eyal0)
  • Only run all the examples when doing a scheduled run. #755 (eyal0)
  • Upgrade to actions/cachev5. #756 (eyal0)
  • Print the versions of installed tools. #757 (eyal0)
  • Use eyal0 version of gerbv. #757 (eyal0)
  • Enable code coverage for geos 3.13.1. #752 (eyal0)
  • Use more CPUs in Windows build and runs. #752 (eyal0)
  • Add support for running integration tests on more platforms. #752 (eyal0)
  • Don't use valgrind with code coverage. #752 (eyal0)
  • Only use code coverage on g++-10. #752 (eyal0)
  • Use quick integration test. #758 (eyal0)
  • Gather coverage for modern g++, too. #759 (eyal0)
  • Use ccache in CI. #760 (eyal0)
  • Use the latest valgrind. #761 (eyal0)