Files
timmy-home/training-data/dpo-pairs/session_20260320_223501_295ad3.json
Alexander Whitestone 0d64d8e559 initial: sovereign home — morrowind agent, skills, training-data, research, specs, notes, operational docs
Tracked: morrowind agent (py/cfg), skills/, training-data/, research/,
notes/, specs/, test-results/, metrics/, heartbeat/, briefings/,
memories/, skins/, hooks/, decisions.md, OPERATIONS.md, SOUL.md

Excluded: screenshots, PNGs, binaries, sessions, databases, secrets,
audio cache, timmy-config/ and timmy-telemetry/ (separate repos)
2026-03-27 13:05:57 -04:00

7 lines
2.4 KiB
JSON

[
{
"prompt": "Create the shared ASCII video library at ~/ascii-video-showcase/music-video/ascii_lib.py. This is the engine all chapter scripts import.\\n\\nMust contain (keep each function simple and working \u2014 no over-engineering):\\n\\n1. Constants: VW=1920, VH=1080, FPS=24, FONT_PATH='/System/Library/Fonts/Menlo.ttc'\\n\\n2. Palettes as module strings:\\n PAL_DENSE = ' .:-=+*#%@\u2588'\\n PAL_MINIMAL = ' .:-=+#@'\\n PAL_BLOCKS = ' \u2591\u2592\u2593\u2588'\\n PAL_KATA = ' \u00b7\uff66\uff67\uff68\uff69\uff6a\uff6b\uff6c\uff6d\uff6e\uff6f\uff70\uff71\uff72\uff73\uff74\uff75\uff76\uff77'\\n PAL_MATH = ' \u00b7\u2218\u2219\u2022\u00b0\u00b1\u2213\u00d7\u00f7\u2248\u2260\u2261\u2264\u2265\u221e'\\n PAL_RUNE = ' .\u16a0\u16a2\u16a6\u16d2\u16d7\u16de\u16df'\\n PAL_GRADIENT = ' \u2591\u2592\u2593\u2588'\\n PAL_TIMMY = ' .\u00b7~=\u2248\u221e\u26a1\u2609\u25ca\u25c6\u25b2\u25bc\u25cf\u25a0'\\n\\n3. ALL_CHARS = union of all palette chars + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 .,-:;\\\\'!?\u2014/' + '988'\\n\\n4. GridLayer class: __init__(font_path, font_size), pre-rasterize ALL_CHARS into self.bm dict, compute rr/cc/dist/dist_n/angle/dx/dy. render(chars, colors, canvas=None) with np.maximum compositing. Cell height = ascent+descent from getmetrics().\\n\\n5. make_grids(font_path=FONT_PATH) -> {'sm': GridLayer(fp,10), 'md': GridLayer(fp,16), 'lg': GridLayer(fp,20)}\\n\\n6. hsv2rgb(h,s,v) vectorized -> (R,G,B) uint8 arrays. hsv2rgb_scalar(h,s,v) -> tuple.\\n\\n7. mkc(R,G,B,rows,cols) -> (rows,cols,3) uint8\\n\\n8. val2char(v, mask, pal) -> char array\\n\\n9. stamp_centered(canvas, grid, text, row, color) -> writes text centered on the canvas using grid.render\\n\\n10. blend_screen(base, top, opacity) -> canvas\\n\\n11. tonemap(canvas, gamma=0.75)\\n\\n12. Shaders: apply_vignette(canvas, strength=0.35), apply_grain(canvas, amount=0.03), apply_scanlines(canvas, strength=0.08), apply_bloom(canvas, threshold=160, radius=4), apply_chromatic(canvas, offset=2)\\n\\n13. Value fields (all: g, f, t, S -> float32 array [0,1]):\\n vf_plasma, vf_sinefield, vf_fbm (needs _hash2d, _smootherstep, _value_noise_2d), vf_tunnel, vf_rings, vf_spiral, vf_domain_warp, vf_reaction_diffusion, vf_strange_attractor\\n\\n14. eff_matrix_rain(g, f, t, S, pal=PAL_KATA, hue=0.33, bri=0.6) -> (chars, colors_array)\\n\\n15",
"chosen": "",
"session": "session_20260320_223501_295ad3.json"
}
]