import anywidget
from pathlib import Path
import traitlets
class HelloWidget(anywidget.AnyWidget):
_esm = """
import p5 from "https://esm.sh/p5";
function render({ model, el }) {
new p5((p) => {
p.setup = () => {
p.createCanvas(600, 400, p.WEBGL);
};
p.draw = () => {
p.background(200);
p.translate(0, 0, 0);
p.fill(255, 165, 0);
p.sphere(model.get("radius"));
};
}, el);
}
export default { render };
"""
radius = traitlets.Any().tag(sync=True)
viewer = HelloWidget()
viewer.radius = 100
page = viewer