feat(effects): extinguish fire with water/rain and ambient SFX volume

Water and rain erase fire under a tight brush hit radius; add looping fire/rain ambients and an Effects sound slider that also scales one-shot effect SFX.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-07-23 13:12:41 +08:00
parent a797162f16
commit 2c0e6fbf09
16 changed files with 370 additions and 16 deletions
+12 -1
View File
@@ -172,4 +172,15 @@ export type EffectsEvent =
| { kind: 'instances.clear' }
| { kind: 'instance.add'; instance: EffectInstance }
| { kind: 'instance.remove'; id: string }
| { kind: 'field.erase'; points: NPoint[]; radiusN: number };
| {
kind: 'field.erase';
points: NPoint[];
radiusN: number;
/** Если задано — стираются только эти типы полевых эффектов. */
types?: readonly ('fog' | 'fire' | 'rain' | 'water')[];
/**
* `inclusive` (по умолчанию) — ластик: radius кисти + radius эффекта.
* `brush` — гашение огня водой/дождём: только radius кисти.
*/
hitMode?: 'inclusive' | 'brush';
};