001package gudusoft.gsqlparser.pp2;
002
003/**
004 * Identifies which strategy produced a given output region.
005 *
006 * <p>Created here in S3 (not S16) because {@link Pp2FormatResult.Region} carries
007 * one; S16 simply populates the dispatch values.
008 *
009 * <ul>
010 *   <li>{@link #GUARDED_AST} — wrapped {@code FormatterFactory.pp()} via
011 *       {@code GuardedAstDelegate} (S13). The default for parseable regions
012 *       that pass the {@code TokenEquivalence} guard.</li>
013 *   <li>{@link #CONSERVATIVE} — {@code ConservativeTokenRenderer} (S14):
014 *       single-space token passthrough; the Phase-2 MVP fallback.</li>
015 *   <li>{@link #LEXICAL_ISLAND} — {@code LexicalIslandRenderer} (S31): full
016 *       lexical island pipeline.</li>
017 *   <li>{@link #AST_OVERLAY} — {@code AstOverlayRenderer} (v3, not in v2). The
018 *       enum value exists so v3 can light it up without an API change.</li>
019 * </ul>
020 */
021public enum RendererId {
022    GUARDED_AST,
023    CONSERVATIVE,
024    LEXICAL_ISLAND,
025    AST_OVERLAY
026}