Files
oak-editor/crates/oakplugin/Cargo.toml
T
Mike-Solar ab1a2e9c7b refactor: drop internal bridge/ffi layers; exporter family lands
Single-lib cleanup: the per-crate src/bridge/ and src/ffi.rs layers are
gone (oakundo/oakcommon/oaknode/oaktimeline/oakcodec/oakaudio/
oakrender/oaktask/oakplugin/oakstorage); cross-crate calls are plain
Rust, CHandle marshalling shrinks to the oakengine boundary, and tests
call the Rust APIs directly (pure C-ABI wrapper tests removed where
the domain layer already covers the behavior).

exporter.h family implemented: oakengine_export_render (CLI contract),
oakengine_export_render_with_params (was a stub), last_error and
progress callback; synchronous path reuses task_create_export +
start_sync. Fixes on the way: oaktask video ticket self-deadlock,
audio params dropped on the export path, codec encoder AAC slicing and
H.264 time base. Real-mp4 tests cover both entry points, progress and
the illegal-argument matrix.

Also: oakstorage session maps null project handles to None (version-
info path), configstore test double literal 3.14 -> 3.15 (clippy PI
lint), oakaudio output callback scratch buffer + env-aware P1 test,
cli media round-trip test uses a generated 16-frame clip (no more
minute-long debug runs).
2026-08-16 00:33:45 +08:00

35 lines
1.4 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.
[package]
name = "oakplugin"
version = "0.1.0"
edition = "2021"
description = "Oak Video Editor plugin module: self-contained OFX host and plugin bridge (Rust)"
license = "GPL-3.0-or-later"
# staticlib: linked into liboakplugin by CMake (see M11 §3.3).
# cdylib is NOT used: the module dylib stays a CMake target so the
# standalone-tree wiring (rpath, force_load, tests) is unchanged.
[lib]
crate-type = ["staticlib", "rlib"]
[dependencies]
# 共享 ABI 类型(CHandle 等,单库化统一,见 docs/zh/plans/riir/single-lib.md)。
# 模块桥改直接 Rust 调用(单库化,见 docs/zh/plans/riir/single-lib.md);
# 只允许零依赖起步。确需引入的 crate 必须在 README 登记理由。
oakcore-rs = { path = "../oakcore" }
oakundo = { path = "../oakundo" }
oaknode = { path = "../oaknode" }
oakrender = { path = "../oakrender" }
# Error deriveDisplay + std::error::Error,见 src/error.rs);理由已登记 README。
thiserror = "2"
[features]
# 历史 feature(原桥测试桩开关):单库化后 oaknode/oakrender/oakundo
# 以 path 依赖直连,句柄式调用面改为本地桩(见 src/node.rs /
# src/render.rs 的 `// STUB` 标记),本 feature 无 cfg 使用点——
# 保留以避免工作区/构建脚本 `--features test-stubs` 断裂。
test-stubs = []
[build-dependencies]
# C shim 编译(message suite 的 variadic 入口);理由已登记 README。
cc = "1"