Give the editor a visual identity and a real levels control

The panel now uses the same colours the page is drawn with, on dark
chrome so the scan is the brightest thing on screen. Levels move from two
anonymous sliders to the scan's own histogram with draggable black and
white points and a tone strip, since getting them wrong is the one
mistake that only shows up on the tablet. A page rail replaces the
stepper and carries each page's slice count; export is pinned below the
scroll instead of below the fold; marker types read as prose.
This commit is contained in:
Esa Kataja
2026-07-29 15:39:24 +03:00
parent cdf37302d7
commit 68e41c2470
6 changed files with 493 additions and 100 deletions
+5 -1
View File
@@ -113,7 +113,11 @@ class Marker:
return self.type in JUMP_TYPES
def describe(self) -> str:
text = self.type
"""For the marker list and the badge drawn on the page — never the wire.
A musician reads "D.S. al coda" off the score, not `ds_al_coda`.
"""
text = self.type.replace("_", " ").capitalize()
if self.label:
text += f"{self.label}"
if self.destination: