Python → WebAssembly → WebGPU · 60 fps

bruecke

⭐ GitHub 📖 Docs
bruecke screenshot

🎮

🤖

📦

🐍

🖼️


#

""


#

import math


GRAVITY = 0.45

FLOOR   = 560

knight = {'x': 400, 'vy': 0, 'ground': True}


def frame(t):

  knight['vy'] += GRAVITY

  if keys & 16 and knight['ground']:

    knight['vy'] = -11.0

  image("knight.svg", knight['x'], knight['y'], 96, 96)


import math, random


#

balls = [(random.randint(50,750), random.randint(50,500))

         for _ in range(20)]


def frame(t):

  color(10, 10, 30); rect(0, 0, 800, 600)

  for i, (bx, by) in enumerate(balls):

    color(80 + i*8, 140, 255)

    circle(bx + math.sin(t+i)*30, by, 12)

  color(255, 220, 80)

  circle(mouse_x, mouse_y, 8)


bruecke Pyodide / PyScript p5.js / Processing
WebGPU · GPU · 60 fpsCanvas 2D / DOMCanvas 2D
✅ 3
⚠️ CDN⚠️ CDN
❌ stdlibN/A

# ── ──

# 1.

# → github.com/LEVOGNE/bruecke/releases

$ cd dist && ./server     # macOS / Linux

> cd dist && server.exe # Windows


# ── ──

$ git clone github.com/LEVOGNE/bruecke

$ ./build.sh                 #

$ cd dist && ./server


# 2.

http://127.0.0.1:7777


# 3.

:  cargo install bruecke