Interface HighlightFactory

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface HighlightFactory
Turns a style and a caption into a concrete DrawCommand.Highlight.

The seam that lets one HighlightBuilder serve all four named highlights: what is being marked — an entity reference, a tile, a block of tiles — is captured when the builder is created, and the presentation is applied when it is submitted.

It takes no DrawSpace, unlike DrawCommandFactory, and that absence is the point: a highlight's space is not a caller choice. The producer forces world before it validates anything, so there is nothing for a builder to decide and no way for one to offer the decision.