Porting from Ipkiss 3.0.1 to Ipkiss 3.1

There are a small number of changes between IPKISS 3.0.1 (or early betas of 3.1) and the release of IPKISS 3.1 that can cause issues due to backward incompatibility.

Luceda debug environment variables have changed

The environment variable IPKISS_LOG_LEVEL has been renamed to LUCEDA_LOG_LEVEL. If you have been using this variable (e.g. when prompted by Luceda support to assess a problem), you might need to rename this variable.

PICAZZO: The Transition between WireWaveguides has an adaptive length

In PICAZZO 3.0.1, the default length of a WireWaveguideTransition and WireWaveguideTransitionFromPort was fixed to TECH.WG.SHORT_STRAIGHT, irrespective of the widths of both waveguide templates. Because this could easily lead to unphysically short tapers (e.g. between a 450nm wire and a 10um waveguide of a grating coupler), the length of the transition now scales with the difference between the square of the core widths. The minimum transition length is still TECH.WG.SHORT_STRAIGHT.

This can affect your code where you have transitions between 2 PICAZZO WireWaveguideTemplate instances with a large difference in core width.

PICAZZO: The default purpose of ElectricalWireTemplate has changed

The PICAZZO component ElectricalWireTemplate (not the IPKISS component ElectricalWireTemplate) had a hardcoded purpose TECH.PURPOSE.DF.LINE. The component layout now has a parameter purpose, with a default value TECH.PURPOSE.DRAWING. If your code used this component, the layer will have changed, or your design could export differently to GDSII.