kittycad_modeling_cmds/format/
gltf.rs1use parse_display::{Display, FromStr};
2use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5pub mod import {
7 use super::*;
8
9 #[derive(Clone, Debug, Default, Eq, Hash, PartialEq, Serialize, Deserialize, JsonSchema, Display, FromStr)]
11 #[display("")]
12 #[serde(rename = "GltfImportOptions")]
13 #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))]
14 #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))]
15 pub struct Options {}
16}
17
18pub mod export {
20 use super::*;
21 #[derive(Default, Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize, JsonSchema, Display, FromStr)]
23 #[display("storage: {storage}, presentation: {presentation}")]
24 #[serde(rename = "GltfExportOptions")]
25 #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))]
26 #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))]
27 pub struct Options {
28 pub storage: Storage,
30 pub presentation: Presentation,
32 }
33
34 #[derive(
36 Default, Clone, Copy, Debug, Eq, Hash, PartialEq, Serialize, Deserialize, JsonSchema, Display, FromStr,
37 )]
38 #[display(style = "snake_case")]
39 #[serde(rename = "GltfStorage", rename_all = "snake_case")]
40 #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))]
41 #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))]
42 pub enum Storage {
43 Binary,
47
48 Standard,
53
54 #[default]
61 Embedded,
62 }
63
64 #[derive(
66 Default, Clone, Copy, Debug, Eq, Hash, PartialEq, Serialize, Deserialize, JsonSchema, Display, FromStr,
67 )]
68 #[display(style = "snake_case")]
69 #[serde(rename = "GltfPresentation", rename_all = "snake_case")]
70 #[cfg_attr(feature = "ts-rs", derive(ts_rs::TS))]
71 #[cfg_attr(feature = "ts-rs", ts(export_to = "ModelingCmd.ts"))]
72 pub enum Presentation {
73 Compact,
75
76 #[default]
80 Pretty,
81 }
82}