""" Composition modifiers for framing and compositional techniques 20 modifiers covering classical rules, dynamic compositions, negative space, and advanced techniques """ from typing import List from core.modifiers import CompositionModifier def get_composition_modifiers() -> List[CompositionModifier]: """Return the list of 20 composition modifiers""" return [ # CLASSICAL RULES (1-5) CompositionModifier(1, "rule of thirds, balanced placement, classic composition", ["rule-of-thirds", "balanced", "classic"]), CompositionModifier(2, "golden ratio, Fibonacci spiral, mathematical beauty", ["golden-ratio", "fibonacci", "mathematical"]), CompositionModifier(3, "symmetrical composition, mirror balance, formal structure", ["symmetrical", "mirror", "formal"]), CompositionModifier(4, "centered composition, bull's eye framing, direct focus", ["centered", "bulls-eye", "direct"]), CompositionModifier(5, "frame within frame, layered composition, depth structure", ["frame-within-frame", "layered", "depth"]), # DYNAMIC COMPOSITIONS (6-10) CompositionModifier(6, "diagonal lines, dynamic energy, movement implied", ["diagonal", "dynamic", "movement"]), CompositionModifier(7, "leading lines, eye guidance, directional flow", ["leading-lines", "guidance", "flow"]), CompositionModifier(8, "vanishing point, perspective depth, convergence", ["vanishing-point", "perspective", "convergence"]), CompositionModifier(9, "S-curve composition, flowing grace, elegant path", ["s-curve", "flowing", "elegant"]), CompositionModifier(10, "triangle composition, stable base, pyramidal structure", ["triangle", "stable", "pyramidal"]), # NEGATIVE SPACE (11-15) CompositionModifier(11, "minimalist negative space, breathing room, isolated subject", ["negative-space", "minimalist", "isolated"]), CompositionModifier(12, "dramatic sky space, overhead emptiness, floating subject", ["sky-space", "overhead", "floating"]), CompositionModifier(13, "foreground negative space, leading room, directional void", ["foreground-space", "leading-room", "directional"]), CompositionModifier(14, "surrounding emptiness, 360 space, complete isolation", ["surrounding", "emptiness", "isolation"]), CompositionModifier(15, "balanced negative/positive, yin-yang space, equilibrium", ["balanced", "yin-yang", "equilibrium"]), # ADVANCED TECHNIQUES (16-20) CompositionModifier(16, "layered depth, multiple planes, spatial complexity", ["layered", "depth", "planes", "complexity"]), CompositionModifier(17, "pattern disruption, break in rhythm, visual surprise", ["pattern", "disruption", "surprise"]), CompositionModifier(18, "juxtaposition, contrasting elements, tension creation", ["juxtaposition", "contrast", "tension"]), CompositionModifier(19, "repeating elements, rhythmic pattern, visual echo", ["repeating", "rhythmic", "echo"]), CompositionModifier(20, "breaking the rules, intentional violation, artistic rebellion", ["breaking-rules", "intentional", "rebellion"]), ]