Files
2025-11-25 07:08:31 +00:00

61 lines
3.7 KiB
Python

"""
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"]),
]