* refactor(render): 抽象图形后端并迁移渲染器 - 新增 engine-shared 包,定义 GraphicsBackend trait 抽象层 - 实现 WebGL2Backend 作为首个后端实现 - 迁移 Renderer2D、SpriteBatch、GridRenderer、GizmoRenderer 使用新抽象 - 修复 VAO 创建时索引缓冲区绑定状态泄漏问题 - 新增 create_vertex_buffer_sized 方法支持预分配缓冲区 * fix(serialization): 修复序列化循环引用导致栈溢出 - 在 serializeValue 添加 WeakSet 检测循环引用 - 跳过已访问对象避免无限递归 * refactor(serialization): 提取 ValueSerializer 统一序列化逻辑 - 新增 ValueSerializer 模块,函数式设计 - 支持可扩展类型处理器注册 - 移除 ComponentSerializer/SceneSerializer 重复代码 - 内置 Date/Map/Set 类型支持 * fix: CodeQL 类型检查警告
93 lines
2.0 KiB
TOML
93 lines
2.0 KiB
TOML
[package]
|
||
name = "es-engine"
|
||
version = "0.1.0"
|
||
edition = "2021"
|
||
authors = ["ESEngine Team"]
|
||
description = "High-performance 2D game engine for web and mobile platforms | 高性能2D游戏引擎,支持Web和移动平台"
|
||
license = "MIT"
|
||
repository = "https://github.com/esengine/esengine"
|
||
keywords = ["game-engine", "2d", "webgl", "wasm", "ecs"]
|
||
categories = ["game-engines", "wasm", "graphics"]
|
||
|
||
[lib]
|
||
crate-type = ["cdylib", "rlib"]
|
||
|
||
[features]
|
||
default = ["console_error_panic_hook"]
|
||
|
||
[dependencies]
|
||
# Shared types and traits | 共享类型和trait
|
||
es-engine-shared = { path = "../engine-shared" }
|
||
|
||
# WASM bindings | WASM绑定
|
||
wasm-bindgen = "0.2"
|
||
js-sys = "0.3"
|
||
|
||
# Web APIs | Web API
|
||
web-sys = { version = "0.3", features = [
|
||
# Core | 核心
|
||
"Window",
|
||
"Document",
|
||
"Element",
|
||
"HtmlCanvasElement",
|
||
"HtmlCollection",
|
||
"Navigator",
|
||
"Screen",
|
||
"Performance",
|
||
"console",
|
||
|
||
# WebGL2 | WebGL2渲染
|
||
"WebGl2RenderingContext",
|
||
"WebGlProgram",
|
||
"WebGlShader",
|
||
"WebGlBuffer",
|
||
"WebGlTexture",
|
||
"WebGlUniformLocation",
|
||
"WebGlVertexArrayObject",
|
||
"WebGlFramebuffer",
|
||
|
||
# Events | 事件
|
||
"KeyboardEvent",
|
||
"MouseEvent",
|
||
"TouchEvent",
|
||
"TouchList",
|
||
"Touch",
|
||
|
||
# Image | 图像
|
||
"HtmlImageElement",
|
||
"ImageData",
|
||
]}
|
||
|
||
# Math library | 数学库
|
||
glam = { version = "0.24", features = ["bytemuck"] }
|
||
|
||
# Error handling | 错误处理
|
||
thiserror = "1.0"
|
||
|
||
# Logging | 日志
|
||
log = "0.4"
|
||
console_log = { version = "1.0", features = ["color"] }
|
||
|
||
# Panic hook for better error messages | 更好的错误信息
|
||
console_error_panic_hook = { version = "0.1", optional = true }
|
||
|
||
# Serialization | 序列化
|
||
serde = { version = "1.0", features = ["derive"] }
|
||
|
||
# Byte manipulation | 字节操作
|
||
bytemuck = { version = "1.14", features = ["derive"] }
|
||
|
||
# Ordered map for preserving render order | 有序映射,用于保持渲染顺序
|
||
indexmap = "2.0"
|
||
|
||
[dev-dependencies]
|
||
wasm-bindgen-test = "0.3"
|
||
|
||
[profile.release]
|
||
opt-level = 3
|
||
lto = true
|
||
codegen-units = 1
|
||
|
||
[profile.dev]
|
||
opt-level = 1
|