editor-perf

Profile TypeScript reducer, Immer, and React hooks in the Grida Canvas editor.

2.6k|145|Updated Feb 13, 2021
One-click install
npx skills add https://github.com/gridaco/grida --skill editor-perf
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: editor-perf
Source: https://github.com/gridaco/grida/tree/main/.agents/skills/editor-perf
Command: npx skills add https://github.com/gridaco/grida --skill editor-perf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The skill provides a structured framework to identify, measure, and optimize performance bottlenecks in the Grida Canvas web editor's TypeScript reducer, Immer usage, and React hooks, enabling faster interactions and smoother user experiences.

Core Features & Use Cases

  • Workflow guides for profiling reducer dispatch cost, diagnosing laggy interactions (drag, resize, color changes), and building repeatable editor benchmarks.
  • Instrumentation guidance with PerfObserver spans, headless benchmarks, and cross-environment validation to ensure consistent results.
  • Clear scope boundaries: focuses on the JS/TS editor pipeline (editor/grida-canvas/); Rust rendering engine profiling is handled by the render-perf skill and uses separate tooling.

Quick Start

Run the editor performance bench for the TS editor pipeline and enable PerfObserver to begin collecting profiling data.

Frequently Asked Questions about editor-perf

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I profile TypeScript reducer dispatch costs in a web editor?

Profile TypeScript reducer dispatch costs by instrumenting the editor codebase with PerfObserver spans to measure execution time and identify bottlenecks. This skill guides analyzing the grida-canvas pipeline to trace slow dispatch cycles and optimize performance.

Why does drag and resize lag in my React canvas editor?

Drag and resize lag often stems from inefficient Immer usage or expensive React hooks re-rendering during interactions. Use this skill to diagnose slow interactions by profiling the editor pipeline and applying targeted instrumentation to isolate the cause.

Can I build repeatable benchmarks for JavaScript editor interactions?

Yes, you can build repeatable benchmarks for JavaScript editor interactions using headless benchmark environments. This skill provides workflow guides to validate performance consistently across environments, ensuring reliable optimization measurements for interactions like drags and color changes.

Does this skill profile the Rust rendering engine or only the JavaScript editor pipeline?

This skill profiles only the JavaScript and TypeScript editor pipeline, specifically targeting the grida-canvas codebase. Rust rendering engine profiling is handled separately by the render-perf skill using different tooling and scope boundaries.

What is the best way to optimize Immer usage for slow editor color changes?

The best way to optimize Immer usage for slow color changes is to instrument the editor with PerfObserver spans to measure the exact cost of state updates. This skill helps identify performance bottlenecks in the TypeScript reducer to guide targeted optimizations.