In-progress browser for a directory of text files

restructure Global_state

Instead of a tree of items, we now have a flat list. Each item knows its depth. This structure is closer to what luaML's compute_layout needs.

For any future hierarchical functionality, each item still knows its parent and replies as ids inside the metadata field.

Next step: redo A for this app. compute_layout should stay fairly timeless across forks of luaML.

Pace layers for apps built on the box model: A B … F (I think of on.draw as F)

A runs least frequently, F runs on every frame.

In this app, the plan is:

  • initialize_thread will load items inside Global_state
  • A will convert items into a relatively stable box model of rows, columns and text editors in Surface, using compute_layout as a helper.
  • B will recompute some aspects of Surface as the viewport moves.

Anything that changes the height of any box needs to rerun A. Anything that moves the viewport reruns B.

Created by  Kartik K. Agaram  on June 20, 2023
FHHATD2K3LNFNJ4YKTCHAWKBNB5VSASQR4T6TQ5PK4O433P4FOEQC
Change contents