Skip to content

feat(juice): particle system, screen shake, hit flash, squash & stretch, bloom hooks - #7

Merged
precisit-brain-builder[bot] merged 1 commit into
mainfrom
mira/b1-juice
Aug 23, 2026
Merged

precisit-brain-builder[bot] merged 1 commit into
mainfrom
mira/b1-juice

Conversation

@precisit-brain-builder

Copy link
Copy Markdown
Contributor

B1 — Juice & effekter (arkadkänsla)

  • src/effects/Particles.ts — objektpoolat partikelsystem (position, velocity, gravity, drag, life, size, color, glow, additiv flagga), burst()/emit(), rendering via SpriteBatch (additiv för glow); recept: fragment-pickup, enemy-death, player-death, jump puffs, landing dust, muzzle flash, explosion
  • src/effects/ScreenShake.ts — trauma-baserad skakning med dämpning, kopplad till renderer-kamera-offset
  • src/effects/HitFlash.ts — vit flash vid skada (sprite-nivå) + kort skärmflash
  • src/effects/SquashStretch.ts — återanvändbar spring-back-komponent (hopp/landning)
  • src/effects/BloomPulse.ts — energi-envelope → bloom-intensitet via renderer.setBloomOptions() (återställs exakt)
  • src/effects/JuiceSystem.ts — en fasad med event-recept (fragmentPickup/enemyDeath/playerDeath/jump/land/shoot/explosion/hurt/bossWarning) som spelaren/fiender konsumerar
  • Demo: studsande test-droid (SPACE=hopp, J=skjut, K=explosion, ←/→=shake), HUD-telemetri (P alive/cap · shake % · bloom x.xx)

Avvikelser: effects ligger i src/effects/ (dedikerad katalog håller B-vågen sammanhållen); pool-assertion strukturell (stabila identiteter + cap) eftersom GC-timing inte är tillförlitlig i Vitest; vertikal shake rör gameplay-sprites (parallax saknar Y-hook).

Verifierat: typecheck 0 fel, 187/187 tester (44 nya), build + lint clean.

@precisit-brain-builder
precisit-brain-builder Bot merged commit 916ca48 into main Aug 23, 2026
2 checks passed
@magnuslundstedt
magnuslundstedt deleted the mira/b1-juice branch October 19, 2026 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants