diff --git a/src/App.tsx b/src/App.tsx
index 1c1f90c..eeca72c 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -425,7 +425,7 @@ const ElasticPlacer = () => {
>
{teethLayout.map((row, rowIndex) => (
diff --git a/src/components/Tooth.tsx b/src/components/Tooth.tsx
index 7ddee51..1a05618 100644
--- a/src/components/Tooth.tsx
+++ b/src/components/Tooth.tsx
@@ -11,44 +11,49 @@ type TeethMofidication = {
};
}
-// Molars should be slightly wider than premolars
-// Canines should be slightly pointier
-// Incisors should be slightly smaller
-const teethModifications: TeethMofidication = {
- 18: { className: 'scale-x-110 -translate-y-6', },
- 17: { className: 'scale-x-110 -translate-y-4', },
- 16: { className: 'scale-x-110 -translate-y-3', },
- 15: { className: 'scale-x-110 -translate-y-2', },
- 14: { className: 'scale-x-110 -translate-y-1', },
- 13: { className: '', },
- 12: { className: 'zscale-y-105', },
- 11: { className: 'zscale-y-110', },
- 21: { className: 'zscale-y-110', },
- 22: { className: 'zscale-y-105', },
- 23: { className: '', },
- 24: { className: 'scale-x-110 -translate-y-1', },
- 25: { className: 'scale-x-110 -translate-y-2', },
- 26: { className: 'scale-x-110 -translate-y-3', },
- 27: { className: 'scale-x-110 -translate-y-4', },
- 28: { className: 'scale-x-110 -translate-y-6', },
-
- 48: { className: 'scale-x-110 -translate-y-6', },
- 47: { className: 'scale-x-110 -translate-y-4', },
- 46: { className: 'scale-x-110 -translate-y-3', },
- 45: { className: 'scale-x-110 -translate-y-2', },
- 44: { className: 'scale-x-110 -translate-y-1', },
- 43: { className: '', },
- 42: { className: 'zscale-y-105', },
- 41: { className: 'zscale-y-110', },
- 31: { className: 'zscale-y-110', },
- 32: { className: 'zscale-y-105', },
- 33: { className: '', },
- 34: { className: 'scale-x-110 -translate-y-1', },
- 35: { className: 'scale-x-110 -translate-y-2', },
- 36: { className: 'scale-x-110 -translate-y-3', },
- 37: { className: 'scale-x-110 -translate-y-4', },
- 38: { className: 'scale-x-110 -translate-y-6', },
-}
+const teethModifications: Record = {
+ // ------------------ TOP ROW ------------------
+ // Quadrant 1 (18 -> 11) - Right side (patient's perspective)
+ 18: { className: 'scale-x-110 -rotate-90 translate-y-0' },
+ 17: { className: 'scale-x-110 -rotate-[80deg] -translate-y-4' },
+ 16: { className: 'scale-x-110 -rotate-[70deg] -translate-y-8' },
+ 15: { className: 'scale-x-105 -rotate-[60deg] -translate-y-12' },
+ 14: { className: 'scale-x-105 -rotate-[50deg] -translate-y-16' },
+ 13: { className: 'scale-x-95 -rotate-2 -translate-y-20' }, // pointier canine
+ 12: { className: 'scale-x-90 -rotate-1 -translate-y-24' }, // smaller incisor
+ 11: { className: 'scale-x-90 rotate-0 -translate-y-28' }, // top center, highest
+
+ // Quadrant 2 (21 -> 28) - Left side (patient's perspective)
+ 21: { className: 'scale-x-90 rotate-0 -translate-y-28' },
+ 22: { className: 'scale-x-90 rotate-1 -translate-y-24' },
+ 23: { className: 'scale-x-95 rotate-2 -translate-y-20' },
+ 24: { className: 'scale-x-105 rotate-[50deg] -translate-y-16' },
+ 25: { className: 'scale-x-105 rotate-[60deg] -translate-y-12' },
+ 26: { className: 'scale-x-110 rotate-[70deg] -translate-y-8' },
+ 27: { className: 'scale-x-110 rotate-[80deg] -translate-y-4' },
+ 28: { className: 'scale-x-110 rotate-90 translate-y-0' },
+
+ // ------------------ BOTTOM ROW ------------------
+ // Quadrant 4 (48 -> 41) - Lower right
+ 48: { className: 'scale-x-110 rotate-90 translate-y-0' },
+ 47: { className: 'scale-x-110 rotate-[80deg] translate-y-4' },
+ 46: { className: 'scale-x-110 rotate-[70deg] translate-y-8' },
+ 45: { className: 'scale-x-105 rotate-[60deg] translate-y-12' },
+ 44: { className: 'scale-x-105 rotate-[50deg] translate-y-16' },
+ 43: { className: 'scale-x-95 rotate-2 translate-y-20' },
+ 42: { className: 'scale-x-90 rotate-1 translate-y-24' },
+ 41: { className: 'scale-x-90 rotate-0 translate-y-28' }, // bottom center, lowest
+
+ // Quadrant 3 (31 -> 38) - Lower left
+ 31: { className: 'scale-x-90 -rotate-0 translate-y-28' },
+ 32: { className: 'scale-x-90 -rotate-1 translate-y-24' },
+ 33: { className: 'scale-x-95 -rotate-2 translate-y-20' },
+ 34: { className: 'scale-x-105 -rotate-[50deg] translate-y-16' },
+ 35: { className: 'scale-x-105 -rotate-[60deg] translate-y-12' },
+ 36: { className: 'scale-x-110 -rotate-[70deg] translate-y-8' },
+ 37: { className: 'scale-x-110 -rotate-[80deg] translate-y-4' },
+ 38: { className: 'scale-x-110 -rotate-90 translate-y-0' },
+};
type ToothMemo = {
number: number;