Rocky_Mountain_Vending/.pnpm-store/v10/files/dd/e6d45d3dfd0b4faa4215ded10de73ad9c01bb714deb25cef0f7bca4ff7fefe49cb9ca8699e88825c85d4a12283459af67e6aa53cd42c23614fd37730ac4c0f
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

111 lines
3.1 KiB
Text

/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/** @typedef {'parseHTML'|'styleLayout'|'paintCompositeRender'|'scriptParseCompile'|'scriptEvaluation'|'garbageCollection'|'other'} TaskGroupIds */
/**
* @typedef TaskGroup
* @property {TaskGroupIds} id
* @property {string} label
* @property {string[]} traceEventNames
*/
/**
* Make sure the traceEventNames keep up with the ones in DevTools
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline_model/TimelineModel.js?type=cs&q=TimelineModel.TimelineModel.RecordType+%3D&g=0&l=1156
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/timeline/TimelineUIUtils.js?type=cs&q=_initEventStyles+-f:out+f:devtools&sq=package:chromium&g=0&l=39
* @type {{[P in TaskGroupIds]: {id: P, label: string, traceEventNames: Array<string>}}}
*/
const taskGroups = {
parseHTML: {
id: 'parseHTML',
label: 'Parse HTML & CSS',
traceEventNames: ['ParseHTML', 'ParseAuthorStyleSheet'],
},
styleLayout: {
id: 'styleLayout',
label: 'Style & Layout',
traceEventNames: [
'ScheduleStyleRecalculation',
'UpdateLayoutTree', // previously RecalculateStyles
'InvalidateLayout',
'Layout',
],
},
paintCompositeRender: {
id: 'paintCompositeRender',
label: 'Rendering',
traceEventNames: [
'Animation',
'HitTest',
'PaintSetup',
'Paint',
'PaintImage',
'RasterTask', // Previously Rasterize
'ScrollLayer',
'UpdateLayer',
'UpdateLayerTree',
'CompositeLayers',
'PrePaint', // New name for UpdateLayerTree: https://crrev.com/c/3519012
],
},
scriptParseCompile: {
id: 'scriptParseCompile',
label: 'Script Parsing & Compilation',
traceEventNames: ['v8.compile', 'v8.compileModule', 'v8.parseOnBackground'],
},
scriptEvaluation: {
id: 'scriptEvaluation',
label: 'Script Evaluation',
traceEventNames: [
'EventDispatch',
'EvaluateScript',
'v8.evaluateModule',
'FunctionCall',
'TimerFire',
'FireIdleCallback',
'FireAnimationFrame',
'RunMicrotasks',
'V8.Execute',
],
},
garbageCollection: {
id: 'garbageCollection',
label: 'Garbage Collection',
traceEventNames: [
'MinorGC', // Previously GCEvent
'MajorGC',
'BlinkGC.AtomicPhase', // Previously ThreadState::performIdleLazySweep, ThreadState::completeSweep, BlinkGCMarking
// Kept for compatibility on older traces
'ThreadState::performIdleLazySweep',
'ThreadState::completeSweep',
'BlinkGCMarking',
],
},
other: {
id: 'other',
label: 'Other',
traceEventNames: [
'MessageLoop::RunTask',
'TaskQueueManager::ProcessTaskFromWorkQueue',
'ThreadControllerImpl::DoWork',
],
},
};
/** @type {Object<string, TaskGroup>} */
const taskNameToGroup = {};
for (const group of Object.values(taskGroups)) {
for (const traceEventName of group.traceEventNames) {
taskNameToGroup[traceEventName] = group;
}
}
export {
taskGroups,
taskNameToGroup,
};