auto-renaming process changed to abbreviation names with catagoreis, like DC, MMI and PD...

This commit is contained in:
2026-05-29 23:42:10 +08:00
parent 07ee7f9dd7
commit 80d7514740
12 changed files with 162 additions and 292 deletions
+26
View File
@@ -197,6 +197,32 @@ assert(
canvasHtml.includes('getSpaceRotationTarget') && canvasHtml.includes('selectedSpaceNode'),
'Space rotation should also use the currently selected component when no mouse-hold target is active'
);
assert(
canvasHtml.includes('const componentIndexesByPrefixRef = useRef({});') &&
canvasHtml.includes('const usedIndexes = componentIndexesByPrefixRef.current[prefix] || new Set();') &&
canvasHtml.includes('while (usedIndexes.has(nextIndex)) nextIndex += 1;') &&
canvasHtml.includes('usedIndexes.add(nextIndex);') &&
canvasHtml.includes('const name = `${prefix}_${nextIndex}`;') &&
canvasHtml.includes('releaseComponentDisplayNames(selectedNodes);') &&
canvasHtml.includes('releaseComponentDisplayName(oldDisplayName);') &&
canvasHtml.includes('reserveComponentDisplayName(newComponentDisplayName);') &&
!canvasHtml.includes('componentCounterRef.current') &&
!canvasHtml.includes('componentCountersByPrefixRef') &&
canvasHtml.includes('COMPONENT_CATEGORY_PREFIX_ABBREVIATIONS') &&
canvasHtml.includes("directional_coupler: 'DC'") &&
canvasHtml.includes("multimode_interferometers: 'MMI'") &&
canvasHtml.includes("photodetectors: 'PD'") &&
canvasHtml.includes("waveguides: 'WG'") &&
canvasHtml.includes("transitions: 'TRX'") &&
canvasHtml.includes("Mach_Zender_modulators: 'MZM'") &&
canvasHtml.includes("bendings: 'BD'") &&
canvasHtml.includes("edge_couplers: 'EC'") &&
canvasHtml.includes("grating_couplers: 'GC'") &&
canvasHtml.includes("terminations: 'TERM'") &&
canvasHtml.includes('abbreviate: Boolean(parsedData.category)') &&
canvasHtml.includes('abbreviate: Boolean(copyCategory)'),
'new PDK component instances should use their component category abbreviation as the display-name prefix'
);
assert(
canvasHtml.includes('normalizeAngle,') && canvasHtml.includes('normalizeAngle(Number(node.data?.rotation || 0) + 90)'),
'Space rotation should import normalizeAngle before using it'