Files
2025-11-25 13:28:32 +00:00

61 lines
4.6 KiB
Python

"""
Distance modifiers for subject proximity and spatial relationships
20 modifiers covering proximity ranges, contextual distances, and vertical positions
"""
from typing import List
from core.modifiers import DistanceModifier
def get_distance_modifiers() -> List[DistanceModifier]:
"""Return the list of 20 distance modifiers"""
return [
# PROXIMITY RANGES (1-5) - Extreme Close to Personal
DistanceModifier(1, "extreme macro proximity, millimeters away, texture detail dominant, abstract patterns visible",
["macro", "extreme-close", "texture", "detail", "abstract"]),
DistanceModifier(2, "intimate close distance, centimeters away, personal space, detail emphasis, direct engagement",
["intimate", "close", "personal-space", "detail", "direct"]),
DistanceModifier(3, "personal distance, within arm's reach, direct interaction range, immediate connection",
["personal", "arm-reach", "interaction", "immediate"]),
DistanceModifier(4, "social distance, conversational range, subject with immediate context visible",
["social", "conversational", "immediate-context"]),
DistanceModifier(5, "casual proximity, comfortable viewing distance, subject with near environment shown",
["casual", "comfortable", "near-environment", "viewing"]),
# MID-RANGE DISTANCES (6-10) - Subject Contextual
DistanceModifier(6, "portrait distance, classic framing, subject dominant, minimal background, focused presence",
["portrait", "classic", "subject-dominant", "focused"]),
DistanceModifier(7, "environmental portrait distance, subject with meaningful surroundings, contextual storytelling",
["environmental", "portrait", "surroundings", "storytelling"]),
DistanceModifier(8, "contextual medium distance, balanced composition, subject and environment equal weight",
["contextual", "medium", "balanced", "equal-weight"]),
DistanceModifier(9, "scene participant distance, subject as part of larger scene, integrated composition",
["scene-participant", "integrated", "larger-scene"]),
DistanceModifier(10, "wide contextual distance, subject in full environmental context, spatial relationships clear",
["wide", "contextual", "environmental", "spatial"]),
# LONG DISTANCES (11-15) - Environmental Emphasis
DistanceModifier(11, "distant subject perspective, subject small but identifiable, environment dominates composition",
["distant", "small-subject", "environment-dominant"]),
DistanceModifier(12, "environmental scale distance, vast space emphasized, subject shows scale relationship",
["environmental-scale", "vast", "scale-relationship"]),
DistanceModifier(13, "landscape integration distance, subject integrated into landscape, harmonious placement",
["landscape", "integration", "harmonious", "placement"]),
DistanceModifier(14, "atmospheric distance perspective, distance creates depth, layered composition, aerial perspective",
["atmospheric", "depth", "layered", "aerial-perspective"]),
DistanceModifier(15, "remote perspective, extreme distance, subject tiny, grand scope, epic scale",
["remote", "extreme-distance", "tiny-subject", "grand-scope", "epic"]),
# VERTICAL POSITION VARIATIONS (16-20) - Height/Elevation Based
DistanceModifier(16, "ground level proximity, camera at ground height, low intimate perspective, immersive viewpoint",
["ground-level", "low", "intimate", "immersive"]),
DistanceModifier(17, "waist-height engagement, mid-level perspective, natural interaction height, human-scale viewpoint",
["waist-height", "mid-level", "natural", "human-scale"]),
DistanceModifier(18, "elevated overview position, raised perspective, looking down, contextual spatial view",
["elevated", "overview", "raised", "looking-down"]),
DistanceModifier(19, "high aerial perspective, significantly elevated viewpoint, bird's eye context, geographic layout",
["aerial", "high", "birds-eye", "geographic"]),
DistanceModifier(20, "extreme altitude perspective, drone height, vast geographic scope, subject in landscape context",
["extreme-altitude", "drone", "vast-scope", "geographic-context"]),
]