DealForge autonomously sources, scores, and writes investment memos on venture deals. Stop manually hunting.
1,180+ deals tracked · 22 AI investment memos · Updated daily
Show HN: TTF-DOOM – A raycaster running inside TrueType font hinting
TrueType fonts have a hinting VM that grid-fits glyphs. It has a stack, storage area, conditionals, function calls, and it turns out it's Turing-complete. So I built a raycasting engine in the hinting bytecode.<p>The glyph "A" in the font has 16 vertical bar contours. The hinting program reads player coordinates from font variation axes via GETVARIATION, does DDA ray marching against a tile map in the storage area, and repositions bar heights with SCFS. It ends up looking like a crude Wolfenstein-style view.<p>Small visuzlization: <a href="https://github.com/4RH1T3CT0R7/ttf-doom/blob/main/docs/media/transform.gif" rel="nofollow">https://github.com/4RH1T3CT0R7/ttf-doom/blob/main/docs/media...</a><p>About 6.5 KB of bytecode total - 13 functions, 795 storage slots, sin/cos lookup tables.<p>JS handles movement, enemies, and shooting, then passes the coordinates to the font through CSS font-variation-settings. The font is basically a weird GPU.<p>The weirdest parts: - TrueType MUL does (a<i>b)/64, not a</i>b. So 1*4=0. The DIV instruction is equally cursed. - No WHILE loops. Everything compiles to recursive FDEFs. FreeType limits call depth to ~64 frames. - SVTCA[0] is Y, SVTCA[1] is X. Of course.<p>There's a small compiler behind this - lexer, parser, codegen - that turns a C-like DSL into TT assembly.<p>Demo GIF: <a href="https://github.com/4RH1T3CT0R7/ttf-doom/blob/main/docs/media/demo.gif" rel="nofollow">https://github.com/4RH1T3CT0R7/ttf-doom/blob/main/docs/media...</a><p>Live demo: <a href="https://4rh1t3ct0r7.github.io/ttf-doom/" rel="nofollow">https://4rh1t3ct0r7.github.io/ttf-doom/</a> (Chrome/Edge, WASD+arrows, Space to shoot, Tab for debug overlay)<p>This is a DOOM-style raycaster, not a port of the original engine - similar to DOOMQL and the Excel DOOM. The wall rendering does happen in the font's hinting VM though. Press Tab in the demo to watch the font variation axes change as you move.
While this is a brilliant display of low-level engineering and technical wizardry, it is a 'cool hack' rather than a viable business. The developer demonstrates elite-level talent, but there is no market for games or raycasting engines embedded within font files.