Skip to content

v0.6.0

Pre-release
Pre-release

Choose a tag to compare

@kungfusheep kungfusheep released this 30 Apr 12:23
· 252 commits to master since this release

Full Changelog: v0.5.0...v0.6.0

Breaking

  • Component builders now take Component children instead of any. View helper functions should return Component.
  • Define, ForEach, List.Render, and similar callbacks now expect Component return values.
  • Child slices passed to containers should be []Component, not []any.

New

  • In(...).Out(...) allows you to set up In/Out animations by coupling to the condition its rendered inside, all declaratively. 👈❗
  • Opacity compositing for text, containers, and overlays. 👈 ❗
  • OpacityMode(...) controls rune handoff during fades. Current support is either smooth or dither.
  • SESpinGlow adds Rim, Opacity, OpacityMode, and PaletteRef.
  • Layer.Invalidate() marks layer content dirty for the next display pass.

Correctness

  • Conditional branches with exit tweens are retained until their Out animations complete.
  • If, Switch, Match, ForEach, overlays, and screen effects now share the same exit-lease path.
  • Per-item tween state is tracked by item identity, so list rows animate independently.
  • Layer refresh now invalidates content for the next display pass instead of mutating render-owned template state.
  • SESpinGlow phase advances from frame delta, so repeated effect activation no longer compounds speed.
  • SpinGlow rim sides paint through background cells where possible, matching top and bottom rim brightness.
  • Demo code updated for the new component interface and effect APIs.
  • Screen-effect opacity follows target node opacity.

Fixes

  • FilterList string rows compile against the new component interface.
  • FilterList renders plain string rows through the default renderer.
  • View activation routing uses the active view for handler dispatch (problem only if a Form was being used in a secondary View)
  • Layer refresh now invalidates content for the next display pass instead of mutating render-owned template state.
  • ScrollView refresh no longer risks clearing its cached child template during rendering.

Opacity demo:

glyph-demo-3-r.mp4

Effect animations

glph-demo-2.mp4