Release notes Luceda Photonics Design Platform 2025.06.0
Welcome to the Luceda Photonics Design Platform 2025.06.0 release!
Discover the key highlights:
New IPKISS Layout visualizer - A redesigned PIC layout visualization tool with improved performance and navigation tools.
Simplified Layout Generation Syntax - A new
generate(self, layout)
method that simplifies PCell layout definitions and reduces code complexity.Length tracing - Calculate optical path lengths between ports to analyze designs and optimize routing.
Variability analysis in IPKISS Canvas - Perform variability analysis directly in IPKISS Canvas on existing designs.
Circuit Analyzer model configuration - Simplified the model configuration using yaml files.
Enhanced Luceda Control Center - Select design kit versions for your designs and view license expiration dates.
For a full list of features, improvements, and bug fixes, please consult the changelog.
New IPKISS Layout visualizer
We’ve developed a new layout visualizer from the ground up. The new visualizer replaces the previous matplotlib-based version with improved performance, stability, and navigation capabilities, making it easier to inspect and iterate on your designs. This important update reflects our commitment to a more visual, intuitive experience across our whole platform.

Packaged four-lane Mach-Zehnder modulator and single MZM in the new IPKISS Layout visualizer.
What’s new:
Faster loading and better performance
Layer table to show/hide layers
Grid toggle and snap-to-grid
Show/hide ports and labels
Improved zoom and pan controls
Consistent appearance with the Luceda Control Center and IPKISS Canvas
The visualiser launches in a separate process, so it doesn’t block execution and remains open even after your script finishes.
See the following page for details on the new visualizer’s features and how to still use the previous matplotlib-based visualizer if needed: Visualizing Layouts.
Length tracing
We’ve introduced a new length tracing method, i3.PathLength
, that allows to calculate path lengths between any two ports in your circuits.
This is useful for analyzing optical path lengths, measuring routing distances in your designs and creating routes with a specific length.

New path length tracing feature applied on an MZI.
How it works:
Identifies paths between specified ports
Uses each component’s trace_length method for calculations
Components without this method are ignored (and added to the total length as 0 μm)
Supports custom length calculation methods
Check out the API documentation to find out more: i3.PathLength API doc
.
New syntax for layout generation
We’ve added a unified def generate(self, layout)
method for defining PCell layouts.
This replaces the separate _generate_instances
, _generate_elements
, and _generate_ports
methods.

Side-by-side comparison of the layout syntax before and after Luceda 2025.06.
What this means:
Define elements, instances, and ports in one place
Less code needed for your designs
Easier to understand, especially for first-time IPKISS users
Enables more advance placement and routing features
See the porting guide for migration details and compatibility information: Porting from IPKISS 2025.03 to IPKISS 2025.06.
Running variability analysis in IPKISS Canvas on existing designs
With this release, codelets work on designs that are exported from layout to IPKISS Canvas (to_canvas
).
In addition, a new codelet i3.CornerAnalysisCodelet
is available to directly run corner analysis on any design in IPKISS Canvas.

Running corner analysis on an existing design (subcircuit of a programmable photonic circuit)
Simplified model configuration for Circuit Analyzer
To simplify the setup of Circuit Analyzer and to define various analysis routines more easily, we have introduced a new model definition and configuration format. It builds on top of the existing model infrastructure of IPKISS and enables users to define additional parameters that will be varied depending on the analysis method (Corner, Monte Carlo, Location-Aware Variability).
To load a configuration and run a corner analysis, use the following syntax:
import circuit_analyzer.all as ca
with ca.setup('/path/to/temperature_corners.yaml'):
# print which cells are available for variability study
ca.model_setup_info(cm)
# Run a study on all available corners defined in the yaml file
results = ca.corner_analysis_all_combinations(cm, wavelengths=wavelengths)
To learn how to make configuration files, please check the ca.setup
method.

Corner analysis in Canvas using different model configurations
New Luceda Control Center features
We’ve added new useful features to the Luceda Control Center, your central hub to interact with Luceda’s products and create PIC designs.
In the Design Kits tab, design kits are now grouped by version number and you’re able to select which design kit version to use for your design. The PYTHONPATH will be updated automatically for you.
In the Product Licenses tab, you can now see your license expiration date.

New features in the Luceda Control Center’s Design Kits and Product Licenses tabs.