| 1 | import { readFileSync, writeFileSync } from 'node:fs'; |
| 2 | import { PetNative } from '../dist/core/pet-native.js'; |
| 3 | import { compilePetTelemetry, encodePetJSONL } from '../dist/core/pet-telemetry.js'; |
| 4 | const points = readFileSync(new URL('../public/whale-points.tsv', import.meta.url), 'utf8').trim().split('\n').map(l=>l.trim().split(/\s+/).map(Number)); |
| 5 | const started = performance.now(); |
| 6 | const tape = compilePetTelemetry([], 7_200_000); |
| 7 | const pet = new PetNative(JSON.stringify(points), encodePetJSONL(tape)); |
| 8 | for(let i=0;i<720;i++) pet.step(10,false); |
| 9 | const text=pet.recording(true); |
| 10 | writeFileSync(process.argv[2] ?? new URL('../conformance-results/long-habitat.json', import.meta.url),text); |
| 11 | console.log(JSON.stringify({fixture:'Two hours of synthetic, entirely unknown telemetry',buckets:tape.length,bytes:Buffer.byteLength(text),ticks:JSON.parse(text).checkpoint.tick,generationMs:performance.now()-started})); |
| 12 |