This should prevent all artifacts.
RWAJBVUNC6V5EBL6GXSDHKPPRQGWI65MREMBYSOGJL7Z2LULJRDQC
survey_animation = function()
---[[ '--' at start to disable animation, '---' to enable
local minx, miny, maxx, maxy = surface_bounds(Definitions)
-- ensure 1px of white background all around
-- just in case the viewport ever goes
-- outside canvas bounds while animating
minx,miny, maxx,maxy = minx-1,miny-1, maxx+1,maxx+1
local zoomx = App.screen.width/(maxx-minx)
local zoomy = App.screen.height/(maxy-miny)
local zoom, cw, ch
if zoomx < zoomy then
zoom = zoomx
cw = maxx-minx
ch = cw*App.screen.height/App.screen.width
else
zoom = zoomy
ch = maxy-miny
cw = ch*App.screen.width/App.screen.height
end
local desired_viewport = Viewport
Global_viewport = {x=minx, y=miny, w=cw, h=ch, zoom=zoom}
-- Render the canvas at pixel perfect resolution.
local winw,winh = App.screen.width, App.screen.height
App.screen.width,App.screen.height = Global_viewport.w, Global_viewport.h
Viewport = {x=minx, y=miny, w=cw, h=ch, zoom=1.0}
A()
Canvas = love.graphics.newCanvas(cw,ch)
love.graphics.setCanvas(Canvas)
App.run_tests = true -- Hack; disable drawing the menu and ticks
on.draw()
App.run_tests = nil
love.graphics.setCanvas()
App.screen.width,App.screen.height = winw,winh
-- initialize animation
Animating = {
Global_viewport,
desired_viewport,
}
Viewport.x = -App.screen.width/2
Viewport.y = -App.screen.height/2
Viewport.w = App.screen.width
Viewport.h = App.screen.height
Viewport.zoom = 1.0 --]]
end
{"order_of_magnitude":573,"schema1_of_y":667,"approximate":579,"sy":469,"y_of_schema1":364,"approximate_up":658,"on":1,"Ticks_font":669,"Manifest_navigator":495,"load_definition":716,"on.code_submit":787,"on.save_settings":742,"Manifest":769,"Cursor_node":172,"get_manifest":768,"add_thick_line":400,"Viewport":604,"copy_shape":396,"Menu_background_color":611,"wait_for_response":781,"draw_run_time_error":808,"Definitions":503,"Menu_command_color":613,"new_definition":821,"Menu_highlight_color":614,"survey_animation":847,"draw_menu_bar":641,"animate_next":841,"on.update":835,"on.keychord_press":828,"animate_next_frame":825,"Page":475,"fw_app":"driver","maybe_update_key_in_definitions":529,"surface_bounds":814,"on.mouse_press":722,"Animating":842,"on.initialize":807,"fw_parent":846,"A":831,"Menu_border_color":612,"add_hotkey_to_menu":616,"on.mouse_release":836,"B":830,"draw_manifest_navigator":677,"from_viewport":823,"num_lines_for_manifest_navigator":676,"on_handle":547,"Surface":422,"reset_manifest_navigator":772,"compute_layout":385,"sx":544,"load_from_iterator":670,"Spawn_point":822,"get_definition_from_app":784,"Num_animation_frames":840,"on.text_input":834,"on.code_change":820,"font":353,"manifest_navigator_up":628,"line_height":365,"vx":545,"set_mouse_cursor":562,"draw_cursor":639,"delete_definition":673,"get_multiple_definitions_from_app":783,"move_candidate_to_front_of_manifest":632,"on.key_release":720,"keychord_press_on_manifest_navigator":765,"manifest_navigator_down":635,"text_input_on_manifest_navigator":634,"initialize_manifest_navigator":773,"on.draw":797,"manifest_coord":636,"on.load_settings":782,"manifest_index":637,"mouse_cursor":558,"manifest_navigator_candidates":638,"Mouse_cursor":559,"vy":546,"add_def_to_menu":640,"tick_spec":660,"initialize_editor":678,"table_and_array_both_empty":689,"draw_ticks":844,"load_manifest":694,"box_height":680,"update_editor_box":711,"on_text":539,"interpolate_viewport":843,"scale":712}
survey_animation = function()
---[[ '--' at start to disable animation, '---' to enable
local minx, miny, maxx, maxy = surface_bounds(Definitions)
-- ensure 1px of white background all around
-- just in case the viewport ever goes
-- outside canvas bounds while animating
minx,miny, maxx,maxy = minx-1,miny-1, maxx+1,maxx+1
local zoomx = App.screen.width/(maxx-minx)
local zoomy = App.screen.height/(maxy-miny)
local zoom, cw, ch
if zoomx < zoomy then
zoom = zoomx
cw = maxx-minx
ch = cw*App.screen.height/App.screen.width
else
zoom = zoomy
ch = maxy-miny
cw = ch*App.screen.width/App.screen.height
end
local desired_viewport = Viewport
Global_viewport = {x=minx, y=miny, w=cw, h=ch, zoom=zoom}
-- Render the canvas at pixel perfect resolution.
local winw,winh = App.screen.width, App.screen.height
App.screen.width,App.screen.height = Global_viewport.w, Global_viewport.h
Viewport = {x=minx, y=miny, w=cw, h=ch, zoom=1.0}
A()
Canvas = love.graphics.newCanvas(cw,ch)
love.graphics.setCanvas(Canvas)
App.run_tests = true -- Hack; disable drawing the menu and ticks
on.draw()
App.run_tests = nil
love.graphics.setCanvas()
App.screen.width,App.screen.height = winw,winh
-- initialize animation
Animating = {
Global_viewport,
desired_viewport,
}
Viewport.x = -App.screen.width/2
Viewport.y = -App.screen.height/2
Viewport.w = App.screen.width
Viewport.h = App.screen.height
Viewport.zoom = 1.0 --]]
end
{"Manifest_navigator":495,"survey_animation":846,"y_of_schema1":364,"animate_next":841,"animate_next_frame":825,"Manifest":769,"tick_spec":660,"load_manifest":694,"get_manifest":768,"surface_bounds":814,"load_definition":716,"new_definition":821,"order_of_magnitude":573,"Spawn_point":822,"on.initialize":807,"approximate":579,"A":831,"on.save_settings":742,"add_thick_line":400,"on.load_settings":782,"copy_shape":396,"on.draw":797,"Animating":842,"approximate_up":658,"Viewport":604,"Ticks_font":669,"on.mouse_press":722,"on.update":835,"on_handle":547,"table_and_array_both_empty":689,"on_text":539,"sy":469,"box_height":680,"interpolate_viewport":843,"compute_layout":385,"line_height":365,"on.mouse_release":836,"on.code_change":820,"vx":545,"Menu_border_color":612,"B":830,"Menu_command_color":613,"Cursor_node":172,"Menu_highlight_color":614,"on.key_release":720,"draw_menu_bar":641,"draw_run_time_error":808,"add_hotkey_to_menu":616,"vy":546,"maybe_update_key_in_definitions":529,"draw_manifest_navigator":677,"on":1,"num_lines_for_manifest_navigator":676,"mouse_cursor":558,"scale":712,"reset_manifest_navigator":772,"draw_cursor":639,"on.code_submit":787,"load_from_iterator":670,"Surface":422,"get_definition_from_app":784,"draw_ticks":844,"manifest_navigator_up":628,"initialize_editor":678,"Menu_background_color":611,"initialize_manifest_navigator":773,"font":353,"manifest_navigator_down":635,"Mouse_cursor":559,"Page":475,"delete_definition":673,"get_multiple_definitions_from_app":783,"move_candidate_to_front_of_manifest":632,"set_mouse_cursor":562,"keychord_press_on_manifest_navigator":765,"wait_for_response":781,"text_input_on_manifest_navigator":634,"on.text_input":834,"Num_animation_frames":840,"manifest_coord":636,"sx":544,"manifest_index":637,"update_editor_box":711,"manifest_navigator_candidates":638,"Definitions":503,"on.keychord_press":828,"add_def_to_menu":640,"fw_parent":845,"from_viewport":823,"fw_app":"driver","schema1_of_y":667}