import { mountFlex } from "https://cdn.jsdelivr.net/npm/p5.flex@0.1.1/src/p5.flex.min.mjs"
import mountShadow from "./Shadow.js"
import mountSubDivide from "./subDivide.js"
import { rod, DoublePendulum } from "./DoublePendulum.js"
const [WIDTH, HEIGHT] = [2000, 1000]
const bg = p.random(["#fff", "#000"])
const fg = p.random(["#0ff", "#f00", "#ff0"])
p.createCanvas(WIDTH, HEIGHT)
p.flex({ container: { padding: "20px" } })
p.subDivide(blocks, 0, 0, p.width, p.height)
blocks.forEach((block) => {
const side = p.max(block.w, block.h)
const scale = side / WIDTH
const pos = [block.x + block.w / 2, block.y + block.h / 2]
const g = p.random(-1, 1) * scale
block.w > block.h ? [0, p.PI] : [-p.PI / 2, p.PI / 2]
const r1 = rod(len, 10, p.random(-p.PI / 2, p.PI / 2))
const r2 = rod(len, 10, p.random(-p.PI / 2, p.PI / 2))
dps.push(DoublePendulum(r1, r2, pos, g, angle))
p.describe(`"域" by Zaron Chen`)
p.shadow(fg, p.random(50))
p.stroke(255, p.random(127, 255))
p.strokeWeight(p.random(2))
if (p.random() < 0.5) p.point(d.x2, d.y2)
if (p.frameCount === 3000) p.noLoop()