import { useMemo, useState } from 'react';
import { ready, ink } from '../../lib/mrly.js';
import { Row, Slider } from '../../lib/app.jsx';
import { Grid } from '../../lib/draw.jsx';
import { embed } from '../../lib/widget.jsx';
const m = await ready();
const STEPS = 127;
export const run = (number) => {
const grid = m.eca_seed(number, STEPS);
let live = 0;
for (const bit of grid.types) live += bit;
return { grid: { width: grid.width, height: grid.height, types: grid.types }, live };
};
export function rule() {
const [number, setNumber] = useState(90);
const seen = useMemo(() => run(number), [number]);
return (
<>
{`rule ${number} from one live cell, ${seen.grid.height} generations on ${seen.grid.width} cells, ${seen.live} of them live`}
> ); } embed('wolfram', { rule });