# Flutter Frame Profiler Card with Nested Flame Chart Layers

A performance profiler card that renders a real flame chart: nested call frames stacked by depth, a red frame budget line cutting across the stack, and the hot path picked out in amber. Built with Wind className strings, no charting package and no custom painter.

`WDiv`, `WIcon`, `WText`, `WButton`

```dart
WDiv(
  className: 'flex flex-col w-[340px] p-5 rounded-2xl bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full',
      children: [
        WDiv(
          className: 'flex flex-row items-center',
          children: [
            WDiv(
              className: 'flex flex-row items-center justify-center w-10 h-10 rounded-xl bg-indigo-500 dark:bg-indigo-400',
              child: WIcon(
                Icons.bolt,
                className: 'text-xl text-white dark:text-gray-900'
              ),
            ),
            WDiv(
              className: 'flex flex-col ml-3',
              children: [
                WText(
                  'Frame 1042',
                  className: 'text-base font-bold text-gray-900 dark:text-white'
                ),
                WText(
                  'Profile mode, release build',
                  className: 'text-[11px] text-gray-500 dark:text-gray-400'
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'rounded-full bg-rose-100 dark:bg-rose-900 px-2 py-1',
          child: WText(
            'JANK',
            className: 'text-[10px] font-bold tracking-wide text-rose-700 dark:text-rose-200'
          ),
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-end w-full mt-5',
      children: [
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              '24.6 ms',
              className: 'text-3xl font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'TOTAL FRAME TIME',
              className: 'text-[9px] font-bold tracking-widest text-gray-400 dark:text-gray-500'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-col ml-4',
          children: [
            WDiv(
              className: 'flex flex-row items-center',
              child: WDiv(
                className: 'rounded-md bg-rose-50 dark:bg-rose-900 px-2 py-1',
                child: WText(
                  '+7.9 ms',
                  className: 'text-xs font-bold text-rose-600 dark:text-rose-200'
                ),
              ),
            ),
            WText(
              'over budget',
              className: 'text-[10px] text-gray-500 dark:text-gray-400 mt-1'
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mt-5',
      children: [
        WText(
          'FLAME CHART',
          className: 'text-[9px] font-bold tracking-widest text-gray-400 dark:text-gray-500'
        ),
        WText(
          '16.7 MS BUDGET',
          className: 'text-[9px] font-bold tracking-widest text-rose-500 dark:text-rose-400'
        ),
      ],
    ),
    WDiv(
      className: 'relative w-[300px] h-[96px] mt-2',
      children: [
        WDiv(
          className: 'flex flex-col w-[300px] h-[96px]',
          children: [
            WDiv(
              className: 'flex flex-row w-[300px] h-[16px]',
              children: [
                WDiv(
                  className: 'flex flex-row items-center w-[300px] h-[16px] rounded-sm px-[4px] bg-slate-400 dark:bg-slate-500',
                  child: WText(
                    'main()',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row w-[300px] h-[16px] mt-1',
              children: [
                WDiv(
                  className: 'flex flex-row items-center w-[176px] h-[16px] rounded-sm px-[4px] bg-indigo-500 dark:bg-indigo-400',
                  child: WText(
                    'Element.rebuild',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
                WDiv(
                  className: 'w-[4px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center justify-end w-[120px] h-[16px] rounded-sm px-[4px] bg-teal-500 dark:bg-teal-400',
                  child: WText(
                    'PaintingContext',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row w-[300px] h-[16px] mt-1',
              children: [
                WDiv(
                  className: 'w-[8px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center w-[132px] h-[16px] rounded-sm px-[4px] bg-indigo-400 dark:bg-indigo-300',
                  child: WText(
                    'ProductGrid.build',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
                WDiv(
                  className: 'w-[6px] h-[16px]'
                ),
                WDiv(
                  className: 'w-[30px] h-[16px] rounded-sm bg-indigo-300 dark:bg-indigo-200'
                ),
                WDiv(
                  className: 'w-[10px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center justify-end w-[110px] h-[16px] rounded-sm px-[4px] bg-teal-400 dark:bg-teal-300',
                  child: WText(
                    'Layer.paint',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row w-[300px] h-[16px] mt-1',
              children: [
                WDiv(
                  className: 'w-[16px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center w-[106px] h-[16px] rounded-sm px-[4px] bg-amber-500 dark:bg-amber-400',
                  child: WText(
                    'ProductTile x24',
                    className: 'text-[9px] font-semibold text-white dark:text-gray-900'
                  ),
                ),
                WDiv(
                  className: 'w-[70px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center justify-end w-[80px] h-[16px] rounded-sm px-[4px] bg-teal-300 dark:bg-teal-200',
                  child: WText(
                    'RasterCache',
                    className: 'text-[9px] font-semibold text-teal-900 dark:text-teal-900'
                  ),
                ),
              ],
            ),
            WDiv(
              className: 'flex flex-row w-[300px] h-[16px] mt-1',
              children: [
                WDiv(
                  className: 'w-[24px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center w-[72px] h-[16px] rounded-sm px-[4px] bg-amber-400 dark:bg-amber-300',
                  child: WText(
                    'Image.decode',
                    className: 'text-[9px] font-semibold text-amber-900 dark:text-amber-900'
                  ),
                ),
                WDiv(
                  className: 'w-[104px] h-[16px]'
                ),
                WDiv(
                  className: 'flex flex-row items-center justify-end w-[52px] h-[16px] rounded-sm px-[4px] bg-teal-200 dark:bg-teal-100',
                  child: WText(
                    'Shader',
                    className: 'text-[9px] font-semibold text-teal-900 dark:text-teal-900'
                  ),
                ),
              ],
            ),
          ],
        ),
        WDiv(
          className: 'absolute left-[204px] top-[0px] w-[2px] h-[96px] bg-rose-500 dark:bg-rose-400'
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mt-5',
      children: [
        WDiv(
          className: 'flex flex-col items-center w-[92px] py-2 rounded-xl bg-gray-50 dark:bg-gray-800',
          children: [
            WText(
              '9.2 ms',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'BUILD',
              className: 'text-[9px] font-bold tracking-widest text-gray-400 dark:text-gray-500 mt-1'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-col items-center w-[92px] py-2 rounded-xl bg-gray-50 dark:bg-gray-800',
          children: [
            WText(
              '15.4 ms',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'RASTER',
              className: 'text-[9px] font-bold tracking-widest text-gray-400 dark:text-gray-500 mt-1'
            ),
          ],
        ),
        WDiv(
          className: 'flex flex-col items-center w-[92px] py-2 rounded-xl bg-gray-50 dark:bg-gray-800',
          children: [
            WText(
              '318',
              className: 'text-sm font-bold text-gray-900 dark:text-white'
            ),
            WText(
              'WIDGETS',
              className: 'text-[9px] font-bold tracking-widest text-gray-400 dark:text-gray-500 mt-1'
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center w-full mt-4 p-3 rounded-xl bg-amber-50 dark:bg-amber-900',
      children: [
        WIcon(
          Icons.warning,
          className: 'text-base text-amber-600 dark:text-amber-300'
        ),
        WDiv(
          className: 'ml-2',
          child: WText(
            '24 ProductTile rebuilds spill past the budget line',
            className: 'text-[11px] font-medium text-amber-800 dark:text-amber-100'
          ),
        ),
      ],
    ),
    WDiv(
      className: 'w-full mt-4',
      child: WButton(
        className: 'flex flex-row items-center justify-center w-full py-3 rounded-xl bg-gray-900 dark:bg-white',
        child: WText(
          'Open frame in DevTools',
          className: 'text-sm font-bold text-white dark:text-gray-900'
        ),
      ),
    ),
  ],
)
```
