Added
* Added `distance_segment_segment` to `compas_timber.utils`
* Added `BTLxFromGeometryDefinition` class to replace the depricated `FeatureDefinition`. This allows deferred calculation of BTLx processings.
* Added `from_shapes_and_element` class method to `Drilling`, `JackRafterCut`, and `DoubleCut` as a wrapper for their geometry based constructors for use with `BTLxFromGeometryDefinition`.
* Added `YButtJoint` which joins the ends of three joints where the `cross_beams` get a miter cut and the `main_beam` gets a double cut.
* Added `JackRafterCutProxy` to allow for deferred calculation of the `JackRafterCut` geometry thus improving visualization performance.
* Added class "WallPopulator" to `compas_timber.design`.
* Added class "WallPopulatorConfigurationSet" to `compas_timber.design`.
* Added class "WallSelector" to `compas_timber.design`.
* Added class "AnyWallSelector" to `compas_timber.design`.
* Added class "LConnectionDetailA" to `compas_timber.design`.
* Added class "LConnectionDetailB" to `compas_timber.design`.
* Added class "TConnectionDetailA" to `compas_timber.design`.
* Added `from_brep` to `compas_timber.elements.Wall.
* Added `from_polyline` to `compas_timber.elements.Wall.
* Added `WallJoint` to `compas_timber.connections`.
* Added error handling when BTLx processing from geometry fails in GH.
* Added new `Slab` class to `compas_timber.elements`.
* Added `Slab` GH component.
Changed
* Updated Grasshopper Toolbox and Icons
* Fixed `ValueErrorException` in `as_dict()` method of `BTLxProcessingParams` class by ensuring precision specifiers are used with floats.
* Removed model argument from `BTLxWriter` in the GH component and updated it to always return the BTLx string.
* Fixed a bug in `compas_timber.Fabrication.StepJointNotch` related to the `orientation` and `strut_inclination` parameters.
* Fixed the error message when beam endpoints coincide, e.g. when a closed polyline is used as input.
* Changed `index` input of `ShowFeatureErrors` and `ShowJoiningErrors` do have default value of 0.
* Fixed spelling of `BeamJoinningError` to `BeamJoiningError`.
* Changed `process_joinery()` method to handle `BeamJoiningError` exceptions and return them. Also updated `Model` GH component.
* Updated `add_joint_error()` method in `DebugInformation` class to handle lists.
* Changed `compas_timber.fabrication.Lap` so that the volume is generated fully from the relevant BTLx params.
* Refactored `compas_timber.connections.LapJoint` to comply with the new system.
* Changed `THalfLapJoint`, `LHalfLapJoint`, `XHalfLapJoint` from `compas_timber.connections` so that they use the `Lap` BTLx processing.
* Renamed all `X/T/LHalfLapJoint` classes to `X/T/LLapJoint`.
* Enhanced lap behavior for optimal beam orientation in `LapJoint` class.
* Fixed `restore_beams_from_keys` in `LMiterJoint` to use the correct variable names.
* Reworked `DoubleCut` to more reliably produce the feature and geometry with the `from_planes_and_element` class method.
* Renamed `intersection_box_line()` to `intersection_beam_line_param()`, which now take a beam input and outputs the intersecting ref_face_index.
* Added `max_distance` argument to `JointRule` subclasses and GH components so that max_distance can be set for each joint rule individually.
* Changed referenced to `beam` in `Drilling` to `element`.
* Changed `Drill Hole` and `Trim Feature` GH components to generate the relevant `BTLxProcessing` type rather than the deprecated `FeatureDefinition` type.
* Changed `Show_beam_faces` gh component to `Show_ref_sides`, which now takes an `int` index and shows the corresponding face including origin corner.
* Bug fixes after adding `max_distance` to joint defs.
* Using new `JackRafterCutProxy` in LMiterJoint, LButtJoint and TButtJoint.
* Changed input type from `Element` to `Beam` in components that currently only support beams.
* Fixed drilling GH component not taking diameter as a string.
* Reworked `Wall` class to be defined with a standard polyline, frame and thickness.
* Changed labels in `Show_ref_sides` GH component to be 1-based to match the spec.
Removed