Add an injectable ChannelLogoGenerator constructor for explicit overlay/font paths while preserving the existing DI constructor and runtime default paths.
Add property-style logo tests that render with copied test assets and assert valid PNG format plus requested dimensions.
Cover a long channel name case without byte-exact or pixel-golden assertions.
Verification
LSP diagnostics on changed C# files: no diagnostics.
TDD red: focused test failed with CS1729 before the injectable constructor existed.
## Summary
- Add an injectable `ChannelLogoGenerator` constructor for explicit overlay/font paths while preserving the existing DI constructor and runtime default paths.
- Add property-style logo tests that render with copied test assets and assert valid PNG format plus requested dimensions.
- Cover a long channel name case without byte-exact or pixel-golden assertions.
## Verification
- LSP diagnostics on changed C# files: no diagnostics.
- TDD red: focused test failed with `CS1729` before the injectable constructor existed.
- `/usr/bin/env TZ=UTC dotnet test ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj --filter FullyQualifiedName~ChannelLogoGeneratorTests -v minimal` passed 3/3.
- `dotnet build ErsatzTV.sln` passed with 0 errors and known `Scriban.Signed` NU1903 warnings.
- `/usr/bin/env TZ=UTC dotnet test ErsatzTV.sln -v normal` passed; visible summary reported 263/263 passed, with the same NU1903 warnings.
- Adversarial review: no blocking correctness issues; addressed staging/line-ending hygiene before commit.
Refs #39
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
ChannelLogoGeneratorconstructor for explicit overlay/font paths while preserving the existing DI constructor and runtime default paths.Verification
CS1729before the injectable constructor existed./usr/bin/env TZ=UTC dotnet test ErsatzTV.Core.Tests/ErsatzTV.Core.Tests.csproj --filter FullyQualifiedName~ChannelLogoGeneratorTests -v minimalpassed 3/3.dotnet build ErsatzTV.slnpassed with 0 errors and knownScriban.SignedNU1903 warnings./usr/bin/env TZ=UTC dotnet test ErsatzTV.sln -v normalpassed; visible summary reported 263/263 passed, with the same NU1903 warnings.Refs #39