@file-viewer/eda-layout 3.1.2 → 3.2.1

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.
Files changed (3) hide show
  1. package/README.en.md +3 -26
  2. package/README.md +3 -26
  3. package/package.json +12 -13
package/README.en.md CHANGED
@@ -1,30 +1,7 @@
1
1
  # @file-viewer/eda-layout
2
2
 
3
- Framework-neutral EDA layout inspection engine for Flyfish File Viewer. It exposes pure TypeScript APIs for standard GDSII record parsing, GDSII WebGL draw-batch generation, readable OASIS text-fixture parsing, and real binary OASIS upgrade boundaries without any UI dependency.
3
+ Runtime package version 3.2.1.
4
4
 
5
- ```ts
6
- import {
7
- parseGdsLayout,
8
- parseOasisTextLayout,
9
- createEdaLayoutWebglBatch,
10
- inspectOasisLayout,
11
- } from '@file-viewer/eda-layout'
5
+ Usage and API documentation: https://doc.file-viewer.app/guide/format-fidelity
12
6
 
13
- const layout = parseGdsLayout(new Uint8Array(buffer))
14
- const batch = layout ? createEdaLayoutWebglBatch(layout) : undefined
15
- const oasisFixture = parseOasisTextLayout(new Uint8Array(buffer))
16
- const oasis = inspectOasisLayout(new Uint8Array(buffer))
17
- ```
18
-
19
- ## Scope
20
-
21
- - `parseGdsLayout()` reads standard GDSII stream records and returns structures, boundaries, paths, text labels, references, bounds, and warnings.
22
- - `parseOasisTextLayout()` reads the project's OASIS-like text fixture format and returns the same read-only preview model, keeping demos and parser regression tests visually meaningful.
23
- - `createEdaLayoutWebglBatch()` normalizes GDSII boundaries, paths, labels, and references into triangle / line / point typed arrays for UI renderers or custom WebGL layers.
24
- - `inspectOasisLayout()` detects real binary OASIS files and keeps full repetition expansion / geometry rendering behind a dedicated WASM/WebGL engine boundary.
25
- - No Vue, React, Web Component, or DOM dependency.
26
- - `@file-viewer/renderer-eda` turns this engine output into the user-facing preview UI.
27
-
28
- ## Roadmap
29
-
30
- GDSII now has browser WebGL batch output. `@file-viewer/renderer-eda` automatically uses a WebGL canvas for larger element sets and keeps SVG as the fallback for small layouts or browsers without WebGL. The readable OASIS text fixture keeps OAS/OASIS routing, layout UI, and browser smoke tests visually meaningful; industrial SEMI binary OASIS preview still needs a low-level record parser, repetition expansion, hierarchical cell navigation, incremental parsing, and tiled rendering. This package is the stable place to integrate a future KLayout/gdstk/OpenAccess-style WASM engine or a dedicated WebGL tile renderer.
7
+ The package's own license is Apache-2.0. Included third-party notices apply to their respective components.
package/README.md CHANGED
@@ -1,30 +1,7 @@
1
1
  # @file-viewer/eda-layout
2
2
 
3
- Flyfish File Viewer 的独立 EDA 版图内核包。它只提供框架无关的 TypeScript API,当前负责标准 GDSII 记录解析、GDSII WebGL 绘制批次生成、OASIS 可读文本夹具解析和真实二进制 OASIS 检测边界,不包含任何 UI 组件。
3
+ Runtime package version 3.2.1.
4
4
 
5
- ```ts
6
- import {
7
- parseGdsLayout,
8
- parseOasisTextLayout,
9
- createEdaLayoutWebglBatch,
10
- inspectOasisLayout,
11
- } from '@file-viewer/eda-layout'
5
+ Usage and API documentation: https://doc.file-viewer.app/guide/format-fidelity
12
6
 
13
- const layout = parseGdsLayout(new Uint8Array(buffer))
14
- const batch = layout ? createEdaLayoutWebglBatch(layout) : undefined
15
- const oasisFixture = parseOasisTextLayout(new Uint8Array(buffer))
16
- const oasis = inspectOasisLayout(new Uint8Array(buffer))
17
- ```
18
-
19
- ## 定位
20
-
21
- - `parseGdsLayout()` 解析标准 GDSII stream record,输出 structure、boundary、path、text、reference、bounds 等只读预览模型。
22
- - `parseOasisTextLayout()` 解析项目内可读 OASIS 文本夹具,输出和 GDSII 相同的只读预览模型,用于 demo、文档和后续 parser 回归。
23
- - `createEdaLayoutWebglBatch()` 把 GDSII boundary/path/text/reference 归一化为 triangle / line / point typed arrays,供 UI renderer 或业务自研 WebGL 层消费。
24
- - `inspectOasisLayout()` 识别真实二进制 OASIS 文件边界,并把完整 OASIS 几何展开留给独立 WASM/WebGL 内核演进。
25
- - 不依赖 Vue、React、Web Component 或 DOM,可独立发布、独立回归。
26
- - `@file-viewer/renderer-eda` 负责把本包输出转换为可视化 UI。
27
-
28
- ## 后续路线
29
-
30
- GDSII 已具备浏览器 WebGL 批次输出能力,`@file-viewer/renderer-eda` 会在元素较多时自动使用 WebGL canvas,SVG 保留为小文件和不支持 WebGL 环境的回退。可读 OASIS 文本夹具用于保证 OAS/OASIS 路由、版图 UI 和 smoke 测试能真实出图;真实 SEMI 二进制 OASIS 的完整工业级浏览仍需要低层 record parser、重复结构展开、层级 cell 导航和大文件增量渲染,本包是后续接入 KLayout/gdstk/OpenAccess 类 WASM 内核或自研 WebGL tile renderer 的稳定入口。
7
+ The package's own license is Apache-2.0. Included third-party notices apply to their respective components.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@file-viewer/eda-layout",
3
- "version": "3.1.2",
3
+ "version": "3.2.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Pure TypeScript EDA layout inspection engine for File Viewer with GDSII quick preview primitives and OASIS upgrade boundaries.",
@@ -26,8 +26,7 @@
26
26
  },
27
27
  "repository": {
28
28
  "type": "git",
29
- "url": "git+https://github.com/flyfish-dev/file-viewer.git",
30
- "directory": "packages/renderers/eda-layout"
29
+ "url": "git+https://github.com/flyfish-dev/file-viewer.git"
31
30
  },
32
31
  "homepage": "https://doc.file-viewer.app/guide/format-fidelity",
33
32
  "bugs": {
@@ -49,17 +48,17 @@
49
48
  "./package.json": "./package.json"
50
49
  },
51
50
  "files": [
52
- "dist",
53
- "README.md",
51
+ "dist/index.d.ts",
52
+ "dist/index.js",
53
+ "LICENSE",
54
54
  "README.en.md",
55
- "LICENSE"
55
+ "README.md"
56
56
  ],
57
- "devDependencies": {
58
- "typescript": "^6.0.3"
59
- },
60
57
  "license": "Apache-2.0",
61
- "scripts": {
62
- "build": "tsc -b tsconfig.json",
63
- "type-check": "tsc -b tsconfig.json"
58
+ "fileViewer": {
59
+ "distribution": {
60
+ "schemaVersion": 1,
61
+ "mode": "runtime-only"
62
+ }
64
63
  }
65
- }
64
+ }