2f34ef4eb8
I might have finally hit on the right approach: a hotkey that dumps information. Doesn't swamp me with data, and also doesn't perturb anything. y_of_schema1 returns consistent results as I pan around. I'm just not actually printing the lines at that y. I'm printing it at that y/Viewport.zoom. What might be confusing here is that I started out with a simple mental model: * perform computations in surface coordinates (sx,sy) * render in viewport coordinates (vx,vy) But for text quality reasons I need to perform many computations in "scaled surface" coordinates. Viewport coordinates are both offset and scaled relative to surface coordinates. Scaled surface = just scaled relative to surface, not offset. I don't have a clear mental model here for when to use this. I did already use it in one place with my simple mental model: you have to scale distances like rect.w and rect.h but it's incorrect to offset them. Maybe I'm getting this wrong somehow.
10 lines
334 B
Plaintext
10 lines
334 B
Plaintext
dump_state = function()
|
|
print('===')
|
|
print('zoom', Viewport.zoom)
|
|
print('viewport', Viewport.y)
|
|
print('node', Page.data[1].y)
|
|
print('node renders from', Page.data[1].editor.top)
|
|
print('screen top', Page.data[1].editor.screen_top1.line)
|
|
local l = 25
|
|
print('y of line', l, y_of_schema1(Page.data[1].editor, {line=l, pos=1}))
|
|
end |