fix(scoreboard): the strip and the social bar now really share the frame
Reported: the ticker was painting OVER the socials. The coupling rule existed and was tested (ScoreboardLayout.ResolveEdges) but nothing ever CALLED it — the strip's Y still came from its own preference, so both bars landed on the south edge. Now the resolution runs at publish time: the social bar keeps its side, the scoreboard takes the other one, and its Y follows from that edge. The pair re-sorts whenever the social bar moves (the preview click-toggle) or shows/hides, because the rule is "resolve from what is visible", not a stored pairing. The layer also gains an Edge preference (Top/Bottom) in its properties, labelled "socials take the other" — a preference, never a claim on an occupied edge. Also stabilised the opacity assertion: it samples a plate-only pixel 5px from the left edge instead of the first semi-transparent pixel it finds (which could be anti-aliased text).
This commit is contained in:
@@ -43,7 +43,6 @@ public class ScoreboardSimulationTests
|
||||
Assert.NotNull(type.GetProperty("ScoreboardSimulate"));
|
||||
Assert.NotNull(type.GetProperty("IsDevelopmentBuild"));
|
||||
// DEBUG-gated at compile time, so a Release build has no dev control at all.
|
||||
var vmSource = SourceAssert.Text("ViewModels", "MainViewModel.Scoreboard.cs");
|
||||
Assert.Contains("#if DEBUG", vmSource);
|
||||
Assert.Contains("private const bool DevelopmentBuild = true;", vmSource);
|
||||
Assert.Contains("private const bool DevelopmentBuild = false;", vmSource);
|
||||
|
||||
Reference in New Issue
Block a user