Claude Code Plugins

Community-maintained marketplace

Feedback

gesture-hypergestures

@plurigrid/asi
0
0

Gesture Hypergestures Skill

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name gesture-hypergestures
description Gesture Hypergestures Skill
version 1.0.0

Gesture Hypergestures Skill

"A gesture is a continuous curve in a topological category." — Guerino Mazzola, Topos of Music III: Gestures

Trit: +1 (PLUS - generative) Color: #C42990 (from seed 137508, index 23) Foundation: Mazzola's Diamond Conjecture

Overview

Gestures are the missing link between structure (forms/denotators) and performance (physical action). This skill implements Mazzola's gesture theory from Topos of Music III.

Form (static) → Gesture (dynamic) → Performance (physical)
    ↓              ↓                    ↓
 Denotator    Hypergesture           Sound wave

Core Concepts

Gesture Definition

A gesture is a continuous curve γ: [0,1] → X in a topological category:

struct Gesture{T}
    domain::Interval      # [0, 1] or [a, b]
    target::T             # Topological space
    curve::Function       # t → target
end

# Example: pitch gesture (glissando)
glissando = Gesture(
    (0.0, 1.0),
    PitchSpace,
    t -> 60 + 12 * t  # C4 to C5
)

Hypergestures

A hypergesture is a gesture of gestures - a higher-order curve:

struct Hypergesture{T}
    base_gestures::Vector{Gesture{T}}
    interpolation::Function  # Gesture × Gesture → Gesture
end

# Hypergesture: morphing between two melodic contours
melody_morph = Hypergesture(
    [melody_a, melody_b],
    (g1, g2, t) -> interpolate_gesture(g1, g2, t)
)

Diamond Conjecture

The fundamental theorem relating local to global:

H^n(Gesture) ≅ H^n(Skeleton) ⊗ H^n(Body)

Local gesture fragments glue iff cohomology obstructions vanish.

Integration with Loaded Skills

Gestures ↔ topos-of-music

Gestures extend the Form/Denotator framework:

# Form → Gesture
NoteGestureForm = GestureForm(NoteForm)

# Denotator → Gestured Denotator
performed_note = GesturedDenotator(
    note,
    timing_gesture,   # Micro-timing
    dynamics_gesture  # Expression curve
)

Gestures ↔ catsharp-sonification

Sonify gesture trajectories:

function sonify_gesture(g::Gesture, seed::Int)
    Gay.gay_seed!(seed)
    for t in 0:0.1:1
        point = g.curve(t)
        color = Gay.next_color()
        freq = pitch_to_freq(point)
        trit = hue_to_trit(Gay.hue(color))
        play_tone(freq, waveform_for_trit(trit))
    end
end

Gestures ↔ persistent-homology

Track gesture stability across filtrations:

# Gesture persistence: which contours survive simplification?
filtration = [ε for ε in 0.1:0.1:1.0]
persistence = compute_gesture_persistence(gesture_space, filtration)

# Stable gestures = robust performance features
stable_gestures = filter(g -> g.persistence > 0.5, all_gestures)

Gestures ↔ sheaf-cohomology

Verify gesture gluing conditions:

# Local gesture patches
left_hand = Gesture(...)
right_hand = Gesture(...)

# Check if they glue into coherent performance
H1 = compute_gesture_cohomology([left_hand, right_hand])
if H1 == 0
    println("Gestures glue correctly!")
else
    println("Obstruction detected: hands don't coordinate")
end

Gestures ↔ interaction-nets

Gesture composition as net reduction:

    ┌──────┐     ┌──────┐
    │ G1   ├─────┤ G2   │
    └──┬───┘     └───┬──┘
       │             │
       └──────┬──────┘
              │
         ┌────┴────┐
         │ G1;G2   │  (composed gesture)
         └─────────┘

Gestures ↔ stellogen

Gestures as continuous star trajectories:

' Gesture as constellation with time parameter
(def gesture_star
  [(+time T) (+pitch (interp P0 P1 T)) (-note N)])

' Hypergesture: nest gestures
(def hyper
  [(+meta_time S) 
   (+gesture (gesture_star S))
   (-performance P)])

Mathematical Structure

Gesture Category

Objects: Topological spaces (pitch, dynamics, timing, ...)
Morphisms: Continuous curves γ: I → X
Composition: Path concatenation (up to homotopy)

Hypergesture Homology

H_0(G) = Connected components of gesture space
H_1(G) = Loops in gesture space (repeating patterns)
H_n(G) = Higher-dimensional voids (complex structures)

Diamond Diagram

           Skeleton
              ↑
    Body ←─── G ───→ Gesture
              ↓
           Performance

G = Gesture object relating all three domains

Commands

# Create gesture from MIDI
just gesture-from-midi performance.mid

# Interpolate between gestures
just gesture-interpolate g1.json g2.json --steps 10

# Verify hypergesture cohomology
just gesture-h1 hypergesture.json

# Sonify gesture trajectory
just gesture-sonify contour.json --seed 137508

# Visualize gesture space
just gesture-viz --output gesture.svg

GF(3) Triads

gesture-hypergestures (+1) ⊗ topos-of-music (0) ⊗ rubato-composer (-1) = 0 ✓
gesture-hypergestures (+1) ⊗ catsharp-sonification (0) ⊗ persistent-homology (-1) = 0 ✓
gesture-hypergestures (+1) ⊗ interaction-nets (0) ⊗ sheaf-cohomology (-1) = 0 ✓

Example: Rubato Performance

# Rubato = tempo gesture
rubato = Gesture(
    (0.0, 1.0),
    TempoSpace,
    t -> 120 * (1 + 0.1 * sin(2π * t * 4))  # Oscillating around 120 BPM
)

# Apply to note sequence
for note in score
    performed_onset = apply_gesture(rubato, note.onset)
    play(note.pitch, performed_onset, note.duration)
end

Files

  • Core implementation: lib/gesture.jl
  • Hypergesture homology: lib/hypergesture_homology.jl
  • Sonification bridge: lib/gesture_sonify.jl

Related Skills

Skill Trit Relationship
topos-of-music 0 Forms → Gestures
catsharp-sonification 0 Sonify trajectories
rubato-composer -1 Execute performances
persistent-homology -1 Gesture stability
sheaf-cohomology -1 Gluing verification

References

  • Mazzola, G. The Topos of Music III: Gestures (2017)
  • Mazzola, G. Musical Performance (2011)
  • Mazzola et al. "The Diamond Conjecture for Hypergestures"

Skill Name: gesture-hypergestures Type: Musical Performance Theory Trit: +1 (PLUS - GENERATOR) GF(3): Generates continuous performance curves Sonification: C#4 sine (hue 55°, warm)