diff --git a/e2e/playwright/export-snapshots/ply-ascii.ply b/e2e/playwright/export-snapshots/ply-ascii.ply new file mode 100644 index 0000000000..7eda8ff5f1 --- /dev/null +++ b/e2e/playwright/export-snapshots/ply-ascii.ply @@ -0,0 +1,282 @@ +ply +format ascii 1.0 +comment Generated by kittycad.io +element vertex 204 +property float x +property float y +property float z +element face 68 +property list uchar uint vertex_indices +end_header +0 0 4 +0 0 0 +0 -1 4 +0 -1 4 +0 0 0 +0 -1 0 +0 -1 4 +0 -1 0 +3.0950184 -1 4 +3.0950184 -1 4 +0 -1 0 +3.0950184 -1 0 +3.0950184 -1 4 +3.0950184 -1 0 +5.9513144 -3 4 +5.9513144 -3 4 +3.0950184 -1 0 +5.9513144 -3 0 +5.9513144 -3 4 +5.9513144 -3 0 +9.5 -3 4 +9.5 -3 4 +5.9513144 -3 0 +9.5 -3 0 +9.5 -3 4 +9.5 -3 0 +9.5 -2.5 4 +9.5 -2.5 4 +9.5 -3 0 +9.5 -2.5 0 +9.5 -2.5 4 +9.5 -2.5 0 +6.108964 -2.5 4 +6.108964 -2.5 4 +9.5 -2.5 0 +6.108964 -2.5 0 +3.4311862 -0.625 4 +4.323779 -1.25 4 +4.323779 -1.25 0 +4.323779 -1.25 4 +6.108964 -2.5 4 +6.108964 -2.5 0 +3.4311862 -0.625 0 +2.5385938 0 0 +2.5385938 0 4 +3.4311862 -0.625 4 +3.4311862 -0.625 0 +2.5385938 0 4 +4.323779 -1.25 4 +6.108964 -2.5 0 +4.323779 -1.25 0 +3.4311862 -0.625 0 +3.4311862 -0.625 4 +4.323779 -1.25 0 +3.342784 0.375 4 +2.5385938 0 4 +2.5385938 0 0 +4.146974 0.75 4 +3.342784 0.375 4 +3.342784 0.375 0 +3.342784 0.375 0 +4.146974 0.75 0 +4.146974 0.75 4 +4.146974 0.75 0 +5.755354 1.5 0 +5.755354 1.5 4 +3.342784 0.375 4 +2.5385938 0 0 +3.342784 0.375 0 +5.755354 1.5 4 +4.146974 0.75 4 +4.146974 0.75 0 +5.755354 1.5 4 +5.755354 1.5 0 +9.5 1.5 4 +9.5 1.5 4 +5.755354 1.5 0 +9.5 1.5 0 +9.5 1.5 4 +9.5 1.5 0 +9.5 2 4 +9.5 2 4 +9.5 1.5 0 +9.5 2 0 +9.5 2 4 +9.5 2 0 +5.644507 2 4 +5.644507 2 4 +9.5 2 0 +5.644507 2 0 +5.644507 2 4 +5.644507 2 0 +3.5 1 4 +3.5 1 4 +5.644507 2 0 +3.5 1 0 +3.5 1 4 +3.5 1 0 +0 1 4 +0 1 4 +3.5 1 0 +0 1 0 +0 1 4 +0 1 0 +0 0 4 +0 0 4 +0 1 0 +0 0 0 +3.342784 0.375 0 +2.5385938 0 0 +3.5 1 0 +3.4311862 -0.625 0 +4.323779 -1.25 0 +3.0950184 -1 0 +3.342784 0.375 0 +3.5 1 0 +4.146974 0.75 0 +4.323779 -1.25 0 +5.9513144 -3 0 +3.0950184 -1 0 +0 -1 0 +2.5385938 0 0 +3.0950184 -1 0 +0 -1 0 +0 0 0 +2.5385938 0 0 +9.5 -3 0 +6.108964 -2.5 0 +9.5 -2.5 0 +9.5 -3 0 +5.9513144 -3 0 +6.108964 -2.5 0 +5.9513144 -3 0 +4.323779 -1.25 0 +6.108964 -2.5 0 +5.644507 2 0 +5.755354 1.5 0 +4.146974 0.75 0 +3.0950184 -1 0 +2.5385938 0 0 +3.4311862 -0.625 0 +4.146974 0.75 0 +3.5 1 0 +5.644507 2 0 +9.5 1.5 0 +5.755354 1.5 0 +9.5 2 0 +5.755354 1.5 0 +5.644507 2 0 +9.5 2 0 +2.5385938 0 0 +0 0 0 +0 1 0 +3.5 1 0 +2.5385938 0 0 +0 1 0 +3.342784 0.375 4 +3.5 1 4 +2.5385938 0 4 +4.146974 0.75 4 +3.5 1 4 +3.342784 0.375 4 +3.4311862 -0.625 4 +3.0950184 -1 4 +4.323779 -1.25 4 +4.146974 0.75 4 +5.755354 1.5 4 +5.644507 2 4 +0 1 4 +2.5385938 0 4 +3.5 1 4 +0 1 4 +0 0 4 +2.5385938 0 4 +5.644507 2 4 +5.755354 1.5 4 +9.5 2 4 +9.5 2 4 +5.755354 1.5 4 +9.5 1.5 4 +4.146974 0.75 4 +5.644507 2 4 +3.5 1 4 +2.5385938 0 4 +3.0950184 -1 4 +3.4311862 -0.625 4 +4.323779 -1.25 4 +3.0950184 -1 4 +5.9513144 -3 4 +6.108964 -2.5 4 +4.323779 -1.25 4 +5.9513144 -3 4 +9.5 -2.5 4 +6.108964 -2.5 4 +9.5 -3 4 +6.108964 -2.5 4 +5.9513144 -3 4 +9.5 -3 4 +2.5385938 0 4 +0 -1 4 +3.0950184 -1 4 +0 -1 4 +2.5385938 0 4 +0 0 4 +3 0 1 2 +3 3 4 5 +3 6 7 8 +3 9 10 11 +3 12 13 14 +3 15 16 17 +3 18 19 20 +3 21 22 23 +3 24 25 26 +3 27 28 29 +3 30 31 32 +3 33 34 35 +3 36 37 38 +3 39 40 41 +3 42 43 44 +3 45 46 47 +3 48 49 50 +3 51 52 53 +3 54 55 56 +3 57 58 59 +3 60 61 62 +3 63 64 65 +3 66 67 68 +3 69 70 71 +3 72 73 74 +3 75 76 77 +3 78 79 80 +3 81 82 83 +3 84 85 86 +3 87 88 89 +3 90 91 92 +3 93 94 95 +3 96 97 98 +3 99 100 101 +3 102 103 104 +3 105 106 107 +3 108 109 110 +3 111 112 113 +3 114 115 116 +3 117 118 119 +3 120 121 122 +3 123 124 125 +3 126 127 128 +3 129 130 131 +3 132 133 134 +3 135 136 137 +3 138 139 140 +3 141 142 143 +3 144 145 146 +3 147 148 149 +3 150 151 152 +3 153 154 155 +3 156 157 158 +3 159 160 161 +3 162 163 164 +3 165 166 167 +3 168 169 170 +3 171 172 173 +3 174 175 176 +3 177 178 179 +3 180 181 182 +3 183 184 185 +3 186 187 188 +3 189 190 191 +3 192 193 194 +3 195 196 197 +3 198 199 200 +3 201 202 203 diff --git a/e2e/playwright/export-snapshots/ply-binary_big_endian.ply b/e2e/playwright/export-snapshots/ply-binary_big_endian.ply new file mode 100644 index 0000000000..ad4b6e11a0 Binary files /dev/null and b/e2e/playwright/export-snapshots/ply-binary_big_endian.ply differ diff --git a/e2e/playwright/export-snapshots/ply-binary_little_endian.ply b/e2e/playwright/export-snapshots/ply-binary_little_endian.ply new file mode 100644 index 0000000000..ce09aae856 Binary files /dev/null and b/e2e/playwright/export-snapshots/ply-binary_little_endian.ply differ diff --git a/e2e/playwright/export-snapshots/stl-ascii.stl b/e2e/playwright/export-snapshots/stl-ascii.stl new file mode 100644 index 0000000000..de9e5ca778 --- /dev/null +++ b/e2e/playwright/export-snapshots/stl-ascii.stl @@ -0,0 +1,478 @@ +solid unnamed +facet normal -1 0 0 + outer loop + vertex 0 -4 0 + vertex 0 -0 0 + vertex 0 -4 -1 + endloop +endfacet +facet normal -1 0 0 + outer loop + vertex 0 -4 -1 + vertex 0 -0 0 + vertex 0 -0 -1 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 0 -4 -1 + vertex 0 -0 -1 + vertex 3.0950184 -4 -1 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 3.0950184 -4 -1 + vertex 0 -0 -1 + vertex 3.0950184 -0 -1 + endloop +endfacet +facet normal -0.57357645 0 -0.81915206 + outer loop + vertex 3.0950184 -4 -1 + vertex 3.0950184 -0 -1 + vertex 5.9513144 -4 -3 + endloop +endfacet +facet normal -0.57357645 0 -0.81915206 + outer loop + vertex 5.9513144 -4 -3 + vertex 3.0950184 -0 -1 + vertex 5.9513144 -0 -3 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 5.9513144 -4 -3 + vertex 5.9513144 -0 -3 + vertex 9.5 -4 -3 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 9.5 -4 -3 + vertex 5.9513144 -0 -3 + vertex 9.5 -0 -3 + endloop +endfacet +facet normal 1 0 0 + outer loop + vertex 9.5 -4 -3 + vertex 9.5 -0 -3 + vertex 9.5 -4 -2.5 + endloop +endfacet +facet normal 1 -0 0 + outer loop + vertex 9.5 -4 -2.5 + vertex 9.5 -0 -3 + vertex 9.5 -0 -2.5 + endloop +endfacet +facet normal 0 -0 0.99999994 + outer loop + vertex 9.5 -4 -2.5 + vertex 9.5 -0 -2.5 + vertex 6.108964 -4 -2.5 + endloop +endfacet +facet normal 0 0 0.99999994 + outer loop + vertex 6.108964 -4 -2.5 + vertex 9.5 -0 -2.5 + vertex 6.108964 -0 -2.5 + endloop +endfacet +facet normal 0.5735763 0 0.8191522 + outer loop + vertex 3.4311862 -4 -0.625 + vertex 4.323779 -4 -1.25 + vertex 4.323779 -0 -1.25 + endloop +endfacet +facet normal 0.57357645 0 0.819152 + outer loop + vertex 4.323779 -4 -1.25 + vertex 6.108964 -4 -2.5 + vertex 6.108964 -0 -2.5 + endloop +endfacet +facet normal 0.57357645 0 0.819152 + outer loop + vertex 3.4311862 -0 -0.625 + vertex 2.5385938 -0 0 + vertex 2.5385938 -4 0 + endloop +endfacet +facet normal 0.57357645 -0 0.819152 + outer loop + vertex 3.4311862 -4 -0.625 + vertex 3.4311862 -0 -0.625 + vertex 2.5385938 -4 0 + endloop +endfacet +facet normal 0.57357645 -0 0.819152 + outer loop + vertex 4.323779 -4 -1.25 + vertex 6.108964 -0 -2.5 + vertex 4.323779 -0 -1.25 + endloop +endfacet +facet normal 0.5735763 0 0.8191522 + outer loop + vertex 3.4311862 -0 -0.625 + vertex 3.4311862 -4 -0.625 + vertex 4.323779 -0 -1.25 + endloop +endfacet +facet normal 0.42261824 0 -0.9063078 + outer loop + vertex 3.342784 -4 0.375 + vertex 2.5385938 -4 0 + vertex 2.5385938 -0 0 + endloop +endfacet +facet normal 0.42261824 0 -0.9063078 + outer loop + vertex 4.146974 -4 0.75 + vertex 3.342784 -4 0.375 + vertex 3.342784 -0 0.375 + endloop +endfacet +facet normal 0.42261824 0 -0.9063078 + outer loop + vertex 3.342784 -0 0.375 + vertex 4.146974 -0 0.75 + vertex 4.146974 -4 0.75 + endloop +endfacet +facet normal 0.42261833 0 -0.90630776 + outer loop + vertex 4.146974 -0 0.75 + vertex 5.755354 -0 1.5 + vertex 5.755354 -4 1.5 + endloop +endfacet +facet normal 0.42261824 0 -0.9063078 + outer loop + vertex 3.342784 -4 0.375 + vertex 2.5385938 -0 0 + vertex 3.342784 -0 0.375 + endloop +endfacet +facet normal 0.42261833 0 -0.90630776 + outer loop + vertex 5.755354 -4 1.5 + vertex 4.146974 -4 0.75 + vertex 4.146974 -0 0.75 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 5.755354 -4 1.5 + vertex 5.755354 -0 1.5 + vertex 9.5 -4 1.5 + endloop +endfacet +facet normal 0 0 -1 + outer loop + vertex 9.5 -4 1.5 + vertex 5.755354 -0 1.5 + vertex 9.5 -0 1.5 + endloop +endfacet +facet normal 1 0 0 + outer loop + vertex 9.5 -4 1.5 + vertex 9.5 -0 1.5 + vertex 9.5 -4 2 + endloop +endfacet +facet normal 1 -0 0 + outer loop + vertex 9.5 -4 2 + vertex 9.5 -0 1.5 + vertex 9.5 -0 2 + endloop +endfacet +facet normal 0 -0 1 + outer loop + vertex 9.5 -4 2 + vertex 9.5 -0 2 + vertex 5.644507 -4 2 + endloop +endfacet +facet normal 0 0 1 + outer loop + vertex 5.644507 -4 2 + vertex 9.5 -0 2 + vertex 5.644507 -0 2 + endloop +endfacet +facet normal -0.42261824 0 0.90630776 + outer loop + vertex 5.644507 -4 2 + vertex 5.644507 -0 2 + vertex 3.5 -4 1 + endloop +endfacet +facet normal -0.42261824 0 0.90630776 + outer loop + vertex 3.5 -4 1 + vertex 5.644507 -0 2 + vertex 3.5 -0 1 + endloop +endfacet +facet normal 0 -0 1 + outer loop + vertex 3.5 -4 1 + vertex 3.5 -0 1 + vertex 0 -4 1 + endloop +endfacet +facet normal 0 0 1 + outer loop + vertex 0 -4 1 + vertex 3.5 -0 1 + vertex 0 -0 1 + endloop +endfacet +facet normal -1 0 0 + outer loop + vertex 0 -4 1 + vertex 0 -0 1 + vertex 0 -4 0 + endloop +endfacet +facet normal -1 0 0 + outer loop + vertex 0 -4 0 + vertex 0 -0 1 + vertex 0 -0 0 + endloop +endfacet +facet normal 0 1 -0 + outer loop + vertex 3.342784 -0 0.375 + vertex 2.5385938 -0 0 + vertex 3.5 -0 1 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 3.4311862 -0 -0.625 + vertex 4.323779 -0 -1.25 + vertex 3.0950184 -0 -1 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 3.342784 -0 0.375 + vertex 3.5 -0 1 + vertex 4.146974 -0 0.75 + endloop +endfacet +facet normal 0 0.99999994 0 + outer loop + vertex 4.323779 -0 -1.25 + vertex 5.9513144 -0 -3 + vertex 3.0950184 -0 -1 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 0 -0 -1 + vertex 2.5385938 -0 0 + vertex 3.0950184 -0 -1 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 0 -0 -1 + vertex 0 -0 0 + vertex 2.5385938 -0 0 + endloop +endfacet +facet normal 0 0.99999994 -0 + outer loop + vertex 9.5 -0 -3 + vertex 6.108964 -0 -2.5 + vertex 9.5 -0 -2.5 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 9.5 -0 -3 + vertex 5.9513144 -0 -3 + vertex 6.108964 -0 -2.5 + endloop +endfacet +facet normal 0 1 -0 + outer loop + vertex 5.9513144 -0 -3 + vertex 4.323779 -0 -1.25 + vertex 6.108964 -0 -2.5 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 5.644507 -0 2 + vertex 5.755354 -0 1.5 + vertex 4.146974 -0 0.75 + endloop +endfacet +facet normal 0 0.99999994 -0 + outer loop + vertex 3.0950184 -0 -1 + vertex 2.5385938 -0 0 + vertex 3.4311862 -0 -0.625 + endloop +endfacet +facet normal 0 1 -0 + outer loop + vertex 4.146974 -0 0.75 + vertex 3.5 -0 1 + vertex 5.644507 -0 2 + endloop +endfacet +facet normal 0 1 -0 + outer loop + vertex 9.5 -0 1.5 + vertex 5.755354 -0 1.5 + vertex 9.5 -0 2 + endloop +endfacet +facet normal 0 1 -0 + outer loop + vertex 5.755354 -0 1.5 + vertex 5.644507 -0 2 + vertex 9.5 -0 2 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 2.5385938 -0 0 + vertex 0 -0 0 + vertex 0 -0 1 + endloop +endfacet +facet normal 0 1 0 + outer loop + vertex 3.5 -0 1 + vertex 2.5385938 -0 0 + vertex 0 -0 1 + endloop +endfacet +facet normal -0 -1 0 + outer loop + vertex 3.342784 -4 0.375 + vertex 3.5 -4 1 + vertex 2.5385938 -4 0 + endloop +endfacet +facet normal -0 -1 0 + outer loop + vertex 4.146974 -4 0.75 + vertex 3.5 -4 1 + vertex 3.342784 -4 0.375 + endloop +endfacet +facet normal 0 -1 -0 + outer loop + vertex 3.4311862 -4 -0.625 + vertex 3.0950184 -4 -1 + vertex 4.323779 -4 -1.25 + endloop +endfacet +facet normal 0 -0.99999994 0 + outer loop + vertex 4.146974 -4 0.75 + vertex 5.755354 -4 1.5 + vertex 5.644507 -4 2 + endloop +endfacet +facet normal 0 -1 0 + outer loop + vertex 0 -4 1 + vertex 2.5385938 -4 0 + vertex 3.5 -4 1 + endloop +endfacet +facet normal 0 -1 0 + outer loop + vertex 0 -4 1 + vertex 0 -4 0 + vertex 2.5385938 -4 0 + endloop +endfacet +facet normal 0 -1 0 + outer loop + vertex 5.644507 -4 2 + vertex 5.755354 -4 1.5 + vertex 9.5 -4 2 + endloop +endfacet +facet normal 0 -1 -0 + outer loop + vertex 9.5 -4 2 + vertex 5.755354 -4 1.5 + vertex 9.5 -4 1.5 + endloop +endfacet +facet normal 0 -1 0 + outer loop + vertex 4.146974 -4 0.75 + vertex 5.644507 -4 2 + vertex 3.5 -4 1 + endloop +endfacet +facet normal 0 -0.99999994 0 + outer loop + vertex 2.5385938 -4 0 + vertex 3.0950184 -4 -1 + vertex 3.4311862 -4 -0.625 + endloop +endfacet +facet normal -0 -0.99999994 -0 + outer loop + vertex 4.323779 -4 -1.25 + vertex 3.0950184 -4 -1 + vertex 5.9513144 -4 -3 + endloop +endfacet +facet normal -0 -1 0 + outer loop + vertex 6.108964 -4 -2.5 + vertex 4.323779 -4 -1.25 + vertex 5.9513144 -4 -3 + endloop +endfacet +facet normal -0 -0.99999994 -0 + outer loop + vertex 9.5 -4 -2.5 + vertex 6.108964 -4 -2.5 + vertex 9.5 -4 -3 + endloop +endfacet +facet normal 0 -1 -0 + outer loop + vertex 6.108964 -4 -2.5 + vertex 5.9513144 -4 -3 + vertex 9.5 -4 -3 + endloop +endfacet +facet normal 0 -1 -0 + outer loop + vertex 2.5385938 -4 0 + vertex 0 -4 -1 + vertex 3.0950184 -4 -1 + endloop +endfacet +facet normal 0 -1 0 + outer loop + vertex 0 -4 -1 + vertex 2.5385938 -4 0 + vertex 0 -4 0 + endloop +endfacet +endsolid unnamed diff --git a/e2e/playwright/export-snapshots/stl-binary.stl b/e2e/playwright/export-snapshots/stl-binary.stl new file mode 100644 index 0000000000..3ff0d21671 Binary files /dev/null and b/e2e/playwright/export-snapshots/stl-binary.stl differ diff --git a/e2e/playwright/snapshot-tests.spec.ts b/e2e/playwright/snapshot-tests.spec.ts index 8d46bb8732..49f4ca885a 100644 --- a/e2e/playwright/snapshot-tests.spec.ts +++ b/e2e/playwright/snapshot-tests.spec.ts @@ -233,6 +233,9 @@ const part001 = startSketchOn('-XZ') forward: axisDirectionPair, up: axisDirectionPair, } + // NOTE it was easiest to leverage existing types and have doExport take Models['OutputFormat_type'] as in input + // just note that only `type` and `storage` are used for selecting the drop downs is the app + // the rest are only there to make typescript happy await doExport({ type: 'step', coords: sysType, @@ -252,34 +255,45 @@ const part001 = startSketchOn('-XZ') storage: 'standard', presentation: 'pretty', }) + await doExport({ + type: 'ply', + coords: sysType, + selection: { type: 'default_scene' }, + storage: 'ascii', + units: 'in', + }) + await doExport({ + type: 'ply', + storage: 'binary_little_endian', + coords: sysType, + selection: { type: 'default_scene' }, + units: 'in', + }) + await doExport({ + type: 'ply', + storage: 'binary_big_endian', + coords: sysType, + selection: { type: 'default_scene' }, + units: 'in', + }) + await doExport({ + type: 'stl', + storage: 'ascii', + coords: sysType, + units: 'in', + selection: { type: 'default_scene' }, + }) + await doExport({ + type: 'stl', + storage: 'binary', + coords: sysType, + units: 'in', + selection: { type: 'default_scene' }, + }) await doExport({ // obj seems to be a little flaky, times out tests sometimes type: 'obj', coords: sysType, units: 'in', }) - - // the following exports are failing - // await doExport({ - // type: 'ply', - // storage: 'ascii', - // coords: sysType, - // }) - // await doExport({ - // type: 'ply', - // storage: 'binary' as unknown as 'binary_little_endian', - // coords: sysType, - // }) - // await doExport({ - // type: 'stl', - // storage: 'ascii', - // coords: sysType, - // units: 'in', - // }) - // await doExport({ - // type: 'stl', - // storage: 'binary', - // coords: sysType, - // units: 'in', - // }) }) diff --git a/package.json b/package.json index 74c3dcd9a6..4706c50b7c 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@fortawesome/react-fontawesome": "^0.2.0", "@headlessui/react": "^1.7.17", "@headlessui/tailwindcss": "^0.2.0", - "@kittycad/lib": "^0.0.45", + "@kittycad/lib": "^0.0.46", "@lezer/javascript": "^1.4.7", "@open-rpc/client-js": "^1.8.1", "@react-hook/resize-observer": "^1.2.6", diff --git a/src/components/ExportButton.tsx b/src/components/ExportButton.tsx index 11865ce3df..2cc17e0460 100644 --- a/src/components/ExportButton.tsx +++ b/src/components/ExportButton.tsx @@ -75,7 +75,11 @@ export const ExportButton = ({ children, className }: ExportButtonProps) => { }, } } - if (values.type === 'obj' || values.type === 'stl') { + if ( + values.type === 'obj' || + values.type === 'stl' || + values.type === 'ply' + ) { values.units = baseUnit } if ( @@ -86,6 +90,9 @@ export const ExportButton = ({ children, className }: ExportButtonProps) => { // Set the storage type. values.storage = storage } + if (values.type === 'ply' || values.type === 'stl') { + values.selection = { type: 'default_scene' } + } engineCommandManager.sendSceneCommand({ type: 'modeling_cmd_req', cmd: { @@ -177,13 +184,13 @@ export const ExportButton = ({ children, className }: ExportButtonProps) => { )} - {type === 'ply' && ( + {type === 'stl' && ( <> )} - {type === 'stl' && ( + {type === 'ply' && ( <>