-
Notifications
You must be signed in to change notification settings - Fork 213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cell.read doesn't read LayoutMetaInfo #1609
Comments
Hi Sebastian, thanks, I'm doing fine :) I'd not say, this is intended behavior, rather "unknown territory" :). I guess the implementation can be change to read cell-specific meta data. However, reading layout-specific metadata is somewhat questionable in that case. I'd still skip that rather than trying to merge with the target layout's metadata somehow. Matthias |
I, see. Then my guess was right ;). I think that's a reasonable assumption about the layout. But would you even take the same stance for the cell itself or newly created subcells? |
My proposal was the following: cell.read(...) actually loads a layout, picks the top cell (there can be only one) and pushes the cell hierarchy from the layout into the target cell, creating a sub-hierarchy if required. So when it does so, it could transfer the cell metadata into the target hierarchy: loaded layout's top cell metadata into target cell (the one you called 'read' on) and subcell metadata accordingly into the freshly generated ones. I think this is kind of consistent. I'd not try to transfer the layout metadata as the layout is only read to pick a cell. Logically it's the cell we're interested in, not the "global" metadata. Does that make sense? Matthias |
Yes, that totally makes sense. That's also what I had in mind. My second part of the questions was much more directed towards, what would be the This also applies to the standard |
I have not thought about this so far, but my first approach was to merge with overwrite - i.e. add key/values to existing metadata and overwrite if there was data with that key already. |
This also includes some more functions: - Layout#merge_meta_info, Layout#copy_meta_info - Layout#clear_all_meta_info - Cell#merge_meta_info, Cell#copy_meta_info In addition, meta info is merged when importing a layout from another file (Layout/Import -> Other Layouts into current).
I think that's the approach I would have gone with as well. Can you confirm that wouldn't be the case for |
Ahem ... frankly I have not checked yet how the meta info is treated in the case of conflicts. I can tell the following:
I understand it is important for you that meta info is also handled properly. Q: is it important as of now to support conflict resolution modes for Matthias |
Support for meta info is included for I have also added some support for tests and undo/redo support - although there is no UI for meta info yet, you could spoil it by deleting a cell and doing "undo". About supporting conflict resolution modes in Matthias |
I just wanted to know the way it works. |
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo) This also includes some more functions: - Layout#merge_meta_info, Layout#copy_meta_info - Layout#clear_all_meta_info - Cell#merge_meta_info, Cell#copy_meta_info In addition, meta info is merged when importing a layout from another file (Layout/Import -> Other Layouts into current). * Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes * Undo support for meta info - this way we do not loose meta info when we delete a cell and undo --------- Co-authored-by: Matthias Koefferlein <[email protected]>
* Fixed issue #1609 (Cell.read doesn't read LayoutMetaInfo) This also includes some more functions: - Layout#merge_meta_info, Layout#copy_meta_info - Layout#clear_all_meta_info - Cell#merge_meta_info, Cell#copy_meta_info In addition, meta info is merged when importing a layout from another file (Layout/Import -> Other Layouts into current). * Meta info support in layout diff (for testing), implemented meta info merge for GDS and OASIS readers with special conflict resolution modes * Undo support for meta info - this way we do not loose meta info when we delete a cell and undo --------- Co-authored-by: Matthias Koefferlein <[email protected]>
Hello Matthias,
Hope you are doing great. I noticed that Cell.read LayoutMetaInfo of the cell. I didn't check for child cells, so this might also be intended behavior.
Currently, Layout.read will read LayoutMetaInfo for the cells. Cell.read on the other hand will not load the meta infos. Is this intended behavior? If I look at the example equivalent code in the docs, it would be clear to me that it is in fact not reading meta infos. But what isn't clear to me is:
Would this also apply to child cells and how would LoadLayoutOptions.CellConflictResolution play into this?
Also, how is that handled in the general case (Layout and Cell read)?
I would assume AddToCell and OverwriteCell would read them if a cell exists (but e.g. how would AddToCell handle existing meta info?), whereas Skip would not write any.
If this is intended behavior, can we add a few sentences about this either into the LoadLayoutOptions or the
read
functions?here's my test case which will fail on
Cell.read
The text was updated successfully, but these errors were encountered: