# Known backwards incompatibilities in 3.5.0¶

## Shape Cutting Algorithm¶

In IPKISS 3.5, the shape cutting algorithm for turning a Shapely geometry into an IPKISS shape has improved in both speed and result. The points in the shape remain the same, however the order might have changed (as shown in the image below).

## CAMFR Engine¶

In IPKISS 3.5, the discretization of camfr models in camfr_stack_expr_for_structure has changed to more accurately mimic the symmetry of the structure. Furthermore, the same function requires two new variables, an environment and a material_stack_to_material_map. By providing these, the dispersiveness of the effective index of refraction can be taken into account. The Material model that will effectively replace the MaterialStack is evaluated for a given environment. Moreover, the user-specified attribute effective_index_epsilon that is attached to a MaterialStack is not used anymore, and a deprecation warning is raised if the value is specified.

In IPKISS AWG Designer, these changes affect the calculations of the aperture field profiles, which improves an overall accuracy of the AWG design. More specifically, FieldModelFromCamfr view of the apertures has two additional optional properties, material_stack_to_material_map and core_z_window. The former allows mapping of various MaterialStack(s) to a set of Material models, to account for the environment specific material properties (i.e. dispersive material).

If no material_stack_to_material_map is specified, camfr_aperture_simulation tries to compute an effective index of each stack automatically. The goal is to try to automatise this step, hence the core_z_window gives extra flexibility if the stack effective index can’t be calculated. It specifies the range for clipping the stack, before having another try to compute the stack effective index. If not specified, a range of the waveguide core is taken. Finally, if none of the tries are successful, a weighted average effective index within the core_z_window is returned and a warning is shown.