from nicegui import ui def main_demo() -> None: with ui.scene(width=285, height=285) as scene: scene.sphere().material('#4488ff') scene.cylinder(1, 0.5, 2, 20).material('#ff8800', opacity=0.5).move(-2, 1) scene.extrusion([[0, 0], [0, 1], [1, 0.5]], 0.1).material('#ff8888').move(-2, -2) with scene.group().move(z=2): scene.box().move(x=2) scene.box().move(y=2).rotate(0.25, 0.5, 0.75) scene.box(wireframe=True).material('#888888').move(x=2, y=2) scene.line([-4, 0, 0], [-4, 2, 0]).material('#ff0000') scene.curve([-4, 0, 0], [-4, -1, 0], [-3, -1, 0], [-3, -2, 0]).material('#008800') logo = 'https://avatars.githubusercontent.com/u/2843826' scene.texture(logo, [[[0.5, 2, 0], [2.5, 2, 0]], [[0.5, 0, 0], [2.5, 0, 0]]]).move(1, -2) teapot = 'https://upload.wikimedia.org/wikipedia/commons/9/93/Utah_teapot_(solid).stl' scene.stl(teapot).scale(0.2).move(-3, 4) scene.text('2D', 'background: rgba(0, 0, 0, 0.2); border-radius: 5px; padding: 5px').move(z=2) scene.text3d('3D', 'background: rgba(0, 0, 0, 0.2); border-radius: 5px; padding: 5px').move(y=-2).scale(.05)