5FWVELA5XU72JOLKVJMIIEFUIFPJQD2MEQQZVGLB3PMNVJPJT2PAC GKEF3WAPO3PU5DFROOJFS6LAJDFLFGX67IY46CR5VVZWRCYCAD2QC G42A6ELTV6MRSMEOXPSXRDTTN7Q464FKWKBHQLVQ5O6JXS3W4TMAC 4C5277X7DTT6YSUD7QXQJ323CIRU4IERYZGOG43JWCPZ67B4N5AQC KEFZWDCOCLPTLSZJKRV4VYAHRITV5T33YKG2VGT332YAUCOBS3EAC JGESC375DNF2CAB7ZOCSC45X5CGZVOXHSVCN643B3YHTRZRG6CIQC FS2ITYYHBLFT66YUC3ENPFYI2HOYHOVEPQIN7NQR6KF5MEK4NKZAC MD3W5IRAC6UQALQE4LJC52VQNDO3I3HXF3XE2XHDABXBYJBUVAXQC D4FEFHQCSILZFQ5VLWNXAIRZNUMCDNGJSM4UJ6T6FDMMIWYRYILQC ZTMRQZSWUL6FJRI4C4H37MR2IMV22DB6KRGEOUNYRWW5CTAVQFKAC CZRMAMSBRVX26IXKHNPG6M3YSWMOZTM73X3XHAMBDSNETTFVRCUQC PNBKVYZ4ANUAZNQN6KEWYNDF7552ROZPNAPRJE7Q6O7ZZJMJ3S3QC y = Text.draw(State, line_index, y, --[[startpos]] 1)y = y + State.line_height
if type(line.data) == 'string' theny = Text.draw(State, line_index, y, --[[startpos]] 1)y = y + State.line_heightelse--? love.graphics.print('aaa', State.left, y)--? y = y + State.line_heightline.height = debug_log_render[line.data.name](line.data, State.left, y, State.right-State.left)y = y + line.heightend
specific domain and program. In combination with [tenonauger.love](), get onthe road to learning to [reinvent wheels](https://handmade.network/jam) for[bicyles of the mind](https://merveilles.town/@akkartik/108607458977376162).
specific domain and program. Get on the road to learning to [reinvent wheels](https://handmade.network/jam)for [bicyles of the mind](https://merveilles.town/@akkartik/108607458977376162).
To run from the terminal, [pass this directory to LÖVE](https://love2d.org/wiki/Getting_Started#Running_Games),
Arguments in _tenon auger_ (log browser) mode:* log file to parse and browse read-only* (optional) a source file containing lua definitions in namespace`debug_log_render` that will be used to render log lines. For example:```debug_log_render = {}function debug_log_render.state(obj, x,y, w)assert(obj.name == 'state')local h = 30love.graphics.rectangle('line', x,y, w,h)return hend```This definition will render log lines of this form:```main.lua:50: {"name": "state", ...}```as rectangles 30 pixels tall.Definitions return the height they need to render their argument. Tenonauger will pass in a non-overlapping `y` to the next line.