@file-viewer/eda-layout

中文文档
3.3.3发布于 2026/10/31Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 3.5万

Pure TypeScript EDA layout inspection engine for File Viewer with GDSII quick preview primitives and OASIS upgrade boundaries.

原始使用文档

@file-viewer/eda-layout

English · 简体中文

Flyfish File Viewer 的独立 EDA 版图内核包。它只提供框架无关的 TypeScript API,当前负责标准 GDSII 记录解析、GDSII WebGL 绘制批次生成、OASIS 可读文本夹具解析和真实二进制 OASIS 检测边界,不包含任何 UI 组件。

import {
  parseGdsLayout,
  parseOasisTextLayout,
  createEdaLayoutWebglBatch,
  inspectOasisLayout,
} from '@file-viewer/eda-layout'

const layout = parseGdsLayout(new Uint8Array(buffer))
const batch = layout ? createEdaLayoutWebglBatch(layout) : undefined
const oasisFixture = parseOasisTextLayout(new Uint8Array(buffer))
const oasis = inspectOasisLayout(new Uint8Array(buffer))

定位

  • parseGdsLayout() 解析标准 GDSII stream record,输出 structure、boundary、path、text、reference、bounds 等只读预览模型。
  • parseOasisTextLayout() 解析项目内可读 OASIS 文本夹具,输出和 GDSII 相同的只读预览模型,用于 demo、文档和后续 parser 回归。
  • createEdaLayoutWebglBatch() 把 GDSII boundary/path/text/reference 归一化为 triangle / line / point typed arrays,供 UI renderer 或业务自研 WebGL 层消费。
  • inspectOasisLayout() 识别真实二进制 OASIS 文件边界,并把完整 OASIS 几何展开留给独立 WASM/WebGL 内核演进。
  • 不依赖 Vue、React、Web Component 或 DOM,可独立发布、独立回归。
  • @file-viewer/renderer-eda 负责把本包输出转换为可视化 UI。

后续路线

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 的稳定入口。

版本与发布记录

@file-viewer/eda-layout 共发布 57 个版本,首次发布于 2026/06/23;过去 12 个月发布了 57 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.3.3latest2026/10/3114 天前
3.3.12026/10/3015 天前
3.3.02026/10/2718 天前
3.2.22026/10/1827 天前
3.2.12026/10/1530 天前
3.2.02026/10/1530 天前

关于 @file-viewer/eda-layout 的常见问题

@file-viewer/eda-layout 是什么?

Pure TypeScript EDA layout inspection engine for File Viewer with GDSII quick preview primitives and OASIS upgrade boundaries.

如何安装 @file-viewer/eda-layout?

在项目目录运行 npm install @file-viewer/eda-layout,或使用 pnpm add / yarn add / bun add。

@file-viewer/eda-layout 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@file-viewer/eda-layout 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@file-viewer/eda-layout 可以商用吗?

@file-viewer/eda-layout 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@file-viewer/eda-layout 的下载量有多少?

根据 npm 官方下载统计,@file-viewer/eda-layout 在 2026/10/15 – 2026/11/13 这 30 天内被下载 34,628 次,日均约 1,154 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@file-viewer/eda-layout 还在维护吗?

最新版本 3.3.3 发布于 2026/10/31(14 天前);至今共发布 57 个版本,其中过去 12 个月发布了 57 个;首次发布于 2026/06/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。