Skip to content

Ellipse

Read as Markdown

import { Ellipse } from "@pibbl/core";

Ellipse uses EllipseProps and EllipseStyle. It requires nonnegative radiusX and radiusY; rotation is finite radians. It rejects children and uses the same rotated geometry for paint, targeting, and default focus bounds.

<Ellipse
style={{
cx: 100,
cy: 70,
radiusX: 72,
radiusY: 34,
rotation: 0.35,
fill: "#38bdf8",
}}
/>

Try the Ellipse live example.

Describes an ellipse primitive for JSX or createElement authoring.

Ellipse: PibblPrimitiveComponent<EllipseProps, PrimitiveInput<EllipseProps, EllipseStyle>>

Related API: Ellipse, PibblPrimitiveComponent, EllipseProps, PrimitiveInput, EllipseStyle.

  • props — Authored component inputs, supplied through JSX or createElement. See the linked props and style types.

When called directly; Pibbl mounts this component through JSX or createElement.

EllipseProps

EllipseStyle

View source — packages/core/src/lib/components/ellipse.ts:117

Read the Drawing, layout, and effects companion for ownership, adaptation, failure modes, and verification. Agent start provides the version-selection workflow.

Compile this TSX module with jsx: "react-jsx" and jsxImportSource: "@pibbl/core", then load it from a browser entry point after the document body exists. It creates and mounts one canvas; dispose the controller before removing or replacing that canvas. The interactive study linked below adds controls beyond this minimal use case.

Download source

/** @jsxImportSource @pibbl/core */
import { pibbl, Ellipse } from '@pibbl/core';
const canvas = document.createElement('canvas');
canvas.width = 320;
canvas.height = 240;
document.body.append(canvas);
const controller = pibbl(canvas, (
<Ellipse
style={{
cx: 100,
cy: 70,
radiusX: 72,
radiusY: 34,
rotation: 0.35,
fill: "#38bdf8",
}}
/>
));
window.addEventListener('pagehide', () => controller.dispose(), { once: true });

Documentation built with @pibbl/core 0.0.2, revision 272a94a. ALPHA — NOT FOR PRODUCTION USE.