d231cc4602
- server-rs/crates/shared-contracts/src/lib.rs:采用主线的模块裁剪(删掉 cfg(any()) 遗留模块、补上 agc_analytics 与 game_distribution),同时保留本分支的 editor_canvas、model3d 模块与 EDITOR_GENERATION_OPERATION_KINDS 导出 - server-rs/crates/spacetime-module/src/migration.rs:主线删除的 410 行旧玩法表 normalize 段保持删除,保留本分支的 provider_kind / provider_task_id 兼容段与对应用例 - docs/【开发运维】本地开发验证与生产运维-2026-05-15.md:校验清单同时保留 Tripo 3D 生成任务与 editor_background_music_generation / model3d_text_to_model / model3d_image_to_model - .gitignore:补回本分支新增的 3D 模型文件忽略规则(*.glb / *.gltf 等 12 行),压测数据段随主线一并删除 - 共享记忆:本分支的 3D 决策与踩坑条目保留在主线重排后的 decision-log.md 与 pitfalls.md 中
168 lines
6.7 KiB
TOML
168 lines
6.7 KiB
TOML
# 当前阶段先建立虚拟 workspace。
|
||
# 后续按“主工程 crate + 独立模块 crate”模式逐项补充 members。
|
||
|
||
[workspace]
|
||
resolver = "2"
|
||
default-members = [
|
||
"crates/api-server",
|
||
]
|
||
exclude = [
|
||
"crates/agent-runtime-core",
|
||
"crates/agent-runtime-orchestration",
|
||
"crates/editor-adapter-api",
|
||
"crates/platform-agent",
|
||
]
|
||
members = [
|
||
"crates/api-server",
|
||
"crates/module-ai",
|
||
"crates/module-assets",
|
||
"crates/module-auth",
|
||
"crates/module-editor-agent",
|
||
"crates/module-game-distribution",
|
||
"crates/module-runtime",
|
||
"crates/platform-oss",
|
||
"crates/platform-auth",
|
||
"crates/platform-audio",
|
||
"crates/platform-agent-harness",
|
||
"crates/platform-hyper3d",
|
||
"crates/platform-image",
|
||
"crates/platform-llm",
|
||
"crates/platform-matting",
|
||
"crates/platform-wechat",
|
||
"crates/platform-speech",
|
||
"crates/platform-tripo",
|
||
"crates/platform-editor-agent",
|
||
"crates/pingora-gateway",
|
||
"crates/preview-deployer-server",
|
||
"crates/server-manager-panel",
|
||
"crates/shared-contracts",
|
||
"crates/shared-kernel",
|
||
"crates/shared-logging",
|
||
"crates/spacetime-client",
|
||
"crates/spacetime-module",
|
||
"crates/tests-support",
|
||
]
|
||
|
||
[workspace.package]
|
||
edition = "2024"
|
||
version = "0.1.0"
|
||
license = "UNLICENSED"
|
||
|
||
[workspace.dependencies]
|
||
# 本地 workspace crate 路径统一在这里维护,成员 crate 只声明 feature 差异。
|
||
module-ai = { path = "crates/module-ai", default-features = false }
|
||
module-assets = { path = "crates/module-assets", default-features = false }
|
||
module-auth = { path = "crates/module-auth", default-features = false }
|
||
module-editor-agent = { path = "crates/module-editor-agent", default-features = false }
|
||
module-game-distribution = { path = "crates/module-game-distribution", default-features = false }
|
||
module-runtime = { path = "crates/module-runtime", default-features = false }
|
||
platform-agent-harness = { path = "crates/platform-agent-harness", default-features = false }
|
||
platform-editor-agent = { path = "crates/platform-editor-agent", default-features = false }
|
||
platform-auth = { path = "crates/platform-auth", default-features = false }
|
||
platform-audio = { path = "crates/platform-audio", default-features = false }
|
||
platform-hyper3d = { path = "crates/platform-hyper3d", default-features = false }
|
||
platform-image = { path = "crates/platform-image", default-features = false }
|
||
platform-llm = { path = "crates/platform-llm", default-features = false }
|
||
platform-matting = { path = "crates/platform-matting", default-features = false }
|
||
platform-oss = { path = "crates/platform-oss", default-features = false }
|
||
platform-speech = { path = "crates/platform-speech", default-features = false }
|
||
platform-tripo = { path = "crates/platform-tripo", default-features = false }
|
||
platform-wechat = { path = "crates/platform-wechat", default-features = false }
|
||
pingora-gateway = { path = "crates/pingora-gateway", default-features = false }
|
||
shared-contracts = { path = "crates/shared-contracts", default-features = false }
|
||
shared-kernel = { path = "crates/shared-kernel", default-features = false }
|
||
shared-logging = { path = "crates/shared-logging", default-features = false }
|
||
spacetime-client = { path = "crates/spacetime-client", default-features = false }
|
||
|
||
argon2 = "0.5"
|
||
aes = "0.8"
|
||
async-stream = "0.3"
|
||
async-trait = "0.1"
|
||
axum = "0.8"
|
||
base64 = "0.22"
|
||
cbc = { version = "0.1", features = ["alloc"] }
|
||
bytes = "1"
|
||
curl = "0.4"
|
||
csv = "1"
|
||
dotenvy = "0.15"
|
||
flate2 = "1"
|
||
futures-util = "0.3"
|
||
hmac = "0.12"
|
||
http-body-util = "0.1"
|
||
httpdate = "1"
|
||
hex = "0.4"
|
||
image = { version = "0.25", default-features = false }
|
||
png = "0.18"
|
||
jsonwebtoken = "9"
|
||
log = "0.4"
|
||
mime_guess = "2.0.5"
|
||
pingora = { version = "0.8.1", default-features = false, features = ["proxy", "rustls"] }
|
||
pingora-http = { version = "0.8.1", default-features = false }
|
||
pingora-proxy = { version = "0.8.1", default-features = false }
|
||
rand_core = "0.6"
|
||
reqwest = { version = "0.12", default-features = false }
|
||
regex = "1"
|
||
rmcp = { version = "=2.2.0", default-features = false }
|
||
ring = "0.17"
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
serde_urlencoded = "0.7"
|
||
sha1 = "0.10"
|
||
sha2 = "0.10"
|
||
socket2 = "0.6"
|
||
symphonia = { version = "0.5", default-features = false, features = ["mp3"] }
|
||
spacetimedb = "=2.8.3"
|
||
spacetimedb-sdk = "=2.8.3"
|
||
spacetimedb-lib = { version = "=2.8.3", default-features = false }
|
||
time = "0.3"
|
||
tokio = "1"
|
||
tokio-stream = "0.1"
|
||
tokio-tungstenite = "0.27"
|
||
tripo3d-sdk = { git = "https://github.com/VAST-AI-Research/tripo-rust-sdk.git", rev = "1986be88627b04b1fa582a795bf6ac15ae6e0c6d" }
|
||
# 已发布到 crates.io 的 ts-rs 12.0.1 解析不了 enum 级 `serde(deny_unknown_fields)`,
|
||
# 编译时会打印一条没有 span 的 “failed to parse serde attribute” 告警(该属性仍由 serde 生效)。
|
||
# 上游修复 #491 尚未发版(最新 tag 仍为 v12.0.0,main 版本号还是 12.0.1),因此固定到修复 commit;
|
||
# 等 crates.io 发布 > 12.0.1 后改回 registry 版本并删除本固定。不要改用
|
||
# `no-serde-warnings` 关告警:那会连同真实未支持的 serde 属性一起静默。
|
||
# 严格性契约测试见 shared-contracts/tests/model3d_multiview_request_contract.rs。
|
||
# ts-rs 一律常开:任何 feature 开关都会让「哪些类型有 TS 绑定」变成两套口径,
|
||
# 生成命令固定为 `cargo test -p shared-contracts export_bindings`(见 packages/shared)。
|
||
ts-rs = { git = "https://github.com/Aleph-Alpha/ts-rs", rev = "fd8679ef20f866f747c046b30bd29c15e3d7a003" }
|
||
tower = "0.5"
|
||
tower-http = "0.6"
|
||
tracing = "0.1"
|
||
opentelemetry = "0.31"
|
||
opentelemetry-appender-tracing = { version = "0.31", default-features = false, features = ["experimental_use_tracing_span_context"] }
|
||
opentelemetry-otlp = { version = "0.31", default-features = false, features = ["http-proto", "reqwest-blocking-client", "trace", "metrics", "logs"] }
|
||
opentelemetry_sdk = { version = "0.31", default-features = false, features = ["trace", "metrics", "logs"] }
|
||
tracing-opentelemetry = { version = "0.32", default-features = false }
|
||
tracing-subscriber = "0.3"
|
||
windows-sys = "0.61"
|
||
url = "2"
|
||
urlencoding = "2"
|
||
uuid = "1"
|
||
webp = "0.3"
|
||
x509-parser = "0.16"
|
||
zip = { version = "2", default-features = false }
|
||
quick-xml = { version = "0.38", features = ["serialize"] }
|
||
tempfile = "3"
|
||
|
||
[profile.dev]
|
||
opt-level = 0 # 默认 0,有人手滑改 1/2 会慢
|
||
debug = 1 # line-tables-only 比 full 快 30 %
|
||
codegen-units = 256 # 多单元并行 CodeGen
|
||
lto = "off" # dev 别开 LTO
|
||
incremental = true
|
||
|
||
[profile.test]
|
||
opt-level = 0
|
||
debug = 1
|
||
codegen-units = 256
|
||
lto = "off"
|
||
incremental = false
|
||
|
||
[profile.release]
|
||
opt-level = 3 # 最大优化等级
|
||
lto = "thin" # 启用 Thin LTO,平衡编译时间和性能
|
||
codegen-units = 1 # 减少并行代码生成单元,提升优化但增加编译时间
|