mirror of
https://github.com/Azornes/Comfyui-LayerForge.git
synced 2026-03-25 06:22:14 -03:00
Fix layer selection bug by sorting hit-test by z-index
This commit is contained in:
@@ -323,6 +323,8 @@ export class CanvasLayers {
|
|||||||
this.canvas.requestSaveState();
|
this.canvas.requestSaveState();
|
||||||
}
|
}
|
||||||
getLayerAtPosition(worldX, worldY) {
|
getLayerAtPosition(worldX, worldY) {
|
||||||
|
// Always sort by zIndex so topmost is checked first
|
||||||
|
this.canvas.layers.sort((a, b) => a.zIndex - b.zIndex);
|
||||||
for (let i = this.canvas.layers.length - 1; i >= 0; i--) {
|
for (let i = this.canvas.layers.length - 1; i >= 0; i--) {
|
||||||
const layer = this.canvas.layers[i];
|
const layer = this.canvas.layers[i];
|
||||||
// Skip invisible layers
|
// Skip invisible layers
|
||||||
|
|||||||
@@ -370,6 +370,9 @@ export class CanvasLayers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getLayerAtPosition(worldX: number, worldY: number): { layer: Layer, localX: number, localY: number } | null {
|
getLayerAtPosition(worldX: number, worldY: number): { layer: Layer, localX: number, localY: number } | null {
|
||||||
|
// Always sort by zIndex so topmost is checked first
|
||||||
|
this.canvas.layers.sort((a, b) => a.zIndex - b.zIndex);
|
||||||
|
|
||||||
for (let i = this.canvas.layers.length - 1; i >= 0; i--) {
|
for (let i = this.canvas.layers.length - 1; i >= 0; i--) {
|
||||||
const layer = this.canvas.layers[i];
|
const layer = this.canvas.layers[i];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user