GithubHelp home page GithubHelp logo

Component info/metadata about gdsfactory HOT 3 OPEN

thomasdorch avatar thomasdorch commented on May 27, 2024
Component info/metadata

from gdsfactory.

Comments (3)

sebastian-goeldi avatar sebastian-goeldi commented on May 27, 2024 1

I think generally this is fine. Maybe I can explain why kfactory is doing this.

If your info (and to some degree settings) are kayout serializable types (mainly shapes, this theoretically includes some potentially interesting types such as a full lyp datastructure, therefore enabling saving the lyp within the gds/oas), you can save your layout (or even pdk) and completely restore a (static) state. Meaning if your pdk only contains static cells, you can package it as a gds.

This comes in extremely handy when you want to load for example special cells from the fab or old designs. They still have all the info and even paramters accessible.

But yes, if info should be fully dynamic, we can rename the attribute in kfactory and with that avoid having to have separate types for info.metadata vs the rest of info.

from gdsfactory.

thomasdorch avatar thomasdorch commented on May 27, 2024

Thanks for the explanation, the info constraint makes a lot more sense in the context of storing the full state within the GDS file.

Technically we can add extra attributes directly to the Component object for things like test_info or schematic but I think the way we've been doing it where Info is a catch-all for whatever is preferable. I would want to just modify the Info model on the gdsfactory side to add the metadata field and just constrain that field to be klayout-serializable.

Maybe it would make sense to have there be a Metadata model where we put all the metadata intended to be written to the GDS and let Info be fully user-customizable?

from gdsfactory.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.