From c73993a122a11a5d23fc5efdcb8455430ef2215d Mon Sep 17 00:00:00 2001 From: Adam Chalmers Date: Fri, 15 Dec 2023 23:31:49 -0600 Subject: [PATCH] Unit test for execution plan which draws a cube --- Cargo.lock | 208 ++++++++++++++++++++++++++ execution-plan/Cargo.toml | 6 + execution-plan/src/lib.rs | 10 +- execution-plan/src/tests.rs | 176 ++++++++++++++++++++-- execution-plan/src/value.rs | 2 +- execution-plan/src/value/impls.rs | 14 +- execution-plan/test_cube.png | Bin 0 -> 79371 bytes execution-plan/tests/outputs/cube.png | Bin 0 -> 129068 bytes 8 files changed, 392 insertions(+), 24 deletions(-) create mode 100644 execution-plan/test_cube.png create mode 100644 execution-plan/tests/outputs/cube.png diff --git a/Cargo.lock b/Cargo.lock index 9f69a7b1..f6cefaca 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,6 +81,9 @@ name = "anyhow" version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +dependencies = [ + "backtrace", +] [[package]] name = "approx" @@ -218,6 +221,26 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.64.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 1.0.109", +] + [[package]] name = "bit_field" version = "0.10.2" @@ -260,6 +283,12 @@ version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" +[[package]] +name = "bytecount" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" + [[package]] name = "bytemuck" version = "1.14.0" @@ -311,6 +340,15 @@ dependencies = [ "subtle", ] +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -354,6 +392,17 @@ dependencies = [ "inout", ] +[[package]] +name = "clang-sys" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +dependencies = [ + "glob", + "libc", + "libloading", +] + [[package]] name = "color-eyre" version = "0.6.2" @@ -853,6 +902,31 @@ dependencies = [ "subtle", ] +[[package]] +name = "ffmpeg-next" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f45d337871329d85f5aad1e3d7b09d033cd611d50f734fd6464c731fe7c769bf" +dependencies = [ + "bitflags 1.3.2", + "ffmpeg-sys-next", + "libc", +] + +[[package]] +name = "ffmpeg-sys-next" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2529ad916d08c3562c754c21bc9b17a26c7882c0f5706cc2cd69472175f1620" +dependencies = [ + "bindgen", + "cc", + "libc", + "num_cpus", + "pkg-config", + "vcpkg", +] + [[package]] name = "fiat-crypto" version = "0.2.5" @@ -1066,6 +1140,12 @@ version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + [[package]] name = "group" version = "0.13.0" @@ -1301,6 +1381,18 @@ dependencies = [ "tiff", ] +[[package]] +name = "image-compare" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c16b73efbb4b417b4e036cb6f0b0d31c43568a90ab575a4c7611c4396ec1a6b8" +dependencies = [ + "image", + "itertools 0.10.5", + "rayon", + "thiserror", +] + [[package]] name = "indenter" version = "0.3.3" @@ -1464,12 +1556,16 @@ name = "kittycad-execution-plan" version = "0.1.0" dependencies = [ "bytes", + "image", "kittycad", "kittycad-modeling-cmds", "kittycad-modeling-session", + "parse-display-derive", "serde", + "tabled", "thiserror", "tokio", + "twenty-twenty", "uuid", ] @@ -1546,6 +1642,12 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "lebe" version = "0.5.2" @@ -1558,6 +1660,16 @@ version = "0.2.151" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + [[package]] name = "libm" version = "0.2.8" @@ -1951,6 +2063,17 @@ dependencies = [ "sha2", ] +[[package]] +name = "papergrid" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2ccbe15f2b6db62f9a9871642746427e297b0ceb85f9a7f1ee5ff47d184d0c8" +dependencies = [ + "bytecount", + "fnv", + "unicode-width", +] + [[package]] name = "parking_lot" version = "0.11.2" @@ -2025,6 +2148,12 @@ dependencies = [ "syn 2.0.40", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + [[package]] name = "pem" version = "3.0.3" @@ -2181,6 +2310,30 @@ dependencies = [ "elliptic-curve", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.70" @@ -2591,6 +2744,12 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc_version" version = "0.4.0" @@ -2889,6 +3048,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" + [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -3123,6 +3288,30 @@ dependencies = [ "libc", ] +[[package]] +name = "tabled" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfe9c3632da101aba5131ed63f9eed38665f8b3c68703a6bb18124835c1a5d22" +dependencies = [ + "papergrid", + "tabled_derive", + "unicode-width", +] + +[[package]] +name = "tabled_derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99f688a08b54f4f02f0a3c382aefdb7884d3d69609f785bd253dc033243e3fe4" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "task-local-extensions" version = "0.1.4" @@ -3434,6 +3623,19 @@ dependencies = [ "webrtc-util", ] +[[package]] +name = "twenty-twenty" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77f4c2039b998d194da9717843bb8c634609b5ccacac513be56985569f6e732" +dependencies = [ + "anyhow", + "ffmpeg-next", + "image", + "image-compare", + "uuid", +] + [[package]] name = "typenum" version = "1.17.0" @@ -3476,6 +3678,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + [[package]] name = "unicode-xid" version = "0.2.4" diff --git a/execution-plan/Cargo.toml b/execution-plan/Cargo.toml index 37f5e397..6a65ede8 100644 --- a/execution-plan/Cargo.toml +++ b/execution-plan/Cargo.toml @@ -12,6 +12,7 @@ bytes = "1.5" kittycad = { version = "0.2.44", features = ["requests"] } kittycad-modeling-cmds = { path = "../modeling-cmds" } kittycad-modeling-session = { path = "../modeling-session" } +parse-display-derive = "0.8.2" serde = { version = "1", features = ["derive"] } thiserror = "1" tokio = { version = "1.35.0", features = ["rt", "macros"] } @@ -19,3 +20,8 @@ uuid = "1.6.1" [lints] workspace = true + +[dev-dependencies] +image = { version = "0.24.7", default-features = false, features = ["png"] } +tabled = "0.14.0" +twenty-twenty = "0.6.1" diff --git a/execution-plan/src/lib.rs b/execution-plan/src/lib.rs index 7ed6919a..ccb1b106 100644 --- a/execution-plan/src/lib.rs +++ b/execution-plan/src/lib.rs @@ -67,11 +67,15 @@ impl Memory { /// Store a value value (i.e. a value which takes up multiple addresses in memory). /// Store its parts in consecutive memory addresses starting at `start`. - pub fn set_composite(&mut self, start: Address, composite_value: T) { + /// Returns how many memory addresses the data took up. + pub fn set_composite(&mut self, start: Address, composite_value: T) -> usize { let parts = composite_value.into_parts().into_iter(); + let mut total_addrs = 0; for (value, addr) in parts.zip(start.0..) { self.0[addr] = Some(value); + total_addrs += 1; } + total_addrs } /// Get a value value (i.e. a value which takes up multiple addresses in memory). @@ -118,7 +122,7 @@ pub struct ApiRequest { } /// A KittyCAD modeling command. -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, parse_display_derive::Display)] pub enum Endpoint { #[allow(missing_docs)] StartPath, @@ -226,7 +230,7 @@ impl Operand { /// Execute the plan. pub async fn execute(mem: &mut Memory, plan: Vec, mut session: ModelingSession) -> Result<()> { - for step in plan { + for (_step_number, step) in plan.into_iter().enumerate() { match step { Instruction::ApiRequest(req) => { req.execute(&mut session, mem).await?; diff --git a/execution-plan/src/tests.rs b/execution-plan/src/tests.rs index f941af72..e6ed0d89 100644 --- a/execution-plan/src/tests.rs +++ b/execution-plan/src/tests.rs @@ -1,10 +1,12 @@ use std::env; -use kittycad_modeling_cmds::shared::Point3d; +use kittycad_modeling_cmds::shared::{PathSegment, Point3d}; use kittycad_modeling_session::{Session, SessionBuilder}; +use tabled::{settings::Style, Table}; use uuid::Uuid; use super::*; +use crate::primitive::NumericPrimitive; async fn test_client() -> Session { let kittycad_api_token = env::var("KITTYCAD_API_TOKEN").expect("You must set $KITTYCAD_API_TOKEN"); @@ -123,26 +125,75 @@ async fn add_to_composite_value() { } #[tokio::test] -async fn api_call_no_output() { +async fn api_call_draw_cube() { let mut mem = Memory::default(); let client = test_client().await; - const CUBE_WIDTH: f64 = 10.0; + const CUBE_WIDTH: f64 = 20.0; - // Choose a path ID, map it to a memory address. - let path = new_id(); + // Define primitives, load them into memory. let path_id_addr = Address(0); + let path = new_id(); + let cube_height_addr = Address(2); + let cube_height = Primitive::from(CUBE_WIDTH * 2.0); + let cap_addr = Address(3); + let cap = Primitive::Bool(true); + let img_format_addr = Address(4); + let img_format = Primitive::from("png".to_owned()); + let output_addr = Address(99); + mem.set(path_id_addr, Primitive::from(path.0)); + mem.set(cube_height_addr, cube_height); + mem.set(cap_addr, cap); + mem.set(img_format_addr, img_format); - let start = Point3d { + // Define composite objects, load them into memory. + let starting_point_addr = Address(6); + let starting_point = Point3d { x: -CUBE_WIDTH, y: -CUBE_WIDTH, z: -CUBE_WIDTH, }; - let start_addr = Address(1); - - mem.set(path_id_addr, Primitive::from(path.0)); - mem.set_composite(start_addr, start); + let point_size = mem.set_composite(starting_point_addr, starting_point); + let next_addr = Address(starting_point_addr.0 + point_size); + let segments = + [ + PathSegment::Line { + end: Point3d { + x: CUBE_WIDTH, + y: -CUBE_WIDTH, + z: -CUBE_WIDTH, + }, + relative: false, + }, + PathSegment::Line { + end: Point3d { + x: CUBE_WIDTH, + y: CUBE_WIDTH, + z: -CUBE_WIDTH, + }, + relative: false, + }, + PathSegment::Line { + end: Point3d { + x: -CUBE_WIDTH, + y: CUBE_WIDTH, + z: -CUBE_WIDTH, + }, + relative: false, + }, + PathSegment::Line { + end: starting_point, + relative: false, + }, + ]; + let mut segment_addrs = vec![next_addr]; + for segment in segments { + let addr = segment_addrs.last().unwrap(); + let size = mem.set_composite(*addr, segment); + segment_addrs.push(Address(addr.0 + size)); + } + // Run the plan! execute( &mut mem, vec![ @@ -153,11 +204,53 @@ async fn api_call_no_output() { arguments: vec![], cmd_id: path, }), - // Extend the path. + // Draw a square. Instruction::ApiRequest(ApiRequest { endpoint: Endpoint::MovePathPen, store_response: None, - arguments: vec![path_id_addr, start_addr], + arguments: vec![path_id_addr, starting_point_addr], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::ExtendPath, + store_response: None, + arguments: vec![path_id_addr, segment_addrs[0]], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::ExtendPath, + store_response: None, + arguments: vec![path_id_addr, segment_addrs[1]], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::ExtendPath, + store_response: None, + arguments: vec![path_id_addr, segment_addrs[2]], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::ExtendPath, + store_response: None, + arguments: vec![path_id_addr, segment_addrs[3]], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::ClosePath, + store_response: None, + arguments: vec![path_id_addr], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::Extrude, + store_response: None, + arguments: vec![path_id_addr, cube_height_addr, cap_addr], + cmd_id: new_id(), + }), + Instruction::ApiRequest(ApiRequest { + endpoint: Endpoint::TakeSnapshot, + store_response: Some(output_addr), + arguments: vec![img_format_addr], cmd_id: new_id(), }), ], @@ -166,7 +259,64 @@ async fn api_call_no_output() { .await .unwrap(); - dbg!(&mem.0[..10]); + // Program executed successfully! + debug_dump_memory(&mem); + + // The image output was set to addr 99. + // Outputs are two addresses long, addr 99 will store the data format (TAKE_SNAPSHOT) + // and addr 100 will store its first field ('contents', the image bytes). + let Primitive::Bytes(b) = mem.0[100].as_ref().unwrap() else { + panic!("wrong format in memory addr 100"); + }; + // Visually check that the image is a cube. + use image::io::Reader as ImageReader; + let img = + ImageReader::new(std::io::Cursor::new(b)) + .with_guessed_format() + .unwrap() + .decode() + .unwrap(); + twenty_twenty::assert_image("tests/outputs/cube.png", &img, 0.9999); +} + +fn debug_dump_memory(mem: &Memory) { + impl Primitive { + fn pretty_print(&self) -> (&'static str, String) { + match self { + Primitive::String(v) => ("String", v.to_owned()), + Primitive::NumericValue(NumericPrimitive::Float(v)) => ("Float", v.to_string()), + Primitive::NumericValue(NumericPrimitive::Integer(v)) => ("Integer", v.to_string()), + Primitive::Uuid(v) => ("Uuid", v.to_string()), + Primitive::Bytes(v) => ("Bytes", format!("length {}", v.len())), + Primitive::Bool(v) => ("Bool", v.to_string()), + Primitive::Nil => ("Nil", String::new()), + } + } + } + #[derive(tabled::Tabled)] + struct MemoryAddr { + index: usize, + val_type: &'static str, + value: String, + } + let table_data: Vec<_> = mem + .0 + .iter() + .enumerate() + .filter_map(|(i, val)| { + if let Some(val) = val { + let (val_type, value) = val.pretty_print(); + Some(MemoryAddr { + index: i, + val_type, + value, + }) + } else { + None + } + }) + .collect(); + eprintln!("{}", Table::new(table_data).with(Style::sharp())); } fn new_id() -> ModelingCmdId { diff --git a/execution-plan/src/value.rs b/execution-plan/src/value.rs index 0b33d074..a793d5dc 100644 --- a/execution-plan/src/value.rs +++ b/execution-plan/src/value.rs @@ -1,6 +1,6 @@ use crate::{ExecutionError, Primitive}; -mod impls; +pub mod impls; /// Types that can be written to or read from KCEP program memory. /// If they require multiple memory addresses, they will be laid out diff --git a/execution-plan/src/value/impls.rs b/execution-plan/src/value/impls.rs index 8b20ccdf..a8d037cc 100644 --- a/execution-plan/src/value/impls.rs +++ b/execution-plan/src/value/impls.rs @@ -13,13 +13,13 @@ use kittycad_modeling_cmds::{ use super::Value; use crate::{ExecutionError, Primitive}; -const EMPTY: &str = "EMPTY"; -const TAKE_SNAPSHOT: &str = "TAKE_SNAPSHOT"; -const ARC: &str = "arc"; -const LINE: &str = "line"; -const TAN_ARC: &str = "tan_arc"; -const TAN_ARC_TO: &str = "tan_arc_to"; -const BEZIER: &str = "bezier"; +pub(crate) const EMPTY: &str = "EMPTY"; +pub(crate) const TAKE_SNAPSHOT: &str = "TAKE_SNAPSHOT"; +pub(crate) const ARC: &str = "arc"; +pub(crate) const LINE: &str = "line"; +pub(crate) const TAN_ARC: &str = "tan_arc"; +pub(crate) const TAN_ARC_TO: &str = "tan_arc_to"; +pub(crate) const BEZIER: &str = "bezier"; fn err() -> ExecutionError { ExecutionError::MemoryWrongSize diff --git a/execution-plan/test_cube.png b/execution-plan/test_cube.png new file mode 100644 index 0000000000000000000000000000000000000000..e79ad93ab08537b3f8b1c7a3b50730bb97351ebb GIT binary patch literal 79371 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 Puk8NXmo7Ye;M9Ks*>l`u literal 0 HcmV?d00001 diff --git a/execution-plan/tests/outputs/cube.png b/execution-plan/tests/outputs/cube.png new file mode 100644 index 0000000000000000000000000000000000000000..00b9ef52a7700c6b0593abb669a4a536ec0a9ce1 GIT binary patch literal 129068 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 q literal 0 HcmV?d00001