sketch out basic coordinate space conversions for new block tree / block range list structures; num -> key; key -> row; num -> containing block range; etc.

This commit is contained in:
Ryan Fleury
2024-09-25 16:53:54 -07:00
parent 48b10411bc
commit 2fb0eb0eb1
2 changed files with 72 additions and 4 deletions
@@ -512,7 +512,14 @@ internal E_Expr *ev_expr_from_expr_view_rules(Arena *arena, E_Expr *expr, EV_Vie
internal EV2_BlockTree ev2_block_tree_from_expr(Arena *arena, EV_View *view, String8 filter, String8 string, E_Expr *expr, EV_ViewRuleList *view_rules);
internal EV2_BlockTree ev2_block_tree_from_string(Arena *arena, EV_View *view, String8 filter, String8 string, EV_ViewRuleList *view_rules);
internal U64 ev2_depth_from_block(EV2_Block *block);
////////////////////////////////
//~ rjf: Block Coordinate Spaces (v2)
internal EV2_BlockRangeList ev2_block_range_list_from_tree(Arena *arena, EV2_BlockTree *block_tree);
internal EV2_BlockRange ev2_block_range_from_num(EV2_BlockRangeList *block_ranges, U64 num);
internal EV_Key ev2_key_from_num(EV2_BlockRangeList *block_ranges, U64 num);
internal U64 ev2_num_from_key(EV2_BlockRangeList *block_ranges, EV_Key key);
////////////////////////////////
//~ rjf: Row Building (v2)