9 Commits

Author SHA1 Message Date
Evan Simkowitz 7d90a3912b fix nullref in layoutNode.findNode 2024-08-27 13:48:53 -07:00
Evan Simkowitz 8fcc856740 fix node collapse edge case 2024-08-27 13:25:02 -07:00
Evan Simkowitz eea57af80b Fix Cmd-W to close focused node (#273)
Fixes the in-memory focused node stack so it can be used to find the currently-focused node. This is necessary for `closeFocusedNode` to work.  Also fixes `validateFocusedNode` so it will set the first node to be focused if no focused node is available. Also cleans up leafOrder update pattern.
2024-08-26 12:32:28 -07:00
Evan Simkowitz d5140129cd Fix block numbering and switching with arrow keys (#258) 2024-08-21 17:43:11 -07:00
Evan Simkowitz fc7bb7eaca Clean up and document the layout model code (#229) 2024-08-15 12:24:06 -07:00
Evan Simkowitz e85b0d205e New layout model (#210)
This PR is a large refactoring of the layout code to move as much of the
layout state logic as possible into a unified model class, with atoms
and derived atoms to notify the display logic of changes. It also fixes
some latent bugs in the node resize code, significantly speeds up
response times for resizing and dragging, and sets us up to fully
replace the React-DnD library in the future.
2024-08-14 18:40:41 -07:00
Evan Simkowitz 9e1460b9e1 Remove UUID library in favor of Crypto (#221)
This PR swaps usage of the `uuid` library for the built-in
`crypto.randomUUID` function, which is available in both NodeJS and the
browser. The built-in function is around 12x faster than the `uuid`
library. The strings produced by the built-in function are fully
compatible with the UUIDv4 standard, so it's an easy switch.
2024-08-12 21:20:13 -07:00
Evan Simkowitz 74e86ef0cc Bootstrap layout on first launch (#186) 2024-07-31 21:27:46 -07:00
Evan Simkowitz 9fb2e58b54 rename faraday to layout (#147) 2024-07-23 13:50:23 -07:00