gds-lens 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,52 @@ follows [semantic versioning](https://semver.org/spec/v2.0.0.html).
7
7
  From 1.0.0 on, a breaking change to the element's API waits for a major
8
8
  version. Before that, `0.x` releases changed it freely.
9
9
 
10
+ ## [1.0.3] - 2026-08-31
11
+
12
+ ### Fixed
13
+
14
+ - Thin shapes vanished when "merge overlapping shapes" was on. The merge pass
15
+ builds a screen-space coverage mask out of fill triangles, but with infill
16
+ off a layer is normally drawn as outlines -- and a GL line covers at least
17
+ one fragment, while the triangles of a 0.5 um waveguide at fit zoom are about
18
+ 0.04 px across and cover no sample at all. Every waveguide in a full-die view
19
+ simply disappeared. The mask now rasterises the outline edges as well as the
20
+ fill, so what merge mode shows is what the layer draws. Raising the mask's
21
+ supersampling was not the fix: even 8x still misses 0.04 px, at 16x the
22
+ memory.
23
+ - `[` and `]` jumped into a different marker category. The step walked every
24
+ category that was ticked visible, so with a marker selected in a hidden
25
+ category the first press left it for an unrelated result somewhere else in
26
+ the file. Stepping now stays inside the selected marker's own category
27
+ whenever that category is hidden, including when the step runs off the end of
28
+ the list.
29
+
30
+ ## [1.0.2] - 2026-08-25
31
+
32
+ ### Changed
33
+
34
+ - Marker-file warnings are spelled out rather than counted. The `⚠ N warnings`
35
+ row is a folder now, with one wrapping row per warning inside it. The
36
+ sentences used to live only in a hover title and a `?gdsDebug=1` console
37
+ line, so the one thing the row existed to report -- a marker may be in the
38
+ wrong place, a value was not drawn -- was the one thing it did not say.
39
+
40
+ ### Fixed
41
+
42
+ - Right-click -> "Copy coordinate" did nothing. The menu is dismissed by a
43
+ `pointerdown` listener on `window`, which asked whether the menu contained
44
+ `event.target` -- but the viewer moved into a shadow root in 1.0.0, and an
45
+ event from inside one is retargeted to the `<gds-lens>` host by the time it
46
+ reaches `window`. The menu therefore hid itself (`display: none`) on the very
47
+ press that was landing on its own item, so the button never became a click.
48
+ The menu opened and showed the right coordinate throughout, which is what
49
+ made it look alive.
50
+ - The keyboard guard that keeps `m`, `h` and `/` from reaching the viewer while
51
+ someone is typing in one of lil-gui's text boxes, broken by the same
52
+ retargeting: it saw the host element rather than the focused input for every
53
+ keystroke, so typing in a filter box could switch modes, toggle the hierarchy
54
+ tree, or move focus.
55
+
10
56
  ## [1.0.1] - 2026-08-25
11
57
 
12
58
  ### Fixed
@@ -302,7 +348,8 @@ web page rather than for a webview.
302
348
  worker-loading route and shipped unsubstituted. The `createWorker` host hook
303
349
  replaces it.
304
350
 
305
- [Unreleased]: https://github.com/EthanLowenthal/GDS-Lens/compare/v1.0.1...HEAD
351
+ [Unreleased]: https://github.com/EthanLowenthal/GDS-Lens/compare/v1.0.2...HEAD
352
+ [1.0.2]: https://github.com/EthanLowenthal/GDS-Lens/compare/v1.0.1...v1.0.2
306
353
  [1.0.1]: https://github.com/EthanLowenthal/GDS-Lens/compare/v1.0.0...v1.0.1
307
354
  [1.0.0]: https://github.com/EthanLowenthal/GDS-Lens/compare/v0.1.1...v1.0.0
308
355
  [0.1.1]: https://github.com/EthanLowenthal/GDS-Lens/compare/v0.1.0...v0.1.1
package/README.md CHANGED
@@ -1,11 +1,18 @@
1
1
  # GDS Lens
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/gds-lens.svg?style=flat-square&color=0f1720&label=NPM)](https://www.npmjs.com/package/gds-lens)
4
+ [![Downloads](https://img.shields.io/npm/dt/gds-lens.svg?style=flat-square&color=0f1720&label=Downloads)](https://www.npmjs.com/package/gds-lens)
4
5
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENCE.md)
5
6
 
6
7
  GDSII and OASIS chip layouts, parsed and rendered in the browser. A drop-in
7
8
  custom element compiled to pure JS+WASM with a WebGL2 renderer.
8
9
 
10
+ **[Open a layout in your browser](https://lowenth.al/GDS-Lens/)** to see it
11
+ work: drop a `.gds` or `.oas` onto the page, or look at the demo layout it
12
+ starts with. Nothing is uploaded, and there is nothing to install. The page is
13
+ built from the published package, so it is also the quickest way to check what
14
+ a given release does.
15
+
9
16
  ![The viewer: a cell hierarchy tree, a rendered photonic layout, and the layer and display controls](https://raw.githubusercontent.com/EthanLowenthal/GDS-Lens/main/images/example.png)
10
17
 
11
18
  > **Status**: 1.0. The element's API is stable, and breaking changes wait