protected createVisual(
context: IRenderContext,
port: IPort
): CustomPortStyleVisual {
const ellipseElement = document.createElementNS(
'http://www.w3.org/2000/svg',
'ellipse'
)
const { x, y } = port.location
ellipseElement.setAttribute('cx', String(x))
ellipseElement.setAttribute('cy', String(y))
const radius = this.size * 0.5
ellipseElement.setAttribute('rx', String(radius))
ellipseElement.setAttribute('ry', String(radius))
ellipseElement.setAttribute('fill', '#6c9f44')
ellipseElement.setAttribute('stroke', '#e6f8ff')
ellipseElement.setAttribute('stroke-width', '1')
const cache = { size: this.size }
return SvgVisual.from(ellipseElement, cache)
}