# @file-viewer/eda-layout 中文文档

规范地址：https://npmcn.com/package/%40file-viewer/eda-layout/

版本：3\.3\.3
npm 元数据更新时间：2026-10-31T11:06:31.271Z
中文译文更新时间：2026-11-14T17:42:27.644Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40file-viewer/eda-layout
原文对照：https://npmcn.com/package/%40file-viewer/eda-layout/?lang=original
项目主页：https://doc.file-viewer.app/guide/format-fidelity
源码仓库：https://github.com/flyfish-dev/file-viewer

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：38.2 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-06-23T06:26:04.884Z
- 最新版本发布：2026-10-31T11:06:30.892Z
- 近 30 天下载量：34628（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：57（近 12 个月 57 个）

## 中文简介

纯TypeScript EDA版式检查引擎用于File Viewer,有GDSII快速预览原始和OASIS升级边界.

## 安装

```sh
npm install @file-viewer/eda-layout
```

也可以使用：`pnpm add @file-viewer/eda-layout`、`yarn add @file-viewer/eda-layout`、`bun add @file-viewer/eda-layout`

## README

# @file-viewer/eda-layout

[English](https://github.com/flyfish-dev/file-viewer/blob/main/packages/renderers/eda-layout/README.md) · [简体中文](https://github.com/flyfish-dev/file-viewer/blob/main/packages/renderers/eda-layout/README.zh-CN.md)

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

```ts
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 是什么？

纯TypeScript EDA版式检查引擎用于File Viewer,有GDSII快速预览原始和OASIS升级边界\.

### 如何安装 @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 和提交记录判断。

