Build a useful investigation brief
Tie input timing to the task stack
Mark the input event, handler start, long task boundaries, style recalculation, layout, paint, and first responsive frame. Expand the deepest useful stack and record which work repeats. Compare with a no-op or smaller-data run so shared browser overhead is not mistaken for application work.
Trace data through rendering work
Follow the triggering data from fetch or state update into filtering, sorting, serialization, template creation, and DOM changes. Record row or node counts, allocation-heavy transformations, and forced layout reads. Keep the data shape fixed while changing one suspected stage to preserve attribution.
Test a bounded scheduling or scope change
Evaluate one candidate such as processing records in chunks, deferring secondary decoration, narrowing the initial result set, or avoiding repeated layout reads. Replay the exact interaction and compare responsiveness, visual completeness, and correctness. Do not accept a shorter task if required content or cancellation disappears.
What to carry forward
Deliver a brief with the input-to-response timeline, measured work boundary, representative data shape, and result of one isolated experiment. State alternative explanations that remain open. Investigation is complete when implementation has a small testable change and verification has a defined interaction and responsiveness comparison.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow