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)
35 lines
1.5 KiB
TOML
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"] }
|