Something went wrong. Try again.
inkfinite (an infinite canvas/whiteboard) monorepo ink.stormlightlabs.org
svelte rust tauri svg canvas perfect-freehand
Something went wrong. Try again.
18 kB · 796 lines
JSON
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797{ "schemaVersion": 2, "capturedAt": "2026-08-23T20:05:45.296Z", "fixture": { "path": "fixtures/native/performance/corpus.json", "seed": 439041101, "profiles": [ "flat", "vector-heavy", "deeply-nested", "imported-svg", "connection-heavy", "semantic-binding-heavy" ], "sizes": [ 100, 1000, 5000, 10000 ], "viewport": { "width": 1280, "height": 720 }, "camera": { "x": 3200, "y": 3200, "zoom": 1 } }, "hardware": { "platform": "darwin", "osRelease": "25.5.0", "cpu": "Apple M1", "logicalCpuCount": 8, "cpuSpeedMHz": 2400, "totalMemoryBytes": 8589934592, "freeMemoryBytesAtCapture": 142819328 }, "runtime": { "node": "v26.7.0", "v8": "14.6.202.34-node.28", "rustc": "rustc 1.89.0 (29483883e 2025-08-04)", "cargo": "cargo 1.89.0 (c24e10642 2025-06-23)", "typescript": "Version 5.9.3", "playwright": "unavailable" }, "sampling": { "warmups": 3, "samples": 10, "statistic": "median of post-warmup samples", "clock": "node:perf_hooks performance.now()", "method": "one scheduled production editor renderer frame per sample" }, "scope": { "renderer": "packages/editor/src/renderer.ts createRenderer", "canvas": "no-op CanvasRenderingContext2D harness", "measured": [ "scene traversal", "viewport culling", "geometry dispatch", "renderer cache work" ], "excluded": [ "browser rasterization", "paint", "text shaping", "compositing", "GPU work", "browser GC", "real frame timing" ] }, "measurements": [ { "profile": "flat", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.07487499999999869, "minimum": 0.04216699999999918, "maximum": 0.1913330000000002, "all": [ 0.10662499999999397, 0.1020419999999973, 0.0848749999999967, 0.07487499999999869, 0.06812500000000199, 0.1913330000000002, 0.0500419999999977, 0.04216699999999918, 0.04445899999999625, 0.04304100000000233 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.08984999999999843, "tolerancePercent": 20 } }, { "profile": "flat", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.42595899999999887, "minimum": 0.3688749999999956, "maximum": 0.6149579999999943, "all": [ 0.6149579999999943, 0.42712500000000375, 0.4123750000000044, 0.4692499999999953, 0.3929169999999971, 0.48091699999999804, 0.38929200000000463, 0.3737080000000006, 0.42595899999999887, 0.3688749999999956 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.5111507999999986, "tolerancePercent": 20 } }, { "profile": "flat", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 1.2493750000000006, "minimum": 1.0279579999999982, "maximum": 1.7734170000000091, "all": [ 1.2493750000000006, 1.2064590000000095, 1.7734170000000091, 1.4615420000000086, 1.3401250000000005, 1.3034999999999997, 1.1456249999999955, 1.0975420000000042, 1.031583000000012, 1.0279579999999982 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 1.4992500000000006, "tolerancePercent": 20 } }, { "profile": "flat", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 2.1377919999999904, "minimum": 1.9623329999999726, "maximum": 2.7543329999999884, "all": [ 2.7543329999999884, 2.1377919999999904, 2.0882500000000164, 2.0585419999999885, 1.9623329999999726, 2.247167000000019, 2.1084999999999923, 2.1765000000000043, 2.525416999999976, 2.0265420000000063 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 2.5653503999999883, "tolerancePercent": 20 } }, { "profile": "vector-heavy", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.13508399999997778, "minimum": 0.12350000000000705, "maximum": 0.24141599999998675, "all": [ 0.24141599999998675, 0.13508399999997778, 0.12379200000000878, 0.14449999999999363, 0.14033299999999826, 0.13050000000001205, 0.12416699999999992, 0.1290000000000191, 0.12350000000000705, 0.15724999999997635 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.16210079999997332, "tolerancePercent": 20 } }, { "profile": "vector-heavy", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 1.4436660000000074, "minimum": 1.2744160000000022, "maximum": 2.1609579999999937, "all": [ 1.4479159999999922, 1.2921659999999804, 1.4436660000000074, 1.5524170000000197, 1.3402079999999899, 1.2782909999999958, 1.4411670000000072, 2.1609579999999937, 1.4730830000000026, 1.2744160000000022 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 1.7323992000000088, "tolerancePercent": 20 } }, { "profile": "vector-heavy", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 6.857833000000028, "minimum": 5.75, "maximum": 7.317208000000051, "all": [ 6.545332999999999, 7.187999999999988, 6.1566250000000196, 6.857833000000028, 5.75, 6.315832999999998, 7.311874999999986, 7.317208000000051, 7.250082999999961, 6.2564160000000015 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 8.229399600000033, "tolerancePercent": 20 } }, { "profile": "vector-heavy", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 16.666125000000022, "minimum": 15.807083000000034, "maximum": 17.71270800000002, "all": [ 15.807083000000034, 16.666125000000022, 16.332791999999984, 17.163666999999975, 16.00145900000001, 16.810333999999955, 16.81383299999993, 15.881291999999917, 16.10920800000008, 17.71270800000002 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 19.999350000000025, "tolerancePercent": 20 } }, { "profile": "deeply-nested", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.04379099999994196, "minimum": 0.035124999999993634, "maximum": 0.06845799999996416, "all": [ 0.06845799999996416, 0.04945899999995618, 0.04704099999992195, 0.05833299999994779, 0.04379099999994196, 0.035124999999993634, 0.037916999999993095, 0.037624999999934516, 0.03558399999997164, 0.03554200000007768 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.05254919999993035, "tolerancePercent": 20 } }, { "profile": "deeply-nested", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.4557910000000902, "minimum": 0.3390829999999596, "maximum": 0.7166249999999081, "all": [ 0.561333999999988, 0.5811669999999367, 0.47537499999998545, 0.7166249999999081, 0.41554100000007566, 0.4311249999999518, 0.4557910000000902, 0.3503329999999778, 0.3390829999999596, 0.34895800000003874 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.5469492000001083, "tolerancePercent": 20 } }, { "profile": "deeply-nested", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 1.152791000000093, "minimum": 0.9232079999999314, "maximum": 1.969041000000061, "all": [ 1.7086669999999913, 1.7440420000000358, 1.969041000000061, 1.152791000000093, 1.1399170000000822, 0.9814999999999827, 1.1855000000000473, 0.9232079999999314, 0.9285409999999956, 1.0229160000000093 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 1.3833492000001115, "tolerancePercent": 20 } }, { "profile": "deeply-nested", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 2.164833999999928, "minimum": 1.9029170000000022, "maximum": 3.3614579999999705, "all": [ 2.164833999999928, 1.9029170000000022, 2.1861249999999472, 1.9520420000000058, 1.9591670000000931, 3.3614579999999705, 2.3647909999999683, 2.3211670000000595, 2.052291999999966, 2.15304100000003 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 2.5978007999999133, "tolerancePercent": 20 } }, { "profile": "imported-svg", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.10862499999996089, "minimum": 0.10450000000003001, "maximum": 0.1347920000000613, "all": [ 0.10862499999996089, 0.10900000000003729, 0.11508300000002691, 0.1143329999999878, 0.1347920000000613, 0.1073750000000473, 0.10450000000003001, 0.10604100000000471, 0.10550000000000637, 0.10491700000000037 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.13034999999995306, "tolerancePercent": 20 } }, { "profile": "imported-svg", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 1.7088750000000346, "minimum": 1.265333999999939, "maximum": 14.931208000000083, "all": [ 1.4218329999999924, 1.49512500000003, 2.450833999999986, 1.265333999999939, 1.4209999999999354, 1.7088750000000346, 1.611582999999996, 14.931208000000083, 5.159708000000023, 6.48112500000002 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 2.0506500000000414, "tolerancePercent": 20 } }, { "profile": "imported-svg", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 6.886874999999918, "minimum": 6.1567079999999805, "maximum": 8.280666999999994, "all": [ 6.886874999999918, 6.7762500000000045, 6.585875000000101, 6.696749999999952, 6.9842499999999745, 7.7597090000000435, 8.280666999999994, 7.0910840000000235, 6.335916999999995, 6.1567079999999805 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 8.264249999999901, "tolerancePercent": 20 } }, { "profile": "imported-svg", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 0, "warmups": 3, "samples": 10, "milliseconds": { "median": 18.79258300000015, "minimum": 17.938874999999825, "maximum": 20.43441599999983, "all": [ 19.244459000000006, 18.94100000000003, 20.43441599999983, 18.278958000000102, 18.79258300000015, 18.030832999999802, 18.226250000000164, 17.96095799999989, 18.983291999999892, 17.938874999999825 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 22.551099600000178, "tolerancePercent": 20 } }, { "profile": "connection-heavy", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 100, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.09604100000001381, "minimum": 0.08008300000005875, "maximum": 0.12120900000013535, "all": [ 0.09604100000001381, 0.12120900000013535, 0.09950000000003456, 0.09841600000004291, 0.10029099999997015, 0.08449999999993452, 0.08137499999997999, 0.08170799999993505, 0.08008300000005875, 0.09474999999997635 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.11524920000001657, "tolerancePercent": 20 } }, { "profile": "connection-heavy", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 1000, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.7912499999999909, "minimum": 0.7081660000001193, "maximum": 1.055708999999979, "all": [ 0.8716660000000047, 0.849999999999909, 0.8428750000000491, 0.7912499999999909, 0.7274579999998423, 0.725458000000117, 0.7194580000000315, 0.72462500000006, 0.7081660000001193, 1.055708999999979 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.949499999999989, "tolerancePercent": 20 } }, { "profile": "connection-heavy", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 5000, "warmups": 3, "samples": 10, "milliseconds": { "median": 3.313667000000123, "minimum": 2.9554579999999078, "maximum": 4.0147920000001704, "all": [ 3.488832999999886, 3.0804169999998976, 4.0147920000001704, 3.810165999999981, 3.1399159999998574, 3.311583000000155, 2.982665999999881, 3.3183329999999387, 2.9554579999999078, 3.313667000000123 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 3.9764004000001476, "tolerancePercent": 20 } }, { "profile": "connection-heavy", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 10000, "warmups": 3, "samples": 10, "milliseconds": { "median": 7.219459000000143, "minimum": 6.880707999999913, "maximum": 7.686999999999898, "all": [ 7.3430419999999685, 7.046334000000115, 7.686999999999898, 7.3191249999999854, 7.021124999999984, 7.054374999999936, 6.880707999999913, 7.406082999999853, 7.085749999999962, 7.219459000000143 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 8.66335080000017, "tolerancePercent": 20 } }, { "profile": "semantic-binding-heavy", "shapeCount": 100, "shapeRecords": 100, "bindingRecords": 99, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.06166699999994307, "minimum": 0.05645800000002055, "maximum": 0.09208399999988615, "all": [ 0.08529200000020865, 0.09208399999988615, 0.07541599999990467, 0.06116599999995742, 0.058290999999826454, 0.07283400000005713, 0.05645800000002055, 0.05920900000000984, 0.06166699999994307, 0.05979200000001583 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.07400039999993169, "tolerancePercent": 20 } }, { "profile": "semantic-binding-heavy", "shapeCount": 1000, "shapeRecords": 1000, "bindingRecords": 999, "warmups": 3, "samples": 10, "milliseconds": { "median": 0.5161669999999958, "minimum": 0.5021669999998721, "maximum": 0.6874170000000959, "all": [ 0.6874170000000959, 0.5927500000000236, 0.5420419999998103, 0.5204169999999522, 0.5161669999999958, 0.5127919999999904, 0.5051670000000286, 0.5051670000000286, 0.5021669999998721, 0.5083329999999933 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 0.619400399999995, "tolerancePercent": 20 } }, { "profile": "semantic-binding-heavy", "shapeCount": 5000, "shapeRecords": 5000, "bindingRecords": 4999, "warmups": 3, "samples": 10, "milliseconds": { "median": 7.736499999999978, "minimum": 2.815166999999974, "maximum": 20.140750000000025, "all": [ 4.0119170000000395, 2.815166999999974, 3.6721249999998236, 18.83416699999998, 2.9082499999999527, 13.536499999999933, 20.140750000000025, 8.651749999999993, 6.826500000000124, 7.736499999999978 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 9.283799999999973, "tolerancePercent": 20 } }, { "profile": "semantic-binding-heavy", "shapeCount": 10000, "shapeRecords": 10000, "bindingRecords": 9999, "warmups": 3, "samples": 10, "milliseconds": { "median": 8.023292000000083, "minimum": 7.076625000000149, "maximum": 9.856958000000077, "all": [ 9.094665999999961, 7.076625000000149, 8.891332999999804, 8.023292000000083, 7.594875000000002, 7.416332999999895, 7.939999999999827, 9.109375, 7.293333000000075, 9.856958000000077 ] }, "regressionBudget": { "statistic": "median milliseconds", "maximum": 9.627950400000099, "tolerancePercent": 20 } } ]}