@@ -33,7 +40,7 @@
width: `${layer.sprites[i].width}px`,
height: `${layer.sprites[i].height}px`,
opacity: '0.3',
- imageRendering: settingsStore.pixelPerfect ? 'pixelated' : 'auto'
+ imageRendering: settingsStore.pixelPerfect ? 'pixelated' : 'auto',
}"
draggable="false"
/>
@@ -54,7 +61,7 @@
top: `${cellDimensions.negativeSpacing + layer.sprites[currentFrameIndex].y}px`,
width: `${layer.sprites[currentFrameIndex].width}px`,
height: `${layer.sprites[currentFrameIndex].height}px`,
- imageRendering: settingsStore.pixelPerfect ? 'pixelated' : 'auto'
+ imageRendering: settingsStore.pixelPerfect ? 'pixelated' : 'auto',
}"
@mousedown="startDrag($event, layer.sprites[currentFrameIndex], layer.id)"
@touchstart="handleTouchStart($event, layer.sprites[currentFrameIndex], layer.id)"
@@ -305,7 +312,7 @@
// Helper for background image (dark mode friendly)
const getPreviewBackgroundImage = () => {
- if (settingsStore.backgroundColor === 'transparent') {
+ if (settingsStore.backgroundColor === 'transparent' && settingsStore.checkerboardEnabled) {
const color = settingsStore.darkMode ? '#4b5563' : '#d1d5db';
return `linear-gradient(45deg, ${color} 25%, transparent 25%), linear-gradient(-45deg, ${color} 25%, transparent 25%), linear-gradient(45deg, transparent 75%, ${color} 75%), linear-gradient(-45deg, transparent 75%, ${color} 75%)`;
}
@@ -456,8 +463,15 @@
// Watchers - most canvas-related watchers removed
// Keep layer watchers to ensure reactivity
- watch(() => props.layers, () => {}, { deep: true });
- watch(() => props.activeLayerId, () => {});
+ watch(
+ () => props.layers,
+ () => {},
+ { deep: true }
+ );
+ watch(
+ () => props.activeLayerId,
+ () => {}
+ );
watch(currentFrameIndex, () => {});
diff --git a/src/stores/useSettingsStore.ts b/src/stores/useSettingsStore.ts
index a4c4508..e02e81e 100644
--- a/src/stores/useSettingsStore.ts
+++ b/src/stores/useSettingsStore.ts
@@ -8,6 +8,7 @@ const backgroundColor = ref('transparent');
const manualCellSizeEnabled = ref(false);
const manualCellWidth = ref(64);
const manualCellHeight = ref(64);
+const checkerboardEnabled = ref(true);
// Initialize dark mode from localStorage or system preference
if (typeof window !== 'undefined') {
@@ -81,6 +82,10 @@ export const useSettingsStore = defineStore('settings', () => {
setManualCellHeight(height);
}
+ function toggleCheckerboard() {
+ checkerboardEnabled.value = !checkerboardEnabled.value;
+ }
+
return {
pixelPerfect,
darkMode,
@@ -89,6 +94,7 @@ export const useSettingsStore = defineStore('settings', () => {
manualCellSizeEnabled,
manualCellWidth,
manualCellHeight,
+ checkerboardEnabled,
togglePixelPerfect,
setPixelPerfect,
toggleDarkMode,
@@ -99,5 +105,6 @@ export const useSettingsStore = defineStore('settings', () => {
setManualCellWidth,
setManualCellHeight,
setManualCellSize,
+ toggleCheckerboard,
};
});