jank reduction & completeness pass

This commit is contained in:
Ryan Fleury
2024-10-09 16:24:29 -07:00
parent ac19591df6
commit 07c781a4f6
7 changed files with 33 additions and 13 deletions
-7
View File
@@ -1695,13 +1695,6 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, D_P
rd_entity_equip_ctrl_handle(entity, event->entity);
rd_entity_equip_ctrl_id(entity, event->entity_id);
rd_entity_equip_arch(entity, event->arch);
// rjf: report
D_EventNode *n = push_array(arena, D_EventNode, 1);
SLLQueuePush(result.first, result.last, n);
result.count += 1;
D_Event *evt = &n->v;
evt->kind = D_EventKind_ProcessBegin;
}break;
case CTRL_EventKind_NewThread:
-1
View File
@@ -61,7 +61,6 @@ struct D_PathMapArray
typedef enum D_EventKind
{
D_EventKind_Null,
D_EventKind_ProcessBegin,
D_EventKind_Stop,
D_EventKind_COUNT
}
+1 -1
View File
@@ -8118,7 +8118,7 @@ rd_window_frame(RD_Window *ws)
// rjf: draw border
if(b->flags & UI_BoxFlag_DrawBorder)
{
R_Rect2DInst *inst = dr_rect(pad_2f32(b->rect, 1), b->palette->colors[UI_ColorCode_Border], 0, 1.f, 1.f);
R_Rect2DInst *inst = dr_rect(pad_2f32(b->rect, 1.f), b->palette->colors[UI_ColorCode_Border], 0, 1.f, 1.f);
MemoryCopyArray(inst->corner_radii, b->corner_radii);
// rjf: hover effect
+14
View File
@@ -5,6 +5,7 @@
//~ rjf: 0.9.12 TODO notes
//
// [ ] remainder of @msgs pass:
// [ ] entity listers - kill-specific-process, etc.
// [ ] new universal ctx menu, hover, tooltips systems
// [ ] fix memory view
// [ ] meta eval system
@@ -41,6 +42,19 @@
// [x] modules view
// [x] eval writing/committing
// [x] breakpoint hit count resetting
// [x] reset bp hit counts - not just on NewProcess, but on RUN! because
// we are now evaluating them on the control thread...
// [x] fix bug where text info is evicted, and switching back to a tab scrolls
// to the top
// [x] reset bp hit counts - not just on NewProcess, but on RUN! because
// we are now evaluating them on the control thread...
// [x] fix bug where text info is evicted, and switching back to a tab scrolls
// to the top
// [x] targets view
// [x] ensure launch controls parameterize commands correctly)
// [x] ensure ctrl+click
// [x] scheduler view
// [x] eval committing
////////////////////////////////
//~ rjf: post-0.9.12 TODO notes
+6 -2
View File
@@ -1187,7 +1187,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
FZY_Scope *fzy_scope = fzy_scope_open();
Temp scratch = scratch_begin(0, 0);
UI_ScrollPt2 scroll_pos = rd_view_scroll_pos();
F32 entity_hover_t_rate = 1 - pow_f32(2, (-20.f * rd_state->frame_dt));
F32 entity_hover_t_rate = rd_setting_val_from_code(RD_SettingCode_HoverAnimations).s32 ? (1 - pow_f32(2, (-20.f * rd_state->frame_dt))) : 1.f;
//////////////////////////////
//- rjf: unpack arguments
@@ -2604,10 +2604,14 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo
B32 is_frozen = ctrl_entity_tree_is_frozen(ctrl_entity);
RD_IconKind icon_kind = rd_cmd_kind_info_table[ctrl->kind].icon_kind;
UI_Palette *palette = ui_top_palette();
if(ctrl->kind == RD_CmdKind_SelectEntity || ctrl->kind == RD_CmdKind_EnableEntity)
if(ctrl->kind == RD_CmdKind_SelectEntity)
{
icon_kind = entity->disabled ? RD_IconKind_RadioHollow : RD_IconKind_RadioFilled;
}
if(ctrl->kind == RD_CmdKind_EnableEntity)
{
icon_kind = entity->disabled ? RD_IconKind_CheckHollow : RD_IconKind_CheckFilled;
}
if(ctrl->kind == RD_CmdKind_SelectThread)
{
icon_kind = (ctrl_handle_match(ctrl_entity->handle, rd_base_regs()->thread) ? RD_IconKind_RadioFilled : RD_IconKind_RadioHollow);
+8 -2
View File
@@ -1002,8 +1002,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
UI_Palette *margin_contents_palette = ui_build_palette(rd_palette_from_code(RD_PaletteCode_Floating));
margin_contents_palette->background = v4f32(0, 0, 0, 0);
F32 line_num_padding_px = ui_top_font_size()*1.f;
F32 entity_alive_t_rate = 1 - pow_f32(2, (-30.f * rd_state->frame_dt));
F32 entity_hover_t_rate = 1 - pow_f32(2, (-20.f * rd_state->frame_dt));
F32 entity_alive_t_rate = (1 - pow_f32(2, (-30.f * rd_state->frame_dt)));
F32 entity_hover_t_rate = rd_setting_val_from_code(RD_SettingCode_HoverAnimations).s32 ? (1 - pow_f32(2, (-20.f * rd_state->frame_dt))) : 1.f;
//////////////////////////////
//- rjf: build top-level container
@@ -1127,6 +1127,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
ui_set_next_text_alignment(UI_TextAlign_Center);
UI_Key thread_box_key = ui_key_from_stringf(top_container_box->key, "###ip_%I64x_%p", line_num, thread);
UI_Box *thread_box = ui_build_box_from_key(UI_BoxFlag_DisableTextTrunc|
UI_BoxFlag_DrawHotEffects|
UI_BoxFlag_DrawBorder|
UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)|
UI_BoxFlag_DrawText,
thread_box_key);
@@ -1275,6 +1277,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
ui_set_next_text_alignment(UI_TextAlign_Center);
UI_Key thread_box_key = ui_key_from_stringf(top_container_box->key, "###ip_%I64x_catchall_%p", line_num, thread);
UI_Box *thread_box = ui_build_box_from_key(UI_BoxFlag_DisableTextTrunc|
UI_BoxFlag_DrawHotEffects|
UI_BoxFlag_DrawBorder|
UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)|
UI_BoxFlag_DrawText,
thread_box_key);
@@ -1387,6 +1391,8 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
ui_set_next_palette(ui_build_palette(ui_top_palette(), .text = bp_color));
ui_set_next_text_alignment(UI_TextAlign_Center);
UI_Box *bp_box = ui_build_box_from_stringf(UI_BoxFlag_DrawText|
UI_BoxFlag_DrawHotEffects|
UI_BoxFlag_DrawBorder|
UI_BoxFlag_Clickable*!!(params->flags & RD_CodeSliceFlag_Clickable)|
UI_BoxFlag_DisableTextTrunc,
"%S##bp_%p",
+4
View File
@@ -3014,6 +3014,10 @@ ui_anim_(UI_Key key, UI_AnimParams *params)
{
node->params.epsilon = 0.01f;
}
if(node->params.rate == 1)
{
node->current = node->params.target;
}
return node->current;
}