Skip to content

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Jun 13:11

Flux Hourglass 1.6.0

A premium release introducing a beautiful, progressive Campfire-to-Embers (불멍) motion alongside critical build environment stability upgrades. The fire simulation transitions dynamically from roaring bonfire flames to crackling embers and breathing glowing charcoal.

Highlights

  • Campfire-to-Embers Mode (FIRE). Tap "FIRE" on the setup screen to toggle this premium bonfire simulation:
    • Dynamic Progressive States: The fire starts with high intensity, roaring yellow/orange/white flames. As time runs out, the flames gradually die down.
    • Campfire Logs: The background features beautifully rendered crossed firewood logs at the bottom center of the screen.
    • Breathing Charcoal Glow: In the final phase (progress > 80%), the logs transition to a burning coal state, breathing with an organic pulsing red-orange glow using double sine/cosine waves.
    • Crackling Ember Sparks: Tiny, high-velocity golden spark particles crackle and float upwards from the coal bed during the embers phase, drifting sideways under device tilt.
    • Interactive Tilt Physics: The fire flames and floating sparks react dynamically to the device accelerometer, leaning realistically when the phone is tilted.
  • Gradle 9.5.1 Upgrade. Upgraded the project build system and Gradle wrapper to version 9.5.1 to resolve script compilation regressions on Windows environments.

Implementation Notes

  • Inside MainActivity.kt, the progressive state uses rememberUpdatedState(progress) inside the continuous LaunchedEffect simulation loop to correctly track real-time progression without resetting particle states.
  • The logs are rendered using Compose Canvas drawLine with a thick stroke and StrokeCap.Round. The glowing charcoal core is drawn as pulsing inner stroke layers:
    $$\text{glowColor} = \text{Color}(0xFFFF3D00).copy(\text{alpha} = \text{emberGlowAlpha} \cdot (0.85f + \sin(\text{tick} \cdot 0.05f) \cdot 0.15f))$$
  • Particle system caps max particles and adjusts spawn rates to decline linearly as the timer progress increases, transitioning flame spawning off at 80% progress and replacing them with a low-density spark emitter.