jetstream v2 in zig stream.waow.tech
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119const { test } = require('node:test');const assert = require('node:assert/strict');const { createCurrent, receive, position, absorb, resizeCurrent, grainFrom } = require('../deploy/site/ambient.js');
test('surface grain stays fixed while live light and viewport change', () => { const field = createCurrent(); receive(field, 1000n, 0, 123n); const surface = grainFrom(field.seed); receive(field, 2000n, 5000, 456n); resizeCurrent(field, 1920, 1080); assert.deepEqual(grainFrom(field.seed), surface); assert.notDeepEqual(grainFrom(2000n), surface);});
test('wide screens gain facets instead of stretching the mobile glass', () => { const field = createCurrent(); receive(field, 33773500000n, 0, 12345n); receive(field, 33773501000n, 5000, 67890n); const mobileCount = field.shards.length; const phase = position(field, 7500); resizeCurrent(field, 1920, 1080); assert.ok(field.shards.length > mobileCount * 3); assert.equal(position(field, 7500), phase); assert.ok(field.shards.every(shard => { const xs = shard.points.map(point => point[0] * 1920); return Math.max(...xs) - Math.min(...xs) < 180; })); resizeCurrent(field, 390, 900); assert.equal(field.shards.length, mobileCount);});
test('event contents change refracted light without replacing the glass', () => { const a = createCurrent(), b = createCurrent(); for (const field of [a, b]) receive(field, 1000n, 0); const geometry = a.shards.map(shard => shard.points); receive(a, 2000n, 5000, BigInt(absorb(2166136261, 'event A'))); receive(b, 2000n, 5000, BigInt(absorb(2166136261, 'event B'))); assert.deepEqual(a.shards.map(shard => shard.points), geometry); assert.deepEqual(b.shards.map(shard => shard.points), geometry); assert.notDeepEqual(a.shards.map(shard => shard.target), b.shards.map(shard => shard.target));});
test('facets cover the viewport with finite, nondegenerate triangles', () => { const field = createCurrent(); receive(field, 33773500000n, 0); let area = 0; for (const { points: [a, b, c] } of field.shards) { const triangle = Math.abs((b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1])) / 2; assert.ok(triangle > 0); area += triangle; for (const value of [...a, ...b, ...c]) assert.ok(value >= 0 && value <= 1); } assert.ok(Math.abs(area - 1) < 1e-10);});
test('the same network observations produce the same glass', () => { const a = createCurrent(), b = createCurrent(); for (const field of [a, b]) { receive(field, 33773500000n, 0); receive(field, 33773501300n, 5000); } assert.deepEqual(a, b); const other = createCurrent(); receive(other, 33773500001n, 0); assert.notDeepEqual(a.shards[0], other.shards[0]);});
test('wall-clock time alone cannot generate flow or shards', () => { const field = createCurrent(); receive(field, 1000n, 0); const before = structuredClone(field); assert.equal(position(field, 60000), 0); assert.equal(receive(field, 1000n, 60000), false); assert.deepEqual(field, before);});
test('observed event counts advance the current and then settle', () => { const field = createCurrent(); receive(field, 1000n, 0); receive(field, 2000n, 5000); assert.equal(position(field, 5000), 0); assert.equal(position(field, 7500), .01); assert.equal(position(field, 10000), .02); assert.equal(position(field, 60000), .02); const target = field.to; receive(field, 2000n, 60000); assert.equal(field.to, target);});
test('zero, resets and large catch-up jumps do not manufacture runaway motion', () => { const field = createCurrent(); assert.equal(receive(field, 0n, 0), false); assert.equal(field.shards.length, 0); receive(field, 100n, 100); receive(field, 999999999999n, 5100); assert.equal(field.to, .1); receive(field, 10n, 10100); assert.equal(field.to, 0); const fresh = createCurrent(); receive(fresh, 10n, 10100); assert.deepEqual(field, fresh); for (let i = 1n; i <= 1000n; i++) receive(field, 10n + i * 1000n, Number(i) * 5000); assert.ok(field.shards.length <= 100);});
test('splinters belong to their facet and retain physical scale on wide displays', () => { const narrow=grainFrom(120n,[[10,20],[130,20],[10,140]],.2); const wide=grainFrom(120n,[[10,20],[250,20],[10,260]],.2); assert.ok(wide.length > narrow.length*3); for(const {x,y,dx,dy,nx,ny} of narrow){ assert.ok(x>=10 && y>=20 && x+y<=150.00001); assert.ok(Math.hypot(dx,dy)<7); assert.ok(Math.hypot(nx,ny)<1); assert.ok(Math.abs(dx*nx+dy*ny)<1e-10); } assert.notDeepEqual(grainFrom(120n,[[10,20],[130,20],[10,140]],.8),narrow);});