Files
oak-editor/crates/oakrender/Cargo.toml
T
Mike-Solar 5afa95c80e feat(render,app): footage decode lands (M12 P0) + UI density pass
engine:
- oakrender eval footage hook decodes via oakcodec (JobSpec::Footage
  carries filename/stream); ticket/ffi/manager wiring, real-media
  decode test with programmatically generated MPEG-2
- oakrender bridge/codec.rs + node.rs: direct oakcodec/oaknode calls;
  the crate's dlsym module is gone (project_deep_copy/sync_copy remain
  documented always-fail stubs — never implemented in oaknode)
- oakaudio waveform/decoder path adjustments for the decode hook

app (gpui + gpui_widgets):
- menu bar scrubbing: hovering another top-level title while a menu is
  open switches to it; popup width is content-aware (CJK-aware) instead
  of fixed 160px
- density pass: window rem 16 -> 14px, menu rows 26 -> 22px, dock tabs
  32 -> 26px, viewer transport tightened
- open/import/save-as use the native platform file dialogs
  (prompt_for_paths / prompt_for_new_path; multi-select import);
  MockEngine records imported footage for tests
- project explorer Tree/Icons toggle is localized (explorer.tree /
  explorer.icons widget keys)
2026-08-13 18:16:10 +08:00

35 lines
1.5 KiB
TOML

[package]
name = "oakrender"
version = "0.1.0"
edition = "2021"
description = "Oak Video Editor render engine (Rust)"
license = "GPL-3.0-or-later"
[lib]
crate-type = ["staticlib", "rlib"]
[dependencies]
oakcore-rs = { path = "../oakcore" }
oakcommon = { path = "../oakcommon" }
# Direct Rust calls (single-lib unification): the decode bridge calls
# oakcodec's ffi, the node bridge calls oaknode's ffi. Both directions
# are acyclic (oakcodec → oakcore-rs/oakffmpeg-link; oaknode → oakcodec).
oakcodec = { path = "../oakcodec" }
oaknode = { path = "../oaknode" }
# wgpu: portable GPU backend (Metal/Vulkan/GL/DX12 in one safe API) — the
# direct replacement for the C++ liboakgl2/liboakvulkan backend plugins.
# Version 25 (2025 stable line); the only GPU dependency.
wgpu = "25"
# ocio-rs: safe Rust bindings for OpenColorIO v2.5.2 — the ColorProcessor
# implementation; OCIO is never rewritten. The `bundled` feature compiles
# the vendored OpenColorIO C++ sources (cmake/ninja required); without it
# ocio-sys builds a stub (all color tests then early-return).
ocio-rs = { version = "0.2", features = ["bundled"] }
[dev-dependencies]
# Test binaries that pull oakcodec's decoder (the direct-call bridge) link
# oakcodec's ffmpeg unit, which references the host `oakcore_audioparams_*`
# symbols no Rust crate provides — the `test-stubs` feature compiles
# oakcodec's host-mocks (same pattern as oaknode's dev-dependencies).
oakcodec = { path = "../oakcodec", features = ["test-stubs"] }