Hi Jim,
you can use master or any other branch, but without warranty.
The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project.
But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often.
Matthias
Hi @jself,
Thanks for this information. I was able to fix the problem and will release the patch with 0.30.5. With this patch in place, you will be able to configure the keys using the Customize Menu's entries. In fact, the key bindings for @toolba…
Hi @footang,
no, there is no log, except by debugging into the application code.
I con't confirm there is a net tracer bug with a small testcase:
(Image)
But there is one thing that resembles your problem: if you click on a point that is outsid…
No, sorry. It's beyond the scope to make everything thread safe. Even if the core API was thread safe per function call, you still run in trouble at the above-API level without locks. If you mix write and read operations - there are always resources…
Hi @Tabra,
I'm not proposing a fifth function for Cell, but for the PCell API. Currently the PCell delivers the "readable" name by "display_text_impl". By "readable" I mean "readable" and I learned to keep fo…
Hi @mad_drummer,
So far, Raith has not come back to me, but after all, I'm a private person with a spare-time project, so maybe they don't consider me a suitable partner to talk to.
What you describe definitely calls for a better solution. Beside …
I guess it's not just Windows. Looks like the forward/backward buttons can't be bound to keys at all.
I have created a ticket for that: https://github.com/KLayout/klayout/issues/2194
Matthias
Hi @sebastian,
Well, I ran out of hate - there are a few people out there currently, who really deserve it, and I used up all of it, just for them.
KLayout is partially thread safe. Here are some rules:
* Individual objects can coexist in separat…
Hi @spark_aeon,
There are too many reasons, so I am not able to give advice without a test case and the full DRC script.
As @srooks10 mentioned, "profile" can help you identifying the resource hogs.
Some hints:
* Try tiled mode
* Try d…
What kind of keys are you trying to bind? There is a lot going on under the Hood in Qt, so maybe some keys are captured on Windows, while they are not on Linux.
Matthias
Hi Leo,
(Quote)
That is because DRC is "interactive". That means every operation is one step. So every operation runs in tiled mode, but the results are still expanded. To solve this, I would need to switch to "execution graph" …
Hi @mad_drummer,
then your manufacturer does a bad job.
GDS2 is an artwork format. If they simply take that and feed it into the e-Beam writer, then that is naive.
For VLSI masks (reticles) for example, GDS2 is not used as a data exchange format.…
Hi Gerard,
no, the "display name" is meant for the eye and usually contains illegal characters such as brackets or similar. Usually it also does not capture the full intent of the cell, so it may not be unique. Keeping different domains s…
I don't know how the NNS_LIB.Spring PCell is made, but the references inside that PCell are different from the outside cell. You can tell from the name: the one is called NNS_LIB.SpringCorner the other one NNS_LIB.NNS_LIB.SpringCorner. That indicate…
Hi Leo,
that actually nice and clean code :)
It's smart to do the computation inside the tiles - that saves memory and scales well on multiple cores and I like the idea of the TilingOperator. DRC will do something similar, but still collect the in…
Hi @ocasta,
Good. I don't understand ChatGPT either :)
What I mean by my statement is the following: when you create a Region from an original layer, there normally is no need to create a copy. A copy is only needed when you manipulate the layer, …
Hi Leo,
Basically the sizing implements an edge shift, so provided, the filler (red shape I assume) is outside the sized region, it should observe the Euclidian distance. I suspect the latter is not the case. First thing I'd try is to confirm that …
I can tell :)
When there are multiple top cells, KLayout picks the one with the largest bounding box for initial display. GDS does not have a way of saying which is the primary top cell. Also, GDS files with multiple top cells are common only in ce…
Hi @ocasta,
I asked ChatGPT and it confirmed that original layer regions maintain their relationship with the original layout :)
(Image)
My advice is to stay away from code that both analyzes and manipulates layout. A database that is both effic…
Very good. Thanks @blueman_44 for providing the answer.
For the explanation about "add_missing_layers": KLayout's layer list is not an exact copy of the layers stored in the database. It is quite common to have layer tables that only pres…
That is eerie ... Qt 5.15 is fine. I don't think there is an issue here.
The only special thing here is a backward compatibility switch that is in place for old technologies with a single layer stack only and new ones with potentially multiple laye…
Hi @jself,
Thanks :)
However, regarding the font, there are only fixed fonts available. The TEXT PCell is intended for simple labels with emphasis on DRC and process compatibility rather than beauty. The font you used above would most likely viola…
Great discussion :) Thanks!
@Chen_0925: I don't know the system you're working with, but I think it has a flaw when it creates lithography artefacts in such cases. Cut lines are very common in GDS as they cannot be avoided. You can do decomposition…
You can build with the "-nolibgit2" option. But in that case, you will not be able to use the package manager with the Git protocol.
Otherwise, I'm afraid you need to have libgit2-devel to build KLayout. CentOS8 has libgit2-devel, so mayb…
Hi @kevinz,
Seems like that scheme is not supported for technologies. I think that's a bug, but I need to check first if there is some issue preventing that path enabling in general.
My proposed workaround is this:
import pyaimport sysimport ospy…
That's a recent Qt version.
Maybe the problem is a read-only technology or something. Can you edit other things in your default technology?
You can start from a clean slate:
KLAYOUT_HOME=/dev/null klayout -e
This will basically disable all prese…
"Random salad brings mystery chunks" ... I love that :)
@taylorn The official builds are done with Qt4. Here are the packages I am using on the deployment container:
gcc g++ libz-dev libqt4-dev-bin libqt4-dev ruby ruby-dev python3 python…
I script that replaces the dollars would be this:
ly = RBA::Layout::newtop1 = ly.create_cell("TOP")# actually creates "TOP$1"top2 = ly.create_cell("TOP")# Would conflict with TOP$1# top3 = ly.create_cell("TOP_DOLL…