8d05812a7e
Opportunity and calendar cards now isolate item rendering behind memoized components. This preserves the current action grouping and copy while preventing selection or parent dashboard updates from re-rendering every dense card body. Constraint: Do not change ranking, grouping, or product wording in this performance pass. Rejected: Introduce virtual list dependency | the current list size can benefit from memo boundaries first without new dependencies. Confidence: high Scope-risk: narrow Reversibility: clean Tested: TypeScript diagnostics for CalendarView and OpportunityOverview Tested: npm run build Not-tested: Browser profiler capture with a large production city set.