Objective: Strengthen the core functionalities and prepare the groundwork for future expansions.
Tasks:
Implement comprehensive test coverage to ensure reliability and stability across current functionalities.
Develop a basic tutorial or documentation to assist new users in navigating and utilizing the software effectively.
Phase 2: Development of a Visual Editor
Objective: Introduce a user-friendly visual editor for designing photonic structures.
Tasks:
Design and implement a component editor for creating and modifying photonic structures visually, integrating with Nazca for backend processing.
Support basic operations like selection, grouping, and movement of components with intuitive UI elements such as brushes.
Phase 3: Scripting Language Development
Objective: Develop a scripting language or a secure parsing mechanism to nest a Nazca-code equivalent in our shareable component PCK files
Tasks:
Research and define requirements for a custom scripting language or a parser that can safely convert Nazca code, minimizing security risks from embedded malicious code.
implement a way so that the Nazca-PDK can be exported properly while the data is retrieved from the components directly
Phase 4: Marketplace for Photonic Components
Objective: Enable users to share and discover photonic components through a community-driven marketplace.
Tasks:
Build a platform within the project for users to upload, share, and download photonic components, fostering collaboration and innovation.
Phase 5: Fabrication-Specific Calculations
Objective: Allow users to input specific fabrication settings, automatically recalculating S-matrices for different fabs.
Tasks:
Develop a module for entering and storing fabrication parameters from different fabs.
Implement functionality to automatically adjust calculations based on the selected fab's parameters.
Phase 6: (Optional, if possible) Direct Fabrication Integration
Objective: Establish a direct link to a fabrication facility for seamless design-to-production workflow.
Tasks:
Explore partnerships with fabrication facilities to enable direct submission of designs for production.
Integrate a system for tracking and managing fabrication orders within the tool.
all Chips that will be designed using Connect-A-PIC have to be merged into a waver. Therefore we will need a merging tool so that the "whole-waver GDS II file" can be shipped to the FAB
Phase 7: Gamification and Learning
Objective: Introduce gamification elements to educate users on photonics through progressive challenges.
Tasks:
Design a series of levels or challenges that guide users through the basics to advanced concepts in photonics design.
Implement rewards or achievements to motivate and track progress.
Phase 8: Advanced Light Calculation Tools
Objective: Develop advanced tools for simulating light calculations for custom-designed structures.
Tasks:
Integrate or develop light simulation tools allowing users to perform complex calculations on their designs directly within the editor.
Phase 9: Enhanced Exporting Capabilities
Objective: Enable direct export of designs to GDS files from within the tool, bypassing the need for external Python environments.
Tasks:
Implement functionality for running Nazca code in a secure Docker container environment.
Develop a feature for directly exporting the output to GDS files, streamlining the design-to-export process.
implementing feature to export electrical routing as well for like heaters
Phase 10: User Interface and Experience Improvements
Objective: Refine the user interface and experience for simplicity, efficiency, and ease of use.
Tasks:
Conduct user feedback sessions to identify areas for improvement in the UI/UX.
Implement enhancements based on feedback, focusing on simplifying the design process and improving accessibility.
Conclusion and Future Directions:
Photonics Computer Prototype: As a long-term goal, explore the feasibility of designing a prototype photonics computer, leveraging the capabilities and community built around Connect-A-PIC.
Continuous Community Engagement: Maintain an active dialogue with the user community for feedback, contributions, and ideas to drive future enhancements.