@driftengine/drft 3.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +9 -0
  3. package/README.md +9 -0
  4. package/dist/animationData.d.ts +53 -0
  5. package/dist/animationData.js +13 -0
  6. package/dist/coarseFirst.d.ts +27 -0
  7. package/dist/coarseFirst.js +118 -0
  8. package/dist/drftColliders.d.ts +53 -0
  9. package/dist/drftColliders.js +137 -0
  10. package/dist/drftFormat.d.ts +454 -0
  11. package/dist/drftFormat.js +350 -0
  12. package/dist/drftRead.d.ts +121 -0
  13. package/dist/drftRead.js +487 -0
  14. package/dist/drftSkin.d.ts +40 -0
  15. package/dist/drftSkin.js +270 -0
  16. package/dist/drftStream.d.ts +170 -0
  17. package/dist/drftStream.js +315 -0
  18. package/dist/drftSubs.d.ts +18 -0
  19. package/dist/drftSubs.js +70 -0
  20. package/dist/drftWrite.d.ts +103 -0
  21. package/dist/drftWrite.js +478 -0
  22. package/dist/fixtures/v1-0.d.ts +9 -0
  23. package/dist/fixtures/v1-0.js +9 -0
  24. package/dist/fixtures/v1-1.d.ts +16 -0
  25. package/dist/fixtures/v1-1.js +16 -0
  26. package/dist/fixtures/v1-11.d.ts +14 -0
  27. package/dist/fixtures/v1-11.js +14 -0
  28. package/dist/fixtures/v1-2.d.ts +19 -0
  29. package/dist/fixtures/v1-2.js +19 -0
  30. package/dist/fixtures/v1-3.d.ts +18 -0
  31. package/dist/fixtures/v1-3.js +18 -0
  32. package/dist/fixtures/v1-4.d.ts +13 -0
  33. package/dist/fixtures/v1-4.js +13 -0
  34. package/dist/fixtures/v1-5.d.ts +14 -0
  35. package/dist/fixtures/v1-5.js +14 -0
  36. package/dist/fixtures/v1-6.d.ts +9 -0
  37. package/dist/fixtures/v1-6.js +9 -0
  38. package/dist/fixtures/v1-7.d.ts +9 -0
  39. package/dist/fixtures/v1-7.js +9 -0
  40. package/dist/fixtures/v1-9.d.ts +9 -0
  41. package/dist/fixtures/v1-9.js +9 -0
  42. package/dist/index.d.ts +26 -0
  43. package/dist/index.js +29 -0
  44. package/dist/meshData.d.ts +210 -0
  45. package/dist/meshData.js +105 -0
  46. package/package.json +57 -0
  47. package/src/animationData.ts +58 -0
  48. package/src/coarseFirst.ts +113 -0
  49. package/src/drftColliders.ts +153 -0
  50. package/src/drftFormat.ts +537 -0
  51. package/src/drftRead.ts +652 -0
  52. package/src/drftSkin.ts +326 -0
  53. package/src/drftStream.ts +436 -0
  54. package/src/drftSubs.ts +86 -0
  55. package/src/drftWrite.ts +613 -0
  56. package/src/fixtures/v1-0.ts +10 -0
  57. package/src/fixtures/v1-1.ts +17 -0
  58. package/src/fixtures/v1-11.ts +15 -0
  59. package/src/fixtures/v1-2.ts +20 -0
  60. package/src/fixtures/v1-3.ts +19 -0
  61. package/src/fixtures/v1-4.ts +14 -0
  62. package/src/fixtures/v1-5.ts +15 -0
  63. package/src/fixtures/v1-6.ts +10 -0
  64. package/src/fixtures/v1-7.ts +10 -0
  65. package/src/fixtures/v1-9.ts +10 -0
  66. package/src/index.ts +56 -0
  67. package/src/meshData.ts +301 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A `.drft` written by version 1.7, kept byte for byte.
3
+ *
4
+ * **Never regenerate this file.** It exists so today's reader can be tested against
5
+ * genuinely old bytes; rewriting it with a newer writer would only prove that the writer
6
+ * and the reader agree, which they always do, and would silently retire the guarantee it
7
+ * is here to defend.
8
+ */
9
+ export const FIXTURE_V1_7 = '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zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD7NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj+amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT4zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/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bAAAAG0AAABiAAAAbQAAAGMAAABjAAAAbQAAAG4AAABjAAAAbgAAAGQAAABkAAAAbgAAAG8AAABlAAAAcAAAAGYAAABmAAAAcAAAAHEAAABmAAAAcQAAAGcAAABnAAAAcQAAAHIAAABnAAAAcgAAAGgAAABoAAAAcgAAAHMAAABoAAAAcwAAAGkAAABpAAAAcwAAAHQAAABpAAAAdAAAAGoAAABqAAAAdAAAAHUAAABqAAAAdQAAAGsAAABrAAAAdQAAAHYAAABrAAAAdgAAAGwAAABsAAAAdgAAAHcAAABsAAAAdwAAAG0AAABtAAAAdwAAAHgAAABtAAAAeAAAAG4AAABuAAAAeAAAAHkAAABuAAAAeQAAAG8AAABvAAAAeQAAAHoAAABwAAAAewAAAHEAAABxAAAAewAAAHwAAABxAAAAfAAAAHIAAAByAAAAfAAAAH0AAAByAAAAfQAAAHMAAABzAAAAfQAAAH4AAABzAAAAfgAAAHQAAAB0AAAAfgAAAH8AAAB0AAAAfwAAAHUAAAB1AAAAfwAAAIAAAAB1AAAAgAAAAHYAAAB2AAAAgAAAAIEAAAB2AAAAgQAAAHcAAAB3AAAAgQAAAIIAAAB3AAAAggAAAHgAAAB4AAAAggAAAIMAAAB4AAAAgwAAAHkAAAB5AAAAgwAAAIQAAAB5AAAAhAAAAHoAAAB6AAAAhAAAAIUAAAB7AAAAhgAAAHwAAAB8AAAAhgAAAIcAAAB8AAAAhwAAAH0AAAB9AAAAhwAAAIgAAAB9AAAAiAAAAH4AAAB+AAAAiAAAAIkAAAB+AAAAiQAAAH8AAAB/AAAAiQAAAIoAAAB/AAAAigAAAIAAAACAAAAAigAAAIsAAACAAAAAiwAAAIEAAACBAAAAiwAAAIwAAACBAAAAjAAAAIIAAACCAAAAjAAAAI0AAACCAAAAjQAAAIMAAACDAAAAjQAAAI4AAACDAAAAjgAAAIQAAACEAAAAjgAAAI8AAACEAAAAjwAAAIUAAACFAAAAjwAAAJAAAACGAAAAkQAAAIcAAACHAAAAkQAAAJIAAACHAAAAkgAAAIgAAACIAAAAkgAAAJMAAACIAAAAkwAAAIkAAACJAAAAkwAAAJQAAACJAAAAlAAAAIoAAACKAAAAlAAAAJUAAACKAAAAlQAAAIsAAACLAAAAlQAAAJYAAACLAAAAlgAAAIwAAACMAAAAlgAAAJcAAACMAAAAlwAAAI0AAACNAAAAlwAAAJgAAACNAAAAmAAAAI4AAACOAAAAmAAAAJkAAACOAAAAmQAAAI8AAACPAAAAmQAAAJoAAACPAAAAmgAAAJAAAACQAAAAmgAAAJsAAAAYAAAAJAAAAAAAAAAAAAAAAAAYQQAAAL8AAAC/AAAYQQAAAD8AAAC/AAAYQQAAAD8AAAA/AAAYQQAAAL8AAAA/AAAIQQAAAL8AAAA/AAAIQQAAAD8AAAA/AAAIQQAAAD8AAAC/AAAIQQAAAL8AAAC/AAAIQQAAAD8AAAC/AAAIQQAAAD8AAAA/AAAYQQAAAD8AAAA/AAAYQQAAAD8AAAC/AAAYQQAAAL8AAAC/AAAYQQAAAL8AAAA/AAAIQQAAAL8AAAA/AAAIQQAAAL8AAAC/AAAIQQAAAL8AAAA/AAAYQQAAAL8AAAA/AAAYQQAAAD8AAAA/AAAIQQAAAD8AAAA/AAAIQQAAAD8AAAC/AAAYQQAAAD8AAAC/AAAYQQAAAL8AAAC/AAAIQQAAAL8AAAC/AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+zczMPc3MTD6amZk+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAAAAAAAAIAAAADAAAABAAAAAUAAAAGAAAABAAAAAYAAAAHAAAACAAAAAkAAAAKAAAACAAAAAoAAAALAAAADAAAAA0AAAAOAAAADAAAAA4AAAAPAAAAEAAAABEAAAASAAAAEAAAABIAAAATAAAAFAAAABUAAAAWAAAAFAAAABYAAAAXAAAAAgAAAAEAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAAAAIA+AAAAAAAAAAAAAAAAAAAAPwAAAAA=';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A `.drft` written by version 1.9, kept byte for byte.
3
+ *
4
+ * **Never regenerate this file.** It exists so today's reader can be tested against
5
+ * genuinely old bytes; rewriting it with a newer writer would only prove that the writer
6
+ * and the reader agree, which they always do, and would silently retire the guarantee it
7
+ * is here to defend.
8
+ */
9
+ export declare const FIXTURE_V1_9 = "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zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD7NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj+amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT4zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/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bAAAAG0AAABiAAAAbQAAAGMAAABjAAAAbQAAAG4AAABjAAAAbgAAAGQAAABkAAAAbgAAAG8AAABlAAAAcAAAAGYAAABmAAAAcAAAAHEAAABmAAAAcQAAAGcAAABnAAAAcQAAAHIAAABnAAAAcgAAAGgAAABoAAAAcgAAAHMAAABoAAAAcwAAAGkAAABpAAAAcwAAAHQAAABpAAAAdAAAAGoAAABqAAAAdAAAAHUAAABqAAAAdQAAAGsAAABrAAAAdQAAAHYAAABrAAAAdgAAAGwAAABsAAAAdgAAAHcAAABsAAAAdwAAAG0AAABtAAAAdwAAAHgAAABtAAAAeAAAAG4AAABuAAAAeAAAAHkAAABuAAAAeQAAAG8AAABvAAAAeQAAAHoAAABwAAAAewAAAHEAAABxAAAAewAAAHwAAABxAAAAfAAAAHIAAAByAAAAfAAAAH0AAAByAAAAfQAAAHMAAABzAAAAfQAAAH4AAABzAAAAfgAAAHQAAAB0AAAAfgAAAH8AAAB0AAAAfwAAAHUAAAB1AAAAfwAAAIAAAAB1AAAAgAAAAHYAAAB2AAAAgAAAAIEAAAB2AAAAgQAAAHcAAAB3AAAAgQAAAIIAAAB3AAAAggAAAHgAAAB4AAAAggAAAIMAAAB4AAAAgwAAAHkAAAB5AAAAgwAAAIQAAAB5AAAAhAAAAHoAAAB6AAAAhAAAAIUAAAB7AAAAhgAAAHwAAAB8AAAAhgAAAIcAAAB8AAAAhwAAAH0AAAB9AAAAhwAAAIgAAAB9AAAAiAAAAH4AAAB+AAAAiAAAAIkAAAB+AAAAiQAAAH8AAAB/AAAAiQAAAIoAAAB/AAAAigAAAIAAAACAAAAAigAAAIsAAACAAAAAiwAAAIEAAACBAAAAiwAAAIwAAACBAAAAjAAAAIIAAACCAAAAjAAAAI0AAACCAAAAjQAAAIMAAACDAAAAjQAAAI4AAACDAAAAjgAAAIQAAACEAAAAjgAAAI8AAACEAAAAjwAAAIUAAACFAAAAjwAAAJAAAACGAAAAkQAAAIcAAACHAAAAkQAAAJIAAACHAAAAkgAAAIgAAACIAAAAkgAAAJMAAACIAAAAkwAAAIkAAACJAAAAkwAAAJQAAACJAAAAlAAAAIoAAACKAAAAlAAAAJUAAACKAAAAlQAAAIsAAACLAAAAlQAAAJYAAACLAAAAlgAAAIwAAACMAAAAlgAAAJcAAACMAAAAlwAAAI0AAACNAAAAlwAAAJgAAACNAAAAmAAAAI4AAACOAAAAmAAAAJkAAACOAAAAmQAAAI8AAACPAAAAmQAAAJoAAACPAAAAmgAAAJAAAACQAAAAmgAAAJsAAAACAAAAAQAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAABgAAAAkAAAAAAAAAAAAAAAAABhBAAAAvwAAAL8AABhBAAAAPwAAAL8AABhBAAAAPwAAAD8AABhBAAAAvwAAAD8AAAhBAAAAvwAAAD8AAAhBAAAAPwAAAD8AAAhBAAAAPwAAAL8AAAhBAAAAvwAAAL8AAAhBAAAAPwAAAL8AAAhBAAAAPwAAAD8AABhBAAAAPwAAAD8AABhBAAAAPwAAAL8AABhBAAAAvwAAAL8AABhBAAAAvwAAAD8AAAhBAAAAvwAAAD8AAAhBAAAAvwAAAL8AAAhBAAAAvwAAAD8AABhBAAAAvwAAAD8AABhBAAAAPwAAAD8AAAhBAAAAPwAAAD8AAAhBAAAAPwAAAL8AABhBAAAAPwAAAL8AABhBAAAAvwAAAL8AAAhBAAAAvwAAAL8AAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL/NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAAIAAAACgAAAAsAAAAMAAAADQAAAA4AAAAMAAAADgAAAA8AAAAQAAAAEQAAABIAAAAQAAAAEgAAABMAAAAUAAAAFQAAABYAAAAUAAAAFgAAABcAAAA=";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * A `.drft` written by version 1.9, kept byte for byte.
3
+ *
4
+ * **Never regenerate this file.** It exists so today's reader can be tested against
5
+ * genuinely old bytes; rewriting it with a newer writer would only prove that the writer
6
+ * and the reader agree, which they always do, and would silently retire the guarantee it
7
+ * is here to defend.
8
+ */
9
+ export const FIXTURE_V1_9 = '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zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD5mZmY/zczMPc3MTD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD4AAIA+AACAPgAAgD7NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw9zczMPc3MzD3NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD7NzMw+zczMPs3MzD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj/NzEw+zczMPmZmZj+amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT6amZk+mpmZPpqZmT4zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/MzMzPzMzMz8zMzM/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bAAAAG0AAABiAAAAbQAAAGMAAABjAAAAbQAAAG4AAABjAAAAbgAAAGQAAABkAAAAbgAAAG8AAABlAAAAcAAAAGYAAABmAAAAcAAAAHEAAABmAAAAcQAAAGcAAABnAAAAcQAAAHIAAABnAAAAcgAAAGgAAABoAAAAcgAAAHMAAABoAAAAcwAAAGkAAABpAAAAcwAAAHQAAABpAAAAdAAAAGoAAABqAAAAdAAAAHUAAABqAAAAdQAAAGsAAABrAAAAdQAAAHYAAABrAAAAdgAAAGwAAABsAAAAdgAAAHcAAABsAAAAdwAAAG0AAABtAAAAdwAAAHgAAABtAAAAeAAAAG4AAABuAAAAeAAAAHkAAABuAAAAeQAAAG8AAABvAAAAeQAAAHoAAABwAAAAewAAAHEAAABxAAAAewAAAHwAAABxAAAAfAAAAHIAAAByAAAAfAAAAH0AAAByAAAAfQAAAHMAAABzAAAAfQAAAH4AAABzAAAAfgAAAHQAAAB0AAAAfgAAAH8AAAB0AAAAfwAAAHUAAAB1AAAAfwAAAIAAAAB1AAAAgAAAAHYAAAB2AAAAgAAAAIEAAAB2AAAAgQAAAHcAAAB3AAAAgQAAAIIAAAB3AAAAggAAAHgAAAB4AAAAggAAAIMAAAB4AAAAgwAAAHkAAAB5AAAAgwAAAIQAAAB5AAAAhAAAAHoAAAB6AAAAhAAAAIUAAAB7AAAAhgAAAHwAAAB8AAAAhgAAAIcAAAB8AAAAhwAAAH0AAAB9AAAAhwAAAIgAAAB9AAAAiAAAAH4AAAB+AAAAiAAAAIkAAAB+AAAAiQAAAH8AAAB/AAAAiQAAAIoAAAB/AAAAigAAAIAAAACAAAAAigAAAIsAAACAAAAAiwAAAIEAAACBAAAAiwAAAIwAAACBAAAAjAAAAIIAAACCAAAAjAAAAI0AAACCAAAAjQAAAIMAAACDAAAAjQAAAI4AAACDAAAAjgAAAIQAAACEAAAAjgAAAI8AAACEAAAAjwAAAIUAAACFAAAAjwAAAJAAAACGAAAAkQAAAIcAAACHAAAAkQAAAJIAAACHAAAAkgAAAIgAAACIAAAAkgAAAJMAAACIAAAAkwAAAIkAAACJAAAAkwAAAJQAAACJAAAAlAAAAIoAAACKAAAAlAAAAJUAAACKAAAAlQAAAIsAAACLAAAAlQAAAJYAAACLAAAAlgAAAIwAAACMAAAAlgAAAJcAAACMAAAAlwAAAI0AAACNAAAAlwAAAJgAAACNAAAAmAAAAI4AAACOAAAAmAAAAJkAAACOAAAAmQAAAI8AAACPAAAAmQAAAJoAAACPAAAAmgAAAJAAAACQAAAAmgAAAJsAAAACAAAAAQAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAAAAAgD4AAAAAAAAAAAAAAAAAAAA/AAAAABgAAAAkAAAAAAAAAAAAAAAAABhBAAAAvwAAAL8AABhBAAAAPwAAAL8AABhBAAAAPwAAAD8AABhBAAAAvwAAAD8AAAhBAAAAvwAAAD8AAAhBAAAAPwAAAD8AAAhBAAAAPwAAAL8AAAhBAAAAvwAAAL8AAAhBAAAAPwAAAL8AAAhBAAAAPwAAAD8AABhBAAAAPwAAAD8AABhBAAAAPwAAAL8AABhBAAAAvwAAAL8AABhBAAAAvwAAAD8AAAhBAAAAvwAAAD8AAAhBAAAAvwAAAL8AAAhBAAAAvwAAAD8AABhBAAAAvwAAAD8AABhBAAAAPwAAAD8AAAhBAAAAPwAAAD8AAAhBAAAAPwAAAL8AABhBAAAAPwAAAL8AABhBAAAAvwAAAL8AAAhBAAAAvwAAAL8AAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL/NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT7NzMw9zcxMPpqZmT4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAAAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAEAAAABgAAAAcAAAAIAAAACQAAAAoAAAAIAAAACgAAAAsAAAAMAAAADQAAAA4AAAAMAAAADgAAAA8AAAAQAAAAEQAAABIAAAAQAAAAEgAAABMAAAAUAAAAFQAAABYAAAAUAAAAFgAAABcAAAA=';
@@ -0,0 +1,26 @@
1
+ /*! DriftEngine | Copyright 2026 Drift Technologies | Apache-2.0 | https://github.com/drftrun/driftengine */
2
+ /**
3
+ * The `.drft` container, and nothing else.
4
+ *
5
+ * This package declares no runtime dependency, which is the assertion it exists to make: a
6
+ * file written by this engine can be read by something that never draws. `MeshData` lives
7
+ * here for the same reason — it is what the container carries.
8
+ */
9
+ export type { MeshData } from './meshData.ts';
10
+ export { validateMeshData } from './meshData.ts';
11
+ export type { AnimationClip, DrftSkin, Joint, JointTrack, TrackPath } from './animationData.ts';
12
+ export type { DrftMorph, DrftNode } from './drftSkin.ts';
13
+ export type { DrftSubs, DrftSubstanceEntry } from './drftSubs.ts';
14
+ export { buildSubs, readSubs } from './drftSubs.ts';
15
+ export { buildClip, buildMorph, buildNodes, buildSkin, readClip, readMorph, readNodes, readSkin, } from './drftSkin.ts';
16
+ export { MAX_COLLIDER_HULLS, MAX_COLLIDER_POINTS, buildColliders, readColliders, } from './drftColliders.ts';
17
+ export { readDrft } from './drftRead.ts';
18
+ export type { DrftAsset, DrftTexture } from './drftRead.ts';
19
+ export { DrftStream, streamDrft } from './drftStream.ts';
20
+ export type { DrftManifest, DrftStreamHandlers } from './drftStream.ts';
21
+ export { writeDrft } from './drftWrite.ts';
22
+ export type { DrftSource, DrftTextureSource } from './drftWrite.ts';
23
+ export { DrftError, DRFT_VERSION_MAJOR, DRFT_VERSION_MINOR } from './drftFormat.ts';
24
+ export { CODEC_PNG, CODEC_JPEG, CODEC_WEBP, CODEC_RAW, codecName } from './drftFormat.ts';
25
+ export type { DrftHead, DrftMaterial, DrftSplatBlock, DrftSplats } from './drftFormat.ts';
26
+ export { coarseFirstOrder } from './coarseFirst.ts';
package/dist/index.js ADDED
@@ -0,0 +1,29 @@
1
+ /*! DriftEngine | Copyright 2026 Drift Technologies | Apache-2.0 | https://github.com/drftrun/driftengine */
2
+ /**
3
+ * The `.drft` container, and nothing else.
4
+ *
5
+ * This package declares no runtime dependency, which is the assertion it exists to make: a
6
+ * file written by this engine can be read by something that never draws. `MeshData` lives
7
+ * here for the same reason — it is what the container carries.
8
+ */
9
+ export { validateMeshData } from './meshData.js';
10
+ export { buildSubs, readSubs } from './drftSubs.js';
11
+ export { buildClip, buildMorph, buildNodes, buildSkin, readClip, readMorph, readNodes, readSkin, } from './drftSkin.js';
12
+ /*
13
+ * The `.drft` asset container. See docs/FORMAT.md for the format and its compatibility rules.
14
+ *
15
+ * The reader is runtime code; the writer is not — it lives here because the baker imports
16
+ * the engine as a library, and shipping both from one module is what keeps the two halves
17
+ * of the format unable to disagree about a byte.
18
+ */
19
+ export { MAX_COLLIDER_HULLS, MAX_COLLIDER_POINTS, buildColliders, readColliders, } from './drftColliders.js';
20
+ export { readDrft } from './drftRead.js';
21
+ /* Reading one while it is still arriving, for a scene that would rather show a model build. */
22
+ export { DrftStream, streamDrft } from './drftStream.js';
23
+ export { writeDrft } from './drftWrite.js';
24
+ export { DrftError, DRFT_VERSION_MAJOR, DRFT_VERSION_MINOR } from './drftFormat.js';
25
+ /* A consumer decoding an embedded texture has to know which codec it is holding. */
26
+ export { CODEC_PNG, CODEC_JPEG, CODEC_WEBP, CODEC_RAW, codecName } from './drftFormat.js';
27
+ /* The order a capture is written in, so a baker outside this package can lay one out the same
28
+ way — it is the whole reason a capture streams into a recognisable place. */
29
+ export { coarseFirstOrder } from './coarseFirst.js';
@@ -0,0 +1,210 @@
1
+ /**
2
+ * A description of vertex data, and the check that it is coherent.
3
+ *
4
+ * It lives in the format package rather than the renderer because it is the boundary object
5
+ * between them: the container's whole job is to carry one of these, and every import the
6
+ * format code took from `render` was this type or its validator. Putting it here is what lets
7
+ * the container be read and written by something that never draws.
8
+ *
9
+ * The renderer re-exports both, so nothing that consumed them from there has to move.
10
+ */
11
+ export interface MeshData {
12
+ positions: Float32Array;
13
+ normals: Float32Array;
14
+ colors: Float32Array;
15
+ /** One float per vertex: self-illumination, revealed only at night. */
16
+ emissive: Float32Array;
17
+ /**
18
+ * One float per vertex, 0–1: how sharply this surface takes a sun highlight.
19
+ *
20
+ * Optional, and that is a cost decision rather than a convenience one. Seventeen
21
+ * places build a `MeshData`, and only a handful of props shine — so rather than make every
22
+ * producer fill an array of zeroes, an absent array leaves attribute 4 disabled and
23
+ * the shader reads the constant WebGL supplies for it. A world with no shiny
24
+ * geometry allocates nothing and uploads nothing.
25
+ */
26
+ specular?: Float32Array;
27
+ /**
28
+ * Four floats per vertex: a tangent, and the handedness of the bitangent in `w`.
29
+ *
30
+ * Optional for the same cost reason as `specular` and `uvs`, and the reason bites harder here:
31
+ * four floats a vertex is the widest optional attribute in the format, and only geometry that
32
+ * carries a normal map has any use for it. A world with none allocates nothing, uploads
33
+ * nothing, and reads the constant its backend supplies.
34
+ *
35
+ * `w` is ±1. The bitangent is `cross(normal, tangent) * w`, and the sign is what keeps a
36
+ * mirrored UV layout from lighting one side of a model inside out. See `generateTangents`.
37
+ */
38
+ tangents?: Float32Array;
39
+ /**
40
+ * Two floats per vertex: where this vertex sits in a surface texture.
41
+ *
42
+ * Optional for the same cost reason as `specular`, and the reason carries further
43
+ * here because most geometry in this engine is coloured rather than textured. An
44
+ * absent array leaves attribute 5 disabled and the shader reads the constant WebGL
45
+ * supplies, so a world with no textured surfaces allocates nothing and uploads
46
+ * nothing — and none of the existing `MeshData` producers had to change to gain a
47
+ * coordinate they will never use.
48
+ *
49
+ * Only meaningful alongside a `SurfaceTexture` at draw time. Geometry carrying UVs
50
+ * and drawn without a texture shades from its vertex colours exactly as before.
51
+ */
52
+ uvs?: Float32Array;
53
+ /**
54
+ * Three floats per vertex: the colour this vertex emits, independent of its albedo.
55
+ *
56
+ * Optional, and absent means what this engine always did — the emissive term is the
57
+ * surface's own colour scaled by `emissive`, which is right for anything glowing because
58
+ * it is hot or lit from within. It is wrong whenever the glow is a different colour from
59
+ * the paint, and the approximation gets brightness right and hue wrong: a ceiling tile
60
+ * emitting a dull warm haze over a pale panel cannot be expressed by scaling the panel.
61
+ *
62
+ * A negative component means "inherit the albedo", which is what an absent array supplies
63
+ * for every vertex — so a mesh that names a colour for some of its geometry and not the
64
+ * rest is one buffer rather than two meshes.
65
+ */
66
+ emissiveColor?: Float32Array;
67
+ /**
68
+ * One float per vertex, 0–1: how rough this surface is, which is the *shape* of its
69
+ * highlight rather than its strength.
70
+ *
71
+ * Absent means the old constant, so nothing existing changes. It matters because a
72
+ * highlight's width is not something intensity can express: a polished floor seen at a
73
+ * grazing angle smears a lamp into a long streak down the view direction, and a tight
74
+ * fixed lobe can only ever make a small round dot brighter. `specular` says how much
75
+ * light comes back; this says over how wide an angle.
76
+ */
77
+ roughness?: Float32Array;
78
+ /**
79
+ * One float per vertex, 0–1: how much visible mineral structure this surface has.
80
+ *
81
+ * **Absent means none**, which is the one thing the previous two attempts could not say.
82
+ * Grain was first gated on `specular > 0`, then weighted by `roughness`, and both are
83
+ * proxies rather than statements: painted plaster is rough and has no grain, polished
84
+ * granite is smooth and has a great deal of it. Deriving either property from the other
85
+ * guesses, and the guess was wrong in both directions — a painted tower at roughness 0.55
86
+ * took 55% grain and read as marble.
87
+ *
88
+ * So it is its own attribute, exactly as `specular` and `roughness` are, and a surface
89
+ * states it while it is being built. This is the *material* half of the answer; how strong
90
+ * the pattern is at a given amount belongs to the shader's constants.
91
+ */
92
+ grain?: Float32Array;
93
+ /**
94
+ * How much microscopic relief a surface has, 0 to 1. Absent means a perfectly smooth one.
95
+ *
96
+ * **The sibling of `grain`, and the difference between them is the whole point.** Grain says
97
+ * how much *light* a point takes, so it varies brightness across a face that stays flat. This
98
+ * says which way the surface is *facing*, so it varies the direction light leaves it. Only the
99
+ * second gives a surface texture that survives a shallow angle and moves as you walk past:
100
+ * asphalt aggregate, cast concrete, orange peel on paint, hammered metal, plaster stipple.
101
+ * Neither stands in for the other, which is why it is a second attribute rather than a
102
+ * weighting of the first.
103
+ *
104
+ * Absent means none, so every mesh built before this existed is unchanged. How coarse the
105
+ * relief is and how strong belongs to the material rather than the geometry, since that is what
106
+ * separates asphalt from plaster, and the pass states it: see `Renderer.setSurfaceRelief`.
107
+ */
108
+ relief?: Float32Array;
109
+ /**
110
+ * Four floats per vertex, and the only attribute whose lanes mean four different things.
111
+ *
112
+ * `.x` **sway**: how far the shared wind moves this vertex, along the wind's own direction.
113
+ * `.y` **skyDirect**: how much of the directional term this vertex receives, 0 to 1.
114
+ * `.z` **alpha**: multiplies the draw's own opacity and the texture's cutout coverage.
115
+ * `.w` is reserved, declared and unread.
116
+ *
117
+ * **One attribute and not three, because locations are the scarce resource here.** WebGL2
118
+ * guarantees sixteen vertex attribute locations, eleven are already spent, and an instanced
119
+ * draw spends all sixteen. A `vec4` costs the same one location a `float` would, so the spare
120
+ * lane is free and the next per-vertex question does not have to re-argue the budget.
121
+ *
122
+ * **`skyDirect` is a separate lane rather than a factor in `colors`, and that is the defect it
123
+ * exists to fix.** The shader reads `albedo = vColor` and then `lit = albedo * (ambient + sun)`,
124
+ * so a sky factor carried in the vertex colour scales both terms and an enclosed face is
125
+ * darkened twice — once for having no sky, once for the ambient it should still have received.
126
+ * A consumer reporting this raised a floor constant to 0.45 to compensate and measured what it
127
+ * cost: 55% of a chunk's vertices sat between 0.10 and 0.20.
128
+ *
129
+ * Absent means `(0, 1, 1, 0)`: planted, fully sunlit, opaque. Every mesh built before this
130
+ * existed is unchanged to the bit, which is what the absent-attribute constant buys.
131
+ *
132
+ * **Sway is authored, not derived.** `scatter.ts` squares its own falloff because it computes
133
+ * one from height, where a linear response slides a whole plant sideways and reads as the
134
+ * ground moving. Here the author writes the curve — 0 on a trunk, 1 at a leaf tip — so squaring
135
+ * it would overrule a shape somebody had already chosen. What that costs is that a lane filled
136
+ * linearly up a trunk gives a tree that slides at its base, and the fix is the curve.
137
+ */
138
+ channel?: Float32Array;
139
+ /**
140
+ * Four floats per vertex: which joints move this vertex, as indices into a skinning palette.
141
+ *
142
+ * Optional for the same cost reason as every attribute above it, and the reason is strongest
143
+ * here: only a skinned character has any use for one, and a world of walls and props allocates
144
+ * nothing and uploads nothing. Absent means unskinned, and an unskinned mesh takes exactly the
145
+ * draw path it took before skinning existed.
146
+ *
147
+ * **Four influences and not eight.** Four is what glTF's `JOINTS_0` carries, what every DCC tool
148
+ * exports without being asked, and what fits one attribute. Eight doubles the attribute cost of
149
+ * every skinned vertex to serve a case that rarely survives an export.
150
+ *
151
+ * **`Float32Array` and not `Uint8Array`, which costs twelve bytes a vertex.** Every attribute in
152
+ * this format is float32 and the absent-attribute mechanism depends on it: `mesh.ts` attaches
153
+ * with `gl.FLOAT`, `ABSENT_ATTRIBUTE` is a number array, and `buffers.ts` interleaves floats and
154
+ * writes float constants for what a mesh omits. An integer attribute needs `vertexAttribIPointer`
155
+ * on one backend, a `uint8x4` entry on the other, and an integer arm through the constants buffer
156
+ * — four places where one question starts being answered twice. Integers to 2^24 are exact in
157
+ * float32, so an index is never rounded. What would make it wrong is a consumer whose payload is
158
+ * dominated by skinned meshes; the fix is a `uint8x4` attribute and that fourth mechanism.
159
+ */
160
+ joints?: Float32Array;
161
+ /**
162
+ * Four floats per vertex: how much each of `joints`' four influences moves this vertex.
163
+ *
164
+ * Normalised by the importer rather than by the shader, because normalising per vertex per frame
165
+ * costs a divide on every vertex to correct data that should have been fixed once. `gltfSkin.ts`
166
+ * normalises on the way in and warns when a set does not sum to one.
167
+ *
168
+ * Absent means unskinned, and it must be absent exactly when `joints` is — one without the other
169
+ * is refused below rather than drawn.
170
+ */
171
+ weights?: Float32Array;
172
+ /**
173
+ * Morph target position deltas: `morphTargetCount` targets, three floats a vertex each.
174
+ *
175
+ * Laid out **interleaved by vertex** — every target of one vertex adjacent — because the shader
176
+ * reads all of a vertex's targets together and nothing reads one target across many vertices.
177
+ * So the index of target `t` for vertex `v` is `(v * count + t) * 3`.
178
+ *
179
+ * A delta rather than an absolute position, which is what makes them additive: several targets
180
+ * apply at once by weight, and a weight of zero contributes nothing rather than dragging the
181
+ * vertex toward some other shape.
182
+ *
183
+ * **Positions only.** A target that also moved normals would double this array and add a second
184
+ * fetch per target in the vertex stage; what it gives up is shading that lags a strongly morphed
185
+ * surface. What would make it wrong is a face rig, where the lighting is most of the effect.
186
+ */
187
+ morphTargets?: Float32Array;
188
+ /** How many targets `morphTargets` holds. Absent means none, whatever the array says. */
189
+ morphTargetCount?: number;
190
+ indices: Uint32Array;
191
+ }
192
+ /**
193
+ * Every attribute covers every vertex, and every index names one that exists.
194
+ *
195
+ * **Why this is checked rather than assumed.** WebGL does not require a driver to survive
196
+ * an attribute buffer that is too small for the draw: the implementation may read zeroes,
197
+ * and it may equally **drop the draw entirely**. Desktop drivers clamp and carry on, which
198
+ * means a mesh with one short array renders perfectly for the author and vanishes without
199
+ * a word on hardware they do not own. There is no GL error either way, so nothing
200
+ * downstream can tell the difference between a mesh that was rejected and a mesh that was
201
+ * never submitted.
202
+ *
203
+ * Thrown rather than warned, because this is construction and not a frame: a mesh built
204
+ * from inconsistent arrays is a bug in the caller with exactly one correct outcome, and
205
+ * the engine's rule is that initialisation fails loudly so a running frame never has to.
206
+ *
207
+ * The message names the array, its length, and the length it should have had — everything
208
+ * needed to fix it without a debugger, since the machine where this fires may not have one.
209
+ */
210
+ export declare function validateMeshData(data: MeshData): void;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * A description of vertex data, and the check that it is coherent.
3
+ *
4
+ * It lives in the format package rather than the renderer because it is the boundary object
5
+ * between them: the container's whole job is to carry one of these, and every import the
6
+ * format code took from `render` was this type or its validator. Putting it here is what lets
7
+ * the container be read and written by something that never draws.
8
+ *
9
+ * The renderer re-exports both, so nothing that consumed them from there has to move.
10
+ */
11
+ /**
12
+ * Every attribute covers every vertex, and every index names one that exists.
13
+ *
14
+ * **Why this is checked rather than assumed.** WebGL does not require a driver to survive
15
+ * an attribute buffer that is too small for the draw: the implementation may read zeroes,
16
+ * and it may equally **drop the draw entirely**. Desktop drivers clamp and carry on, which
17
+ * means a mesh with one short array renders perfectly for the author and vanishes without
18
+ * a word on hardware they do not own. There is no GL error either way, so nothing
19
+ * downstream can tell the difference between a mesh that was rejected and a mesh that was
20
+ * never submitted.
21
+ *
22
+ * Thrown rather than warned, because this is construction and not a frame: a mesh built
23
+ * from inconsistent arrays is a bug in the caller with exactly one correct outcome, and
24
+ * the engine's rule is that initialisation fails loudly so a running frame never has to.
25
+ *
26
+ * The message names the array, its length, and the length it should have had — everything
27
+ * needed to fix it without a debugger, since the machine where this fires may not have one.
28
+ */
29
+ export function validateMeshData(data) {
30
+ if (data.positions.length % 3 !== 0) {
31
+ throw new Error(`Mesh: positions has ${data.positions.length} floats, not a multiple of 3`);
32
+ }
33
+ const vertices = data.positions.length / 3;
34
+ const check = (name, array, perVertex) => {
35
+ if (array === undefined)
36
+ return;
37
+ if (array.length !== vertices * perVertex) {
38
+ throw new Error(`Mesh: ${name} has ${array.length} floats for ${vertices} vertices; ` +
39
+ `expected ${vertices * perVertex} (${perVertex} per vertex). A short attribute ` +
40
+ `buffer is not a harmless one — a driver may draw zeroes or drop the draw entirely.`);
41
+ }
42
+ };
43
+ check('normals', data.normals, 3);
44
+ check('colors', data.colors, 3);
45
+ check('emissive', data.emissive, 1);
46
+ check('specular', data.specular, 1);
47
+ check('uvs', data.uvs, 2);
48
+ check('emissiveColor', data.emissiveColor, 3);
49
+ check('roughness', data.roughness, 1);
50
+ check('grain', data.grain, 1);
51
+ check('relief', data.relief, 1);
52
+ check('channel', data.channel, 4);
53
+ /*
54
+ * `tangents` was declared optional on 2026-08-22 and was not checked here until 2026-08-25, which
55
+ * made the widest optional attribute in the format the one a short buffer could reach a driver
56
+ * through — the exact hazard this function's header describes, unguarded, for three releases.
57
+ */
58
+ check('tangents', data.tangents, 4);
59
+ check('joints', data.joints, 4);
60
+ check('weights', data.weights, 4);
61
+ /*
62
+ * Both or neither. The shader multiplies four matrices by four weights, so a missing half means
63
+ * either every weight or every index is the absent-attribute constant — and both collapse the
64
+ * mesh onto joint zero at the origin, which draws a picture rather than raising anything.
65
+ *
66
+ * What it costs is that a caller cannot supply indices alone. What would make it wrong is a path
67
+ * that skins from indices with implicit unit weights; nothing proposes one, and it would be a
68
+ * different attribute rather than a relaxation of this rule.
69
+ */
70
+ /*
71
+ * Morph deltas are checked against their own declared count rather than through `check`, because
72
+ * they are the one attribute whose length is not a fixed multiple of the vertex count — it scales
73
+ * with the targets too. A short array is the same hazard as any other: the tail reads as zero, so
74
+ * the last targets silently never move anything.
75
+ */
76
+ if (data.morphTargets !== undefined || data.morphTargetCount !== undefined) {
77
+ const count = data.morphTargetCount ?? 0;
78
+ if (data.morphTargets === undefined || count < 1) {
79
+ throw new Error('Mesh: morphTargets and morphTargetCount go together — one without the other is a mesh ' +
80
+ 'that declares a deformation it cannot perform');
81
+ }
82
+ const expected = vertices * count * 3;
83
+ if (data.morphTargets.length !== expected) {
84
+ throw new Error(`Mesh: morphTargets has ${data.morphTargets.length} floats for ${vertices} vertices and ` +
85
+ `${count} targets; expected ${expected} (3 per vertex per target).`);
86
+ }
87
+ }
88
+ if ((data.joints === undefined) !== (data.weights === undefined)) {
89
+ throw new Error(data.joints === undefined
90
+ ? 'Mesh: weights without joints — a skinned mesh needs both, or every vertex collapses onto joint 0'
91
+ : 'Mesh: joints without weights — a skinned mesh needs both, or every vertex collapses onto joint 0');
92
+ }
93
+ /*
94
+ * An index past the end is the same hazard from the other side, and the same latitude
95
+ * applies: a driver may clamp it or refuse the draw. Scanned once at construction, which
96
+ * is a cost paid when a mesh is built rather than when it is drawn.
97
+ */
98
+ for (let at = 0; at < data.indices.length; at++) {
99
+ const index = data.indices[at];
100
+ if (index >= vertices) {
101
+ throw new Error(`Mesh: index ${at} refers to vertex ${index}, but the mesh has ${vertices}. ` +
102
+ `Out-of-range indices may be clamped on one driver and reject the draw on another.`);
103
+ }
104
+ }
105
+ }
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@driftengine/drft",
3
+ "version": "3.61.0",
4
+ "description": "The .drft container: a streaming format for baked 3D scenes",
5
+ "license": "Apache-2.0",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "drift-source": "./src/index.ts",
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./package.json": "./package.json",
16
+ "./*": "./*"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "src",
21
+ "!src/**/*.test.ts",
22
+ "!src/**/*.test.mjs",
23
+ "!src/**/__snapshots__",
24
+ "README.md",
25
+ "LICENSE",
26
+ "NOTICE"
27
+ ],
28
+ "sideEffects": false,
29
+ "devDependencies": {
30
+ "@driftengine/core": "3.61.0"
31
+ },
32
+ "author": "Drift Technologies",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/drftrun/driftengine.git",
36
+ "directory": "packages/drft"
37
+ },
38
+ "homepage": "https://github.com/drftrun/driftengine#readme",
39
+ "bugs": "https://github.com/drftrun/driftengine/issues",
40
+ "keywords": [
41
+ "driftengine",
42
+ "3d",
43
+ "webgl",
44
+ "webgpu",
45
+ "typescript",
46
+ "file-format",
47
+ "container",
48
+ "mesh",
49
+ "streaming"
50
+ ],
51
+ "engines": {
52
+ "node": ">=22.12.0"
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ }
57
+ }