import { SYMBOL_FILL, SYMBOL_STROKE, SymbolSvg, } from "./primitives"; const PNCH012_STROKE = "#8b134f"; const PNCH_CHAMBER_CONTENT_SCALE = 0.45; const PNCH_CHAMBER_CONTENT_CENTER = { x: 32, y: 24 } as const; const PNCH_CHAMBER_CONTENT_TRANSFORM = `translate(${PNCH_CHAMBER_CONTENT_CENTER.x} ${PNCH_CHAMBER_CONTENT_CENTER.y}) scale(${PNCH_CHAMBER_CONTENT_SCALE}) translate(${-PNCH_CHAMBER_CONTENT_CENTER.x} ${-PNCH_CHAMBER_CONTENT_CENTER.y})`; const PNCH_CHAMBER_LABEL_RENDERED_SIZE = 15; const PNCH_CHAMBER_SMALL_CANVAS_SCALE = 96 / 64; // SVG 字号使用 viewBox 逻辑单位;抵消 small 画布缩放后,工作区最终显示为 15px。 const PNCH_CHAMBER_LABEL_FONT_SIZE = PNCH_CHAMBER_LABEL_RENDERED_SIZE / PNCH_CHAMBER_SMALL_CANVAS_SCALE; function scalePnchChamberAnchor(x: number, y: number) { return { x: PNCH_CHAMBER_CONTENT_CENTER.x + (x - PNCH_CHAMBER_CONTENT_CENTER.x) * PNCH_CHAMBER_CONTENT_SCALE, y: PNCH_CHAMBER_CONTENT_CENTER.y + (y - PNCH_CHAMBER_CONTENT_CENTER.y) * PNCH_CHAMBER_CONTENT_SCALE, } as const; } export const PNCH012_PORT_ANCHORS = { bottom: scalePnchChamberAnchor(32, 56), left: scalePnchChamberAnchor(0, 24), right: scalePnchChamberAnchor(64, 24), top: scalePnchChamberAnchor(32, -8), } as const; export const PNCH023_PORT_ANCHORS = { left: PNCH012_PORT_ANCHORS.left, right: PNCH012_PORT_ANCHORS.right, } as const; export function AmesimPnch023Symbol() { return ( Cp ); } export function AmesimPnch012Symbol() { return ( {[0, 90, 180, 270].map((rotation) => ( ))} Cp ); }