Merge upstream into main

[?]
Jul 16, 2022, 5:16 AM
7YVCOPLE6P3BEPJYHYD4Q7OHUNLOHEIFL3JCVYNRBE75DLGGUWHAC

Dependencies

  • [2] X7IHIK6N Merge upstream into main
  • [3] CNCYMM6A make test initializations a little more obvious
  • [4] XX7G2FFJ intermingle freehand line drawings with text
  • [5] D2GCFTTT clean up repl functionality
  • [6] 3QNOKBFM beginnings of a test harness
  • [7] 6LJZN727 handle chords
  • [8] RSZD5A7G forgot to add json.lua
  • [9] OWK3U6VD tests for drawing polygons
  • [10] 66X36NZN a little more prose describing manual_tests
  • [11] V366JSXA videos
  • [12] 7CEOB56D Merge upstream into main
  • [13] W7JMT5V2 rip out most support for polygons
  • [14] 7M5PGWKU drop last couple of manual tests
  • [15] TVCPXAAU rename
  • [16] TLOAPLBJ add a license
  • [17] UHB4GARJ left/right margin -> left/right coordinates
  • [18] YIQYNVD2 rip out the line-width slider
  • [19] LNUHQOGH start passing in Editor_state explicitly
  • [20] 27DROQW2 Merge upstream into main
  • [21] K2X6G75Z start writing some tests for drawings
  • [22] 73OCE2MC after much struggle, a brute-force undo
  • [23] DDXXXXBR new mode for polygons
  • [24] BPWFKBXT new test: dragging and dropping a file on lines.love
  • [25] CRYGI3LR more drawing tests
  • [26] BLWAYPKV extract a module
  • [27] M6TH7VSZ rip out notion of Line_width
  • [28] 5DOTWNVM right margin
  • [29] 2L5MEZV3 experiment: new edit namespace
  • [30] VHQCNMAR several more modules
  • [31] R5QXEHUI somebody stop me
  • [32] T4FRZSYL delete an ancient, unused file
  • [33] LXTTOB33 extract a couple of files
  • [34] 4YDBYBA4 clean up memory leak experiments
  • [35] OTIBCAUJ love2d scaffold
  • [36] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing
  • [37] FS2ITYYH record a known issue
  • [38] AVTNUQYR basic test-enabled framework
  • [39] KAUD3YIK tests: deleting points/shapes
  • [40] BULPIBEG beginnings of a module for the text editor
  • [41] 42LVB4DE test: naming a point
  • [42] WDMPH4AN drop support for squares
  • [43] CE4LZV4T drop last couple of manual tests
  • [44] VUVH2XLF Merge upstream into main
  • [45] OEUU62GM Merge upstream into main
  • [46] 2JLVAYHB start decoupling editor tests from App
  • [47] OGUV4HSA remove some memory leaks from rendered fragments
  • [48] LF7BWEG4 group all editor globals
  • [49] V7LATJC7 bugfix: resize
  • [50] 5BJCYYHN convert videos to gif so they render inline on GitHub
  • [51] VXORMHME delete experimental REPL

Change contents

  • file deletion: main_tests.lua (----------)main_tests.lua (----------)
    [4.2][4.1125:1163](),[4.2][4.1125:1163](),[4.1163][4.7:7]()
    check_eq(Editor_state.width, 200-Test_margin_left-Margin_right, 'F - test_resize_window/drawing_width')
    -- TODO: how to make assertions about when App.update got past the early exit?
    end
    check_eq(Editor_state.left, Test_margin_left, 'F - test_resize_window/left_margin')
    -- ugly; right margin switches from 0 after resize
    check_eq(Editor_state.right, 200-Margin_right, 'F - test_resize_window/right_margin')
    check_eq(Editor_state.left, Test_margin_left, 'F - test_resize_window/baseline/left_margin')
    App.resize(200, 400)
    check_eq(App.screen.width, 200, 'F - test_resize_window/width')
    check_eq(App.screen.height, 400, 'F - test_resize_window/height')
    Editor_state = edit.initialize_test_state()
    Editor_state.filename = 'foo'
  • replacement in main_tests.lua at line 4
    [2.48][2.48:152]()
    Editor_state = edit.initialize_state(Margin_top, Margin_left, App.screen.width) -- zero right margin
    [2.48]
    [4.264]
    Editor_state = edit.initialize_test_state()
  • replacement in main_tests.lua at line 8
    [4.309][2.229:319]()
    check_eq(Editor_state.left, Margin_left, 'F - test_resize_window/baseline/left_margin')
    [4.309]
    [4.309]
    check_eq(Editor_state.left, Test_margin_left, 'F - test_resize_window/baseline/left_margin')
  • replacement in main_tests.lua at line 12
    [4.466][2.320:401]()
    check_eq(Editor_state.left, Margin_left, 'F - test_resize_window/left_margin')
    [4.466]
    [2.401]
    check_eq(Editor_state.left, Test_margin_left, 'F - test_resize_window/left_margin')
    -- ugly; right margin switches from 0 after resize
  • replacement in main_tests.lua at line 15
    [2.489][2.489:590]()
    check_eq(Editor_state.width, 200-Margin_right-Margin_left, 'F - test_resize_window/drawing_width')
    [2.489]
    [4.466]
    check_eq(Editor_state.width, 200-Test_margin_left-Margin_right, 'F - test_resize_window/drawing_width')
  • edit in drawing_tests.lua at line 226
    [4.1415][4.3993:3993](),[4.1415][4.3993:3993](),[4.3993][4.27367:27564](),[4.847][4.27367:27564](),[4.847][4.27367:27564]()
    App.screen.init{width=Margin_left+256, height=300} -- drawing coordinates 1:1 with pixels
    Editor_state = edit.initialize_state(Margin_top, Margin_left, App.screen.width) -- zero right margin
  • resurrect zombie in drawing_tests.lua at line 226
    [4.847][3.6793:6937](),[4.847][3.6793:6937]()
    App.screen.init{width=Test_margin_left+256, height=300} -- drawing coordinates 1:1 with pixels
    Editor_state = edit.initialize_test_state()
  • resolve order conflict in drawing_tests.lua at line 226
    [4.1415]
    [3.6793]
  • resurrect zombie in drawing_tests.lua at line 228
    [3.6937][4.112971:113028](),[4.27564][4.112971:113028](),[4.112971][4.112971:113028](),[4.27564][4.112971:113028]()
    Editor_state.lines = load_array{'```lines', '```', ''}
  • edit in drawing_tests.lua at line 329
    [4.7265][3.7228:7372](),[4.7265][3.7228:7372](),[4.7265][3.7228:7372]()
    App.screen.init{width=Test_margin_left+256, height=300} -- drawing coordinates 1:1 with pixels
    Editor_state = edit.initialize_test_state()
  • edit in drawing_tests.lua at line 507
    [4.2844][3.8098:8242](),[4.2844][3.8098:8242](),[4.2844][3.8098:8242](),[4.4357][3.8243:8387](),[4.4357][3.8243:8387](),[4.4357][3.8243:8387]()
    App.screen.init{width=Test_margin_left+256, height=300} -- drawing coordinates 1:1 with pixels
    Editor_state = edit.initialize_test_state()
    App.screen.init{width=Test_margin_left+256, height=300} -- drawing coordinates 1:1 with pixels
    Editor_state = edit.initialize_test_state()