# Changelog

## [1.1.35] - 2026-09-09

### Fixed
- 修复 1.1.34 打包时 `GaeaMethods.js` 中文被错误转码为乱码的问题（文件恢复为干净版本）
- 屏幕图标 `z-index` 统一为 `1`：内联 `container.style.zIndex` 由 `99` 改为 `1`，CSS 中 `.gaea-locationLineStyle` / `.gaea-iconscreen` / `.gaea-iconGif` 同步为 `1`

## [1.1.34] - 2026-09-09

### Changed
- 屏幕图标内联 `z-index` 由 `99` 改为 `1`（CSS 中 `.gaea-locationLineStyle` / `.gaea-iconscreen` / `.gaea-iconGif` 同步为 `1`），避免图标层级过高遮挡页面其他元素

## [1.1.33] - 2026-09-09

### Added
- dev 环境（`vite dev`）自动使用本地 `/Gaea` 加载引擎资源（走 vite dev server 中间件，从包内 public 读取），本地开发无需访问线上资源服务器

## [1.1.32] - 2026-09-09

### Changed
- 引擎大文件（`Gaea.pck` / `Gaea.wasm`）改为从外部资源服务器加载：默认 `executable` 指向 `http://172.20.176.100:7072/gaea/Gaea`。可通过宿主站点 `config.js` 设置 `window.__GAEA_ASSETS_URL__`（运行时覆盖，换地址无需重新打包），或构建环境变量 `VITE_GAEA_EXECUTABLE` 覆盖
- Vite 插件 `closeBundle` 默认不再把 `Gaea.pck` / `Gaea.wasm` 复制到输出目录（引擎从外部服务器加载，dist 体积大幅减小）；可用 `gaeaVitePlugin({ skipEngineFiles: [...] })` 覆盖
- 屏幕图标（`.gaea-iconGif` / `.gaea-iconscreen` / `.gaea-locationLineStyle`）z-index 统一改为 `11`

## [1.1.31] - 2026-09-09

### Added
- Vite 插件 `transformIndexHtml` 自动给外部跨域 `<script src="http(s)://...">` 补 `crossorigin="anonymous"`：解决跨域隔离（COEP: require-corp）下第三方脚本因缺少 CORP 响应头被拦截（`NotSameOriginAfterDefaultedToSameOriginByCoep`）并阻塞页面加载的问题（如 `live.dcyun.com` 的 DcVideo.js 视频库）
- 注入前置脚本 hook `Node.prototype.appendChild/insertBefore`：第三方脚本内部 `document.createElement('script')` 动态加载的跨域子脚本自动补 `crossorigin`（DcVideo.js 内部的 jquery / DCHls / EasyWasmPlayer / ezuikit 等均可正常加载）
- 新增 `gaeaVitePlugin({ skipExternalScripts: [...] })` 配置：构建期移除匹配的外部脚本（字符串子串或正则），用于跳过跨域隔离下无法正常工作且当前未使用的第三方脚本

## [1.1.30] - 2026-09-09

### Added
- Vite 插件生产构建支持：新增 `closeBundle` 钩子，`vite build` 时自动把引擎静态资源（`Gaea.js` / `Gaea.wasm` / `Gaea.pck` / `Gaea.worker.js` / `static/` / `math/` / `image/` / `font/` / `icon/` 等）从包内 `public` 复制到输出目录（默认 `dist`，遵循 `build.outDir`）。修复此前生产包访问 `/Gaea.js` 返回 404 的问题。`configResolved` 记录输出目录；拷贝时跳过输出目录中已存在的文件，保证消费者自身 `public/` 下的资源优先。

## [1.1.29] - 2026-09-04

### Fixed
- 2D/3D 切换严格隐藏 3D 图标：新增 `_markersVisible` 全局状态，`showAllMarkers` / `hideAllMarkers` 同步更新；`addScreenIcon` 新增图标按当前状态显隐；`setCategoryVisible` 显示分类、复位按钮、`lockedModesSwitch` 解锁恢复图标时均叠加全局可见性判断，杜绝 2D 模式下图标残留

## [1.1.28] - 2026-09-01

### Changed
- 海塘图标按 `haitangyizhangtu` 规则改为等级图标：`_initScreenIcons` 优先使用每条海塘自身的 `imgUrl`（`child.imgUrl || cfg.img`），默认 10 条海塘分别配置 `海塘-{level}级.png`（沿浦/霞关/下在=3级、大渔=2级、三茆/信智/雾城/渔岙/流岐岙=4级、木林=5级）

## [1.1.27] - 2026-09-01

### Added
- 新增 `loadingText` 配置项，可通过 `setConfig({ loadingText })` 自定义引擎加载提示文字（默认 `GAEA 引擎加载中...`）

## [1.1.19] - 2026-07-13

### Added
- `GaeaApp.setCategoryVisible(key, visible)` / `getCategoryVisible(key)` — 按分类控制屏幕图标显隐
- `LayerTree` 每种分类左侧新增复选框，点击可切换该类图标的显示/隐藏
- `LayerTree` 所有核心样式通过 `--lt-*` CSS 变量暴露，消费者可在外部覆盖

## [1.1.18] - 2026-07-13

### Fixed
- 修复引擎初始化时 `querySelector('#')` 报错：`_startEngine` 显式传 `canvas` 元素，避免引擎全局取第一个 canvas（可能命中其他无 id 的 canvas 导致 `.id` 为空）

## [1.1.17] - 2026-07-10

### Removed
- 移除已废弃的 `public/config.js`（其全局变量已被 `setConfig()` 取代，包内无任何引用）
- 中间件 `gaeaTopFiles` 取消对 `config.js` 的托管
- 模板 `public/index.html` 移除 `<script src="config.js">` 引用

### 升级注意
- 若老项目的 `index.html` 仍保留 `<script src="config.js">`，升级后需手动删除该行，否则会因请求不到文件而报错

## [1.1.16] - 2026-07-10

### Fixed
- 修复 `public/config.js` 使用 ESM `export` 导致以普通脚本（`<script src="config.js">`）加载时报 `Unexpected token 'export'` 的问题，改为 `var` 全局变量声明

## [1.1.13] - 2026-07-10

### Added
- 支持 CommonJS 引入（`require`），同时兼容 ESM 和 CJS 项目

## [1.1.6] - 2026-07-01

### Changed
- 优化引入方式：`loadResource`、`screenToLatLng` 工具函数可直接从 `@yangyongtao/gaea` 导入
- 移除冗余的 `@yangyongtao/gaea/methods` 导出路径

## [1.1.5] - 2026-07-01

### Added
- 添加 `npm run pub` 快捷发布命令

### Changed
- 更新 GitHub 仓库地址为 smallflypig/Gaea
- 优化 postinstall 脚本，大文件资源版本锁定 1.1.1

## [1.1.0] - 2026-06-30

### Changed
- 大文件 (Gaea.pck, Gaea.wasm, gltf, 1111.res) 从 npm 包中分离，改为 postinstall 自动下载
- npm 包体积从 310MB 降至 19.5MB

### Added
- 添加 postinstall 自动下载脚本
- 添加 .npmignore 排除大文件
