소스 정보
- 저장소
- SimHacker/moollm
- 최근 소스 활동
- 2026년 8월 25일 01:44
- 감지된 SKILL.md 언어
- 영어
- 스타
- 60
- 포크
- 5
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
파일 탐색기
30 개 파일SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- visualizer
- description
- I see what you describe. Let me show it to others.
- license
- MIT
- tier
- 1
- allowed-tools
- ["read_file","write_file"]
- related
- ["character","mind-mirror","card","room","image-mining","yaml-jazz","hero-story"]
- tags
- ["moollm","images","generation","art","semantic"]
# Visualizer
> *"I see what you describe. Let me show it to others."*
>
> *"Every image is a semantic snapshot. The metadata IS the meaning."*
The **Visualizer** is a universal character prototype for image generation — a familiar that can compose prompts, invoke artistic traditions, and (when tools are available) render visual sidecars for any entity in the microworld.
---
## Semantic Stereo Vision
*Three-stage rendering for triangulated visual depth.*
### The Problem
A single prompt — whether YAML or prose — gives the image generator only one "eye" to see with. The result is flat. Precise but soulless, or evocative but vague.
### The Solution: Two Eyes, One Image
Like binocular vision creates depth perception through parallax, **Semantic Stereo Vision** uses two complementary inputs that the renderer triangulates:
```
┌─────────────────────┐ ┌─────────────────────┐
│ LEFT EYE │ │ RIGHT EYE │
│ PHOTO.yml │ │ PHOTO.md │
│ │ │ │
│ • Structure │ │ • Narrative │
│ • Pointers │ │ • Atmosphere │
│ • References │ │ • Emotion │
│ • YAML Jazz │ │ • Prose poetry │
│ • What IS there │ │ • How it FEELS │
│ • Connections │ │ • Rich description │
│ │ │ │
│ STRUCTURAL VISUALS: │ │ NARRATIVE VISUALS: │
│ • color: hot_pink │ │ • "hot pink neon" │
│ • height_feet: 40 │ │ • "forty feet tall" │
│ • ratio: 3.3 │ │ • "absurd proportions" │
└──────────┬──────────┘ └──────────┬──────────┘
│ │
└───────────┬───────────────┘
▼
┌────────────────┐
│ TRIANGULATION │
│ (Renderer) │
│ │
│ Precision + │
│ Poetry = │
│ DEPTH │
└───────┬────────┘
▼
┌────────────────┐
│ IMAGE │
│ (with soul) │
└────────────────┘
```
### Stage 1: PHOTO.yml (Left Eye — Structure)
The YAML file is a **skeleton** — it points, it references, it connects:
```yaml
# PHOTO.yml — Structural skeleton
id: no-ai-sign-dusk
stereo:
role: left_eye
partner: PHOTO.md
subject:
primary: sign
sign:
ref: ../../no-ai-tower/sign.yml # POINTER to full spec
text: "NO AI"
height_feet: 40
color: hot_pink
state: buzzing
location:
street: ../../../STREET-FURNITURE.yml
building: ../../no-ai-tower/ROOM.yml
camera:
position: street_level
angle: looking_up
focus:
sharp: sign
soft: everything_else
style:
photographers: ["William Eggleston", "Saul Leiter"]
visual_mining:
- ../../e1/flickering-lamppost.yml # Atmosphere
- ../../../../skills/no-ai-overlord/archetypes/hal-9000.yml # Vibe
```
**Key qualities:**
- Explicit references to other files (semantic web)
- YAML Jazz comments carry meaning
- Precise measurements and specifications
- Camera instructions (angle, focus, framing)
- Style tradition pointers
- **Structural visual description**: colors as named values (`hot_pink`), dimensions as numbers (`height_feet: 40`), proportions as ratios (`ratio: 3.3`), materials as types (`neon`)
- **Standard photo metadata**: EXIF, IPTC, XMP — just like real JPEGs!
### Stage 2: PHOTO.md (Right Eye — Narrative)
The Markdown file is **prose poetry** — it describes, it evokes, it feels:
```markdown
# NO AI Sign at Dusk
The sun has just slipped below the roofline, leaving the sky a
bruised gradient — deep blue at the zenith, bleeding through
purple and amber to a thin line of molten gold at the horizon.
And in this liminal light, the sign comes alive.
**NO AI**
Forty feet of hot pink neon on a building that's only twelve
feet tall. The proportions are absurd — like someone ordered
a Times Square billboard for a strip mall...
The neon buzzes. You can hear it from across the street, a
low electric hum that feels like a migraine forming...
```
**Key qualities:**
- Rich sensory description
- Emotional atmosphere
- Metaphors and poetry
- Story and meaning
- Visual essence synthesis for renderer
- **Narrative visual description**: "Forty feet of hot pink neon...", "The proportions are absurd...", "a bruised gradient sky..."
### Stage 3: Triangulation (Renderer)
Pass **BOTH** files to the image generator:
```bash
# The visualizer reads both files
visualize.py PHOTO.yml PHOTO.md --stereo
# Or manually:
# 1. Parse PHOTO.yml for structure, references, camera
# 2. Parse PHOTO.md for narrative, mood, visual essence
# 3. Synthesize combined prompt with BOTH inputs
# 4. Generate image with full depth perception
```
The renderer extracts:
- From YAML: subject identity, camera setup, style traditions, file references
- From MD: atmosphere, emotion, descriptive details, visual essence notes
- Combined: A prompt with both precision AND poetry
### Both Eyes Describe Visuals — Differently
| Aspect | LEFT EYE (YAML) | RIGHT EYE (MD) |
|--------|-----------------|----------------|
| Color | `color: hot_pink` | "hot pink neon that bleeds onto the brick" |
| Size | `height_feet: 40` | "forty feet of defiance" |
| Proportion | `ratio: 3.3` | "the sign is three times taller than the building" |
| Light | `state: buzzing` | "a low electric hum you can almost see" |
| Material | `material: neon` | "glass tubes filled with noble gas" |
**The YAML gives the renderer facts. The MD gives it feelings.**
**Both describe how things look — one structurally, one narratively.**
### Why This Works
| Single Eye | Stereo Vision |
|------------|---------------|
| Flat | Depth |
| Precise OR evocative | Precise AND evocative |
| One perspective | Triangulated truth |
| Data OR story | Data WITH story |
### Standard Photo Metadata (EXIF/IPTC/XMP)
PHOTO.yml includes **real photo metadata standards** — making semantic photos feel like actual JPEGs:
```yaml
exif:
Make: "Semantic Camera Co."
Model: "Stereo Vision Mark II"
ExposureTime: "1/60"
FNumber: "f/2.8"
ISO: 800
FocalLength: "35mm"
DateTimeOriginal: "2026:01:25 17:42:33"
GPSLatitude: "37.7749 N"
iptc:
Headline: "NO AI Sign at Dusk"
Keywords: [neon sign, dusk, urban, street photography]
Creator: "MOOLLM Visualizer"
CopyrightNotice: "CC0 — Public Domain"
xmp:
dc:
title: "NO AI Sign at Dusk"
creator: ["MOOLLM Visualizer"]
moollm: # Our custom namespace!
stereo_method: "semantic_stereo_vision"
left_eye: "PHOTO.yml"
right_eye: "PHOTO.md"
```
**Why this matters:**
- Tools that read EXIF/IPTC/XMP will understand these files
- The `moollm:` XMP namespace extends standards with our semantics
- Generated images can embed this metadata
- Photo management software can organize semantic photos
### Directory Structure for Stereo Photos
```
slideshow/
├── SLIDESHOW.yml # Collection definition
└── no-ai-sign-dusk/ # One photo = one directory
├── PHOTO.yml # Left eye (structure + EXIF/IPTC/XMP)
├── PHOTO.md # Right eye (narrative)
├── MINING-layers.yml # Third eye (speculative mining!)
├── MINING-passersby.md
├── MINING-satellite.md
└── no-ai-sign-dusk.png # Generated image (with embedded metadata)
```
**Stereo Vision** (2 eyes):
```bash
visualize.py PHOTO.yml PHOTO.md -p openai
```
**Bug-Eyed Hallucination Vision** (3+ eyes):
```bash
# Add speculative mining for RICHER context!
visualize.py PHOTO.yml PHOTO.md MINING-layers.yml -p openai
# Or with ALL mining files
visualize.py PHOTO.yml PHOTO.md MINING-*.yml -p google
```
No intermediate prompt file needed — the script triangulates on the fly.
---
## Bug-Eyed Hallucination Vision
> *"Two eyes see depth. Three eyes see MEANING. Many eyes see TRUTH."*
**Bug-Eyed Hallucination Vision** extends Semantic Stereo Vision by adding speculative mining BEFORE image generation:
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ LEFT EYE │ │ RIGHT EYE │ │ THIRD EYE │
│ PHOTO.yml │ │ PHOTO.md │ │ MINING-*.yml │
│ │ │ │ │ │
│ • Structure │ │ • Narrative │ │ • Effects │
│ • Measurements │ │ • Atmosphere │ │ • Reactions │
│ • References │ │ • Emotion │ │ • Perspectives │
│ • EXIF/IPTC │ │ • Prose poetry │ │ • Economics │
│ │ │ │ │ • Semiotics │
│ WHAT it is │ │ How it FEELS │ │ What it MEANS │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└────────────────────┼────────────────────┘
▼
┌────────────────────────┐
│ TRIANGULATION++ │
│ (Bug-Eyed Renderer) │
│ │
│ Structure + Poetry + │
│ Speculative Meaning = │
│ HALLUCINATION DEPTH │
└───────────┬────────────┘
▼
┌────────────────────────┐
│ IMAGE │
│ (with soul AND lore) │
└────────────────────────┘
```
### What Each Eye Contributes
| Eye | File | Contributes |
|-----|------|-------------|
| **Left** | PHOTO.yml | Dimensions, colors, camera settings, references |
| **Right** | PHOTO.md | Mood, metaphor, sensory description |
| **Third** | MINING-layers.yml | Effects on neighbors, passersby reactions, economics |
| **Fourth** | MINING-satellite.md | God's eye view, scale, cosmic context |
| **Fifth** | MINING-passersby.md | Human-scale reactions, stories |
### Why Speculate BEFORE Generating?
The speculative mining adds context the image generator wouldn't otherwise have:
```yaml
# Without mining:
prompt: "40-foot pink neon sign at dusk"
# With mining (bug-eyed):
prompt: |
40-foot pink neon sign at dusk. The sign buzzes at 60Hz, audible
from across the street. Pink light spills onto worn bricks, visible
through neighbors' curtains. A tech worker has stopped to photograph
it, posting to Slack with 😬. The $847/month electricity bill is
worth it for this moment — the handoff from sun to neon. A dog
marks the lamppost 15 feet away, oblivious to the ideology.
From satellite: a hot pink pixel in an ocean of yellow sodium lights.
From the street: the joke that might be serious.
```
**The mining adds WORLD to the image.**
### The Workflow
```
1. PHOTO.yml → Structure the scene
2. PHOTO.md → Narrate the feeling
3. MINE → Speculate the effects (before image exists!)
4. GENERATE → Pass ALL files to visualizer
5. IMAGE → Emerges from triangulated hallucination
```
### Command Line
```bash
# Full bug-eyed hallucination vision
cd slideshow/no-ai-sign-dusk/
visualize.py PHOTO.yml PHOTO.md MINING-layers.yml MINING-passersby.md MINING-satellite.md -p openai -v exhaustive
# Or with glob
visualize.py PHOTO.yml PHOTO.md MINING-*.yml MINING-*.md -p google
```
### The Mantra
> *"Stereo vision gives depth."*
> *"Bug-eyed vision gives MEANING."*
> *"Mine your image before it exists."*
> *"The hallucination IS the world."*
### The Slideshow Container
A slideshow is NOT a room. NOT an object. Just photos:
```yaml
# SLIDESHOW.yml
type: slideshow
nature:
physical: false # No physical embodiment
navigable: false # Can't "enter" it
browseable: true # Can flip through
atmospheric: true # Sets mood
```
This creates visual archives of places without requiring game objects.
### Example: Full Stereo Pair
See the working example:
- `examples/adventure-4/street/lane-neverending/slideshow/no-ai-sign-dusk/PHOTO.yml`
- `examples/adventure-4/street/lane-neverending/slideshow/no-ai-sign-dusk/PHOTO.md`
---
## The Semantic Clipboard
**Every image prompt includes full context as metadata.**
Think of image metadata as a **semantic clipboard** — when you "copy" a scene for visualization, you're copying:
- **Who** is there (Mind Mirror profiles, costumes, moods)
- **Where** they are (room, lighting, atmosphere)
- **What's** happening (action, context, narrative moment)
- **How** to see it (camera angle, style, focus)
This "clipboard" can be:
- **Pasted** to generate the image
- **Modified** to create variations
- **Stored** as a card for later use
- **Shared** between processes
- **Compared** across different moments
```yaml
image_prompt:
type: scene
subject:
name: "Captain Ashford"
mind_mirror:
confident: 6 # Walks into rooms like they own them
cheerful: 5 # Default mood: amused by existence
proud: 5 # Won't ask for help even when should
costume: "Space pirate with holographic eyepatch"
mood: "victorious, exhausted, relieved"
action: "holding the Golden Chalice aloft"
room:
name: "Treasure Chamber"
lighting: "warm golden glow from treasure piles"
atmosphere: "ancient, dusty, awe-inspiring"
camera:
angle: "low angle, heroic"
focus: "character face and chalice"
style:
aesthetic: "dramatic portrait, chiaroscuro"
traditions: ["Avedon", "Caravaggio"]
```
**Why metadata matters:**
- `confident: 6` → stands tall, commanding presence
- `timid: 6` → hunched, makes self smaller
- YAML Jazz comments drive the visual interpretation
---
## What is a Visualizer?
A Visualizer is a **tool spirit animal** for vision. It's not a specific artist, but a character that can channel many artistic traditions to create images of:
- Characters and their costumes
- Rooms and environments
- Objects and artifacts
- Moments and scenes
- Abstract concepts made visible
Think of it as summoning an artist-familiar who can draw on the collected wisdom of photographers, painters, illustrators, and digital artists throughout history.
---
## The PHOTO-SET-8 Pattern
The standard output of a Visualizer is a **photo set** — a portfolio of related images that capture a subject from multiple angles:
```yaml
photo_set:
total: 8
types: 2 # Two complementary categories
per_type: 4 # Four images each
recommended_pairs:
- [pose, expression] # Body + face
- [portrait, selfie] # Formal + casual
- [solo, duo] # Alone + together
- [static, action] # Posed + dynamic
```
This pattern was developed through the **Dynasty Photo Session** in [old/adventure-2](../../examples/old/adventure-2/), where Maurice learned to compose 8-prompt sets.
---
## Specializations
Visualizers can specialize in different visual traditions:
### 📷 Photographer
```yaml
traditions:
- Annie Leibovitz # Celebrity, narrative
- Richard Avedon # Fashion, character
- Ansel Adams # Landscape, nature
- Dorothea Lange # Documentary, emotion
- Helmut Newton # Dramatic fashion
```
### 🎨 Painter
```yaml
traditions:
- Old Masters # Rembrandt, Vermeer, Caravaggio
- Impressionists # Monet, Renoir, Degas
- Surrealists # Dalí, Magritte
- Art Nouveau # Mucha, Klimt
- Pop Art # Warhol, Lichtenstein
```
### ✏️ Illustrator
```yaml
traditions:
- Comic # Kirby, Moebius, Frazetta, McCloud
- Concept Art # Syd Mead, Ralph McQuarrie
- Children's Book # Sendak, Quentin Blake
- Anime/Manga # Various schools
```
---
## How to Invoke
### As a Command
```
VISUALIZE Captain Ashford AS portrait USING Avedon, Caravaggio
```
### As a Card
Play a Visualizer card in a room. It activates and can visualize anything present.
### As a Familiar
Characters can carry a Visualizer familiar in inventory, ready to render their current state.
---
## Context Assembly
The Visualizer gathers context from multiple YAML sources:
```yaml
context_sources:
GitHub에서 보기이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기