Files
Genarrative/server-rs/Cargo.toml
T
k88936 d231cc4602 合并 origin/master:保留 3D 契约与 provider checkpoint,旧玩法表随主线退役
- 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 中
2026-09-23 19:39:30 +08:00

168 lines
6.7 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前阶段先建立虚拟 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 # 减少并行代码生成单元,提升优化但增加编译时间