feat: complete academic symbol lexicon heal, 2-column Cooper extraction, and updated assets

This commit is contained in:
2026-10-09 15:26:58 +05:00
parent 7f91366201
commit 0b12e4583b
244 changed files with 611461 additions and 1617 deletions
+122
View File
@@ -0,0 +1,122 @@
import math
import numpy as np
from PIL import Image, ImageDraw, ImageFilter
SIZE = 1024
CENTER = SIZE / 2.0
bg = Image.new('RGBA', (SIZE, SIZE), (2, 4, 12, 255))
bdraw = ImageDraw.Draw(bg)
np.random.seed(777)
for _ in range(400):
x = np.random.randint(0, SIZE)
y = np.random.randint(0, SIZE)
br = np.random.randint(150, 255)
sz = np.random.choice([1, 1, 2, 2, 3], p=[0.7, 0.2, 0.07, 0.02, 0.01])
bdraw.ellipse([x, y, x + sz, y + sz], fill=(br, br, 255, br))
N_POINTS = 13
R_TIP = SIZE * 0.46
R_VALLEY = SIZE * 0.28
R_MEDALLION = SIZE * 0.255
R_CORE = SIZE * 0.09
start_angle = -math.pi / 2.0
tips = []
valleys = []
for i in range(N_POINTS):
ang_tip = start_angle + i * (2.0 * math.pi / N_POINTS)
ang_val = ang_tip + (math.pi / N_POINTS)
tips.append((CENTER + R_TIP * math.cos(ang_tip), CENTER + R_TIP * math.sin(ang_tip)))
valleys.append((CENTER + R_VALLEY * math.cos(ang_val), CENTER + R_VALLEY * math.sin(ang_val)))
star_layer = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0))
sdraw = ImageDraw.Draw(star_layer)
GOLD_CORE = (255, 255, 240, 255) # incandescent white-gold
GOLD_MAIN = (255, 215, 80, 240) # warm celestial amber-gold
GOLD_GLOW = (220, 160, 20, 90)
# Fill rays with deep translucent astral gradient
for i in range(N_POINTS):
p_tip = tips[i]
p_vl = valleys[(i - 1) % N_POINTS]
p_vr = valleys[i]
sdraw.polygon([CENTER, CENTER, p_vl[0], p_vl[1], p_tip[0], p_tip[1]], fill=(35, 28, 12, 120))
sdraw.polygon([CENTER, CENTER, p_tip[0], p_tip[1], p_vr[0], p_vr[1]], fill=(50, 38, 16, 150))
# Sacred tridecagram linear lattice (subtle geometric star web inside)
for i in range(N_POINTS):
p1 = tips[i]
p2 = tips[(i + 3) % N_POINTS]
sdraw.line([p1[0], p1[1], p2[0], p2[1]], fill=(255, 210, 70, 40), width=1)
# Fine outer outlines of the 13 rays
for i in range(N_POINTS):
p_tip = tips[i]
p_vl = valleys[(i - 1) % N_POINTS]
p_vr = valleys[i]
# Glow outline
sdraw.line([p_vl[0], p_vl[1], p_tip[0], p_tip[1]], fill=GOLD_GLOW, width=5)
sdraw.line([p_tip[0], p_tip[1], p_vr[0], p_vr[1]], fill=GOLD_GLOW, width=5)
sdraw.line([CENTER, CENTER, p_tip[0], p_tip[1]], fill=GOLD_GLOW, width=5)
# Sharp gold line
sdraw.line([p_vl[0], p_vl[1], p_tip[0], p_tip[1]], fill=GOLD_MAIN, width=2)
sdraw.line([p_tip[0], p_tip[1], p_vr[0], p_vr[1]], fill=GOLD_MAIN, width=2)
sdraw.line([CENTER, CENTER, p_tip[0], p_tip[1]], fill=GOLD_CORE, width=2)
# Medallion
med_layer = Image.new('RGBA', (SIZE, SIZE), (0, 0, 0, 0))
mdraw = ImageDraw.Draw(med_layer)
mdraw.ellipse([CENTER - R_MEDALLION, CENTER - R_MEDALLION, CENTER + R_MEDALLION, CENTER + R_MEDALLION], fill=(6, 8, 18, 250), outline=GOLD_MAIN, width=3)
mdraw.ellipse([CENTER - R_MEDALLION + 6, CENTER - R_MEDALLION + 6, CENTER + R_MEDALLION - 6, CENTER + R_MEDALLION - 6], outline=(255, 240, 160, 160), width=1)
# Chrome Triskelion - 3 curved wings (number 9 loops sharing 1 central circle)
# Center circle:
mdraw.ellipse([CENTER - R_CORE, CENTER - R_CORE, CENTER + R_CORE, CENTER + R_CORE], fill=(3, 5, 14, 255), outline=GOLD_MAIN, width=4)
mdraw.ellipse([CENTER - R_CORE + 4, CENTER - R_CORE + 4, CENTER + R_CORE - 4, CENTER + R_CORE - 4], outline=GOLD_CORE, width=1)
# Chrome pinwheel curved ribbon blades
for k in range(3):
rot = start_angle + k * (2.0 * math.pi / 3.0)
outer_pts = []
inner_pts = []
steps = 50
for s in range(steps + 1):
t = s / float(steps)
cr = R_CORE + t * (R_MEDALLION - R_CORE - 10)
ca = rot + t * 1.35
bx = CENTER + cr * math.cos(ca)
by = CENTER + cr * math.sin(ca)
outer_pts.append((bx, by))
thick = (1.0 - t * 0.8) * 16
ir = max(R_CORE, cr - thick)
ix = CENTER + ir * math.cos(ca + 0.08)
iy = CENTER + ir * math.sin(ca + 0.08)
inner_pts.append((ix, iy))
poly = outer_pts + inner_pts[::-1]
mdraw.polygon(poly, fill=(180, 130, 20, 120))
# Sharp gold boundary
for p in range(len(outer_pts) - 1):
mdraw.line([outer_pts[p], outer_pts[p+1]], fill=GOLD_CORE, width=2)
for p in range(len(inner_pts) - 1):
mdraw.line([inner_pts[p], inner_pts[p+1]], fill=GOLD_MAIN, width=1)
comp = Image.alpha_composite(bg, star_layer)
comp = Image.alpha_composite(comp, med_layer)
bloom = comp.filter(ImageFilter.GaussianBlur(8))
final_img = Image.blend(comp, bloom, 0.22)
out_file = '/home/alexives/.gemini/antigravity-ide/brain/4ff924d9-3d7f-4202-9066-3ac5c3088b8e/star_exact_13_gold_filigree_ribbons.png'
final_img.save(out_file, 'PNG')
print("Rendered ribbons variant to", out_file)