Release Fenris 0.5.0 with Chalktone dashboard and dotted activity plots

This commit is contained in:
xavierk
2026-09-19 11:13:37 +05:30
parent 8bac26836a
commit e49aac8569
23 changed files with 1083 additions and 623 deletions
+9 -9
View File
@@ -2,7 +2,7 @@
Covers:
- Three valid presets: Amber, Nord, High Contrast
- Amber is the default with amber graph role
- Chalktone is the default; Amber retains its amber graph role
- Theme roles for graph rendering (allocated, unallocated, gap, zero, partial)
- Status semantic colours/glyphs/text always win over theme
- Global action reachability and focus contrast in every preset
@@ -29,13 +29,13 @@ from fenris.themes import (
class TestThemeRegistry:
"""All three presets are registered with correct names."""
def test_three_themes_registered(self):
"""Exactly three themes exist."""
assert len(THEMES) == 3
def test_four_themes_registered(self):
"""All four presets are registered."""
assert len(THEMES) == 4
def test_theme_names(self):
"""Theme names are amber, nord, high_contrast."""
assert THEME_NAMES == {"amber", "nord", "high_contrast"}
assert THEME_NAMES == {"chalktone", "amber", "nord", "high_contrast"}
def test_get_theme_valid(self):
"""get_theme returns a Theme for each valid name."""
@@ -44,14 +44,14 @@ class TestThemeRegistry:
theme = get_theme(name)
assert isinstance(theme, Theme)
def test_get_theme_invalid_returns_amber(self):
def test_get_theme_invalid_returns_chalktone(self):
"""Unknown theme name returns the amber theme."""
theme = get_theme("nonexistent")
assert theme.name == "fenris-amber"
assert theme.name == "fenris-chalktone"
# ---------------------------------------------------------------------------
# Amber theme tests (default, amber graph role)
# Amber theme tests (amber graph role)
# ---------------------------------------------------------------------------
class TestAmberTheme:
@@ -179,7 +179,7 @@ class TestGraphColorRoles:
assert amber["allocated"] != nord["allocated"] or amber["allocated"] != hc["allocated"]
def test_zero_role_is_dim(self):
"""Zero-usage bars use a dim/subtle colour in all themes."""
"""Zero-usage markers use a dim/subtle colour in all themes."""
for name in THEME_NAMES:
colors = get_graph_colors(name)
# Zero should be distinct from allocated