LaTeX 여백에 시드마다 다른 꽃을 키우는 Florilegium, Ghostscript가 인쇄 시점에 정원을 그림
- LaTeX 문서 여백에 시드 하나로 절차적 꽃을 키우는 Florilegium이 공개됨. 잎과 줄기, 모티프를 같은 난수 흐름으로 그려 페이지마다 다른 정원이 나옴.
- ink.lua, flora.lua, grow.lua를 순수 PostScript로 옮긴 florilegium.ps가 추가됨. Ghostscript나 PostScript 프린터가 파일을 해석하는 동안 정원이 자라고, -dSeed를 주지 않으면 시계가 시드를 골라 인쇄할 때마다 새 정원이 나옴.
- 성장 애니메이션은 tools/animate.py로 GIF와 MP4를 만들고, tools/animcheck.lua가 마지막 프레임이 실제 페이지와 바이트 단위로 일치하는지 검사함.
- 나비, 벌, 달팽이, 새 같은 방문자는 별도 난수 흐름에서 나오고 새는 다섯 페이지 중 한 페이지꼴로 등장함. 옵션 novisitors를 주면 빠지고, 투명 채우기는 Ghostscript의 -dALLOWPSTRANSPARENCY가 있어야 함.
- CI는 main 푸시와 풀 리퀘스트마다 PDF 세 개를 빌드하고 릴리스는 손으로 함. 워크플로 토큰이 읽기 전용이라 v1.1 태그 실행이 403으로 실패했기 때문임.
Hacker News opinions
진짜 아름답다. 이거 하나 보자고 퇴근까지 기다리는 중임.
이게 바로 내가 필요했던 거야!
요즘 소프트웨어에 완전히 환멸 느껴서 직장에서도 집에서도 괴로운데, 이런 걸 보면 조금은 나아짐.
README가 AI가 쓴 거네. :/
README만 그런 게 아니라 전부 그런 것 같음. 작성자가 레딧 LaTeX 서브 댓글에서 더 자세히 얘기했더라.
10년 전에 나왔으면 훨씬 컸을 텐데. TeX 장식은 그 자체로 아름다운 공예였고 이건 예쁘긴 해도 크누스 전통을 잇는 느낌은 아님.
아이디어도 시각도 좋고 기술 디테일도 인상적임. LaTeX나 PDF에서 애니메이션이 된다는 걸 몰랐음.
나도 예전에 Zapfino 기사 인쇄본에 플립북 타이포 애니메이션을 넣긴 했는데 훨씬 평범했음. TUGboat에 실림.
'florilegium'이라는 단어는 AI가 프로젝트 이름으로 자주 추천하는 것 같음. 그리스어 anthology의 라틴어판이라 LLM이 집어들 만도 함.
Deepseek한테 Obsidian 확장으로 바꾸게 하고 파일명을 시드로 쓰게 했더니, 오래 꿈꾸던 그대로 나왔음.
아름답긴 한데 AI 문체가 너무 거슬림. 짧게 끊어 쓰는 그 스타일이 바로 티 남.
몇 년 전에 Byrne의 Elements of Euclid 재현에 절차적 장식을 넣은 프로젝트도 있었음. byrne-euclid 저장소 아래쪽에 있음.
나도 몇 년 전에 이런 걸 만들려다 실패했는데, 해낸 걸 보니 기쁨.
이제 Typst로 해봐. AI라니 아쉽고, 그래서 LaTeX인 게 설명되네.
AI가 아니었으면 이 프로젝트는 작성자 머릿속에만 있었을 것임. 그런 감정은 이해하지만 아깝게 생각할 일은 아님.
LaTeX인 이유는 이걸 어떻게 하는지 물어본 레딧 글이 LaTeX 서브에서 시작됐고, 작성자가 거기서 이 프로젝트를 공개했기 때문임.
인쇄할 때마다 다른 꽃이 나온다는 게 좋은 포인트임.
레딧 글을 보면 이걸 만든 사람은 복사되는 걸 원치 않는 것 같아서 안타까움.
왜 안타까운지? 소스 비공개로 두는 건 코드 비판을 피하려는 것 같은데, 그게 아이디어를 안 뺏긴다는 뜻은 아님.
최신 모델로 여러 번 시도한 걸 저렇게 예쁘게, 그것도 Lua로 해냈다니 좀 억울하긴 한데 가능하다는 걸 알게 돼서 좋음. 꽃 몇 송이 그린 걸로 남의 신성한 재산권을 침해했다고 자책하지는 마셈.
다음 단계는 페이지별 감정에 맞는 패턴 클래스를 LLM이 고르게 하고, 문서 전체에서 논리적으로 이어지게 만드는 것 아닐까. 온도를 바꿔 몇 번 다시 만들고 제일 나은 걸 고르면 됨.
vibecoded여도 상관없음. 아름다우면 됨.