Files
effectcraft/crates/engine/src/commands/vpe.rs
T
Brandon ThomasandClaude Opus 5.5 1e61b4e04b Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#617)
Progress docs per craftrules standards/progress-docs.md: target-app parity, gaps, roadmap with alpha gate, readiness by audience (full / mainstream / essentials) with Opus 5.5 hours, and feature, format, hardware, UI and localization parity docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 14:09:10 -04:00

30 lines
1.1 KiB
Rust

//! File ▸ Import ▸ Vanishing Point (.vpe): present in the menu like After Effects', but always
//! disabled. The `.vpe` exchange format Photoshop's Vanishing Point filter writes has no public
//! specification, and EffectCraft implements formats only from published specs (clean room), so
//! the entry explains that instead of importing. See docs/file-format-parity.md.
use serde_json::Value;
use super::{CommandSpec, bad};
use crate::{Result, Session, cmd};
/// Why the entry is disabled (shown as its tooltip).
pub const WHY: &str =
"Vanishing Point Exchange (.vpe) files can't be imported: the format has no public specification, and EffectCraft only implements documented formats";
fn import(_: &mut Session, _: &Value) -> Result<Value> {
Err(bad("file.importVanishingPoint", WHY))
}
pub fn specs() -> Vec<CommandSpec> {
vec![cmd!(
"file.importVanishingPoint",
"Vanishing Point (.vpe)...",
["File", "Import"],
None,
"{} (always disabled: undocumented format)",
|_| Err(WHY.into()),
import
)]
}