+
+
4-Corner Perspective
+ {enabled ? "Enabled" : "Optional"}
+
+
+ Warp the design onto angled signs, frames, screens or packaging. When enabled, drag the four teal corners directly in the editor.
+
+
+
+
+
+ {enabled ? (
+
+ Perspective uses the four corners as the complete design surface. Move/scale/rotate controls are ignored until perspective is disabled.
+
+ ) : null}
+
+ );
+}
diff --git a/src/components/SettingsPanel.tsx b/src/components/SettingsPanel.tsx
index eca6663..e946498 100644
--- a/src/components/SettingsPanel.tsx
+++ b/src/components/SettingsPanel.tsx
@@ -1,6 +1,7 @@
import type { DocumentSize, MockupSettings, SavedPreset } from "../types";
import type { SmartObjectBounds, SmartObjectCandidate } from "../lib/psdSmartObjectDetection";
import { shirtPlacementDefaults } from "../lib/config/defaults";
+import { PerspectiveControls } from "./PerspectiveControls";
interface SettingsPanelProps {
settings: MockupSettings;
@@ -149,35 +150,43 @@ export function SettingsPanel({
+
Design Transform
- Editable
+ {settings.perspective?.enabled && isImageMode ? "Paused by perspective" : "Editable"}
-
- patch({ left })} />
- patch({ top })} />
-
- patch({ rotation })} />
- patch({ opacity })} />
-
+ {settings.perspective?.enabled && isImageMode ? (
+ Disable 4-Corner Perspective to use move, scale, rotation and fit controls again.
+ ) : (
+ <>
+
+ patch({ left })} />
+ patch({ top })} />
+
+ patch({ rotation })} />
+ patch({ opacity })} />
+
-
-
Fit Mode
-
- {fitModes.map((mode) => (
-
- ))}
-
-
+
+
Fit Mode
+
+ {fitModes.map((fitMode) => (
+
+ ))}
+
+
+ >
+ )}