feat: masks, properties refactor, shaders, storage migrations, and more

This commit is contained in:
Maze Winther
2026-03-29 15:48:22 +02:00
parent 39ea298a9c
commit 8db3bead13
690 changed files with 35618 additions and 7337 deletions
+24
View File
@@ -0,0 +1,24 @@
type CancelFn = () => void;
const cancellers = new Set<CancelFn>();
export function registerCanceller({ fn }: { fn: CancelFn }): () => void {
cancellers.add(fn);
return () => {
cancellers.delete(fn);
};
}
export function cancelInteraction(): boolean {
if (cancellers.size === 0) return false;
const activeCancellers = Array.from(cancellers);
cancellers.clear();
for (const cancel of activeCancellers) {
cancel();
}
return true;
}