{
const app = new PIXI.Application({
antialias: true,
transparent: true,
width,
height: 200,
resolution: devicePixelRatio || 1
});
invalidation.then(() => app.destroy(true, true));
const context = new PIXI.Graphics();
app.stage.addChild(context);
let v = 150;
const data = Array.from({ length: width / 20 }, (_, i) => [
10 + i * 20,
(v += 25 * (Math.random() - .55))
]);
const area = d3
.area()
.y0(199)
.context(context);
const line = d3.line().context(context);
context.clear();
context.lineStyle(.5);
context.beginFill(0xeeeeee);
area(data);
context.endFill();
context.lineStyle(2);
line.curve(d3.curveBasis)(data);
context.lineStyle(1);
context.beginFill(0xee7777);
line.curve(curvePoints(3))(data);
context.endFill();
return Object.assign(app.view, { style: `width: ${width}px` });
}