Wide-gamut color sampling with splittable determinism using Pigeons.jl
/plugin marketplace add plurigrid/asi/plugin install asi-skills@asi-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Wide-gamut color sampling with splittable determinism using Pigeons.jl SPI pattern and LispSyntax integration.
"We are building cognitive infrastructure for the next trillion minds" — Plurigrid: the story thus far
Author: @bmorphism (Barton Rhodes)
Gay.jl embodies the Plurigrid principle of autopoietic ergodicity — self-sustaining systems that explore all accessible states. The deterministic color generation from seeds mirrors the broader pattern of reproducible, verifiable computation across distributed systems.
Related bmorphism projects:
# Deterministic color from seed
using Gay
seed = 0x598F318E2B9E884
color = gay_color(seed) # Returns LCH color
trit = gf3_trit(seed) # Returns :MINUS, :ERGODIC, or :PLUS
Every color operation preserves the tripartite balance:
Sum of trits across parallel streams must equal 0 (mod 3).
using LispSyntax
# S-expression colorization
sexp = @lisp (defun factorial (n) (if (<= n 1) 1 (* n (factorial (- n 1)))))
colored = colorize(sexp, seed=seed)
# MCP tool registration with deterministic colors
using Gay, MCP
tool = MCPTool("color-palette", seed=0x1069)
palette = generate_palette(tool, n=5)
# Verify GF(3) conservation across parallel execution
using Gay, SPI
streams = trifurcate(seed, [:task1, :task2, :task3])
verify_conservation(streams) # Asserts sum(trits) ≡ 0 (mod 3)
# Interleave three color streams
using Gay, TriadInterleave
schedule = interleave(
minus_stream(seed),
ergodic_stream(seed),
plus_stream(seed)
)
| Function | Description |
|---|---|
gay_color(seed) | Generate LCH color from seed |
gf3_trit(seed) | Extract GF(3) trit assignment |
splitmix64(state) | Advance RNG state |
colorize(sexp, seed) | Color S-expression nodes |
palette(seed, n) | Generate n-color palette |
From julia-scientific skill - related Julia packages:
| Package | Category | Use with Gay.jl |
|---|---|---|
| Catlab.jl | ACSets | Colored schema parts |
| AlgebraicRewriting.jl | Rewriting | Colored rule application |
| StructuredDecompositions.jl | Sheaves | Colored adhesions |
| GraphNeuralNetworks.jl | ML | Node/edge coloring |
| Makie.jl | Visualization | Deterministic plot colors |
| Graphs.jl | Networks | Colored graph analysis |
| Flux.jl | Deep Learning | Layer coloring for debug |
# Protein structure coloring
using Gay, BioStructures
pdb = read("1CRN.pdb", PDB)
chain_colors = Gay.palette(seed, nchains(pdb))
visualize_structure(pdb, colors=chain_colors)
# Quantum circuit coloring
using Gay, Yao
circuit = chain(4, put(1=>H), control(1, 2=>X))
gate_colors = [Gay.color_at(seed, i) for i in 1:length(circuit)]
# Graph neural network visualization
using Gay, GraphNeuralNetworks, GraphMakie
node_colors = Gay.palette(seed, nv(graph))
graphplot(graph, node_color=node_colors)
gay-mcp - MCP server with Gay.jl colorsspi-parallel-verify - Strong Parallelism Invariance verificationtriad-interleave - Three-stream schedulingbisimulation-game - GF(3) conservation in game semanticsjulia-scientific - Full Julia package mapping (137 skills)This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.