{"_id":"@airspec/airmark-engine","_rev":"9-6f306d8af6642587f0dcd24900e38859","name":"@airspec/airmark-engine","dist-tags":{"latest":"0.4.5"},"versions":{"0.1.0":{"name":"@airspec/airmark-engine","version":"0.1.0","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.1.0","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"d49bbb5e9e8c249d8bb590530b3700c2c5734d98","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.1.0.tgz","fileCount":13,"integrity":"sha512-7TAW02g6hn8HFJWmtCZ2gEXrKcWp6o5HXkIjsv4qtp2/JCq/12zt5ZgUjduiEuW9s6fTxuOS89LNKFs6kUKkPA==","signatures":[{"sig":"MEUCIBkWSBnQThiZ2UmpnVH+5Ek4Czp3/9XR2U7LQUThBGLPAiEA6g/jKtVxLF3tBzckhmFYo4su0MQkunNBd8UjgagARSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65618},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5c932db6d8fd38c43d40ad30c938d2abbff70643","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"bzalk","email":"brian@jamrockdev.com"},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"10.7.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.1.0_1784432464949_0.21115232879565227","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@airspec/airmark-engine","version":"0.2.0","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.2.0","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"4d9fc88a8131e6773053d6fe3c2ce3daf4dbdcd3","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.2.0.tgz","fileCount":13,"integrity":"sha512-BclYQneaLjraJjNZQYzD0qv50up6hdV0GBZ5f+v6rfMxPjt0j/bzmriruoKVzQ0O3IcmpnqxshUxJbKqAOmUdQ==","signatures":[{"sig":"MEQCIGw32erDH4BXDA1/I+5pGRZbzl8TheR6z9J/ZAA4XyMBAiBFVt7Iy4FepdKyQN3SHgajqa6C3uZBsAZRjrKP5PL4JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":78542},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"96443c0855326d7b6c2302844da9accf8c730fb1","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.2.0_1784435345614_0.6400288251855053","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@airspec/airmark-engine","version":"0.3.0","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.3.0","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"991b7dbe58aac567f1393eadd135d0283bb0ac80","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.3.0.tgz","fileCount":13,"integrity":"sha512-iW6YeI6MptY8cSJUxc1pap60RaXmd0XXfOrdQESsnOJZREq6ZfgphKcLs3yljbvVHmey6i3EswWI7qYeKx+peg==","signatures":[{"sig":"MEUCIQDxT3cdp/CViy/a+oQqKxfG2OnPSn6Ka7T4gs81WVGORwIgGH01JF5y6BHLq/RWXSQNvmxZYvLIu28FRxjP3FvNCnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79223},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"976c9fc866d5bf59f343afb1ee79862b6f2031ba","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.3.0_1784482935999_0.1217336505753297","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@airspec/airmark-engine","version":"0.4.0","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.4.0","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"760155c5de42c698d018d967bc6feeb58cbdef89","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.0.tgz","fileCount":13,"integrity":"sha512-6no+SkRum6iWyts9NR/PJoCKBLjzg36lfqSWMUchIfUteUGsLFkWTiEclwmFsIOVY8F/jc0vVp3vbA8h+DADJg==","signatures":[{"sig":"MEUCIQCXN/fksVX3fCZaI5/ivm6cJkOsUeIdZ2Nxz2/JaJ42cgIgCKns1s7c2ScZ6ccTBkvRMrxZCrj7IkV4OyfZYbnlwNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80635},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"bda0b1a68f8819898a4c38bf2ff8651de4eb3188","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.4.0_1784487922683_0.7282512330645496","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@airspec/airmark-engine","version":"0.4.1","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.4.1","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"92265e58074c4fe3f6d36e2f4ac3c3578b5c9147","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.1.tgz","fileCount":13,"integrity":"sha512-Y7YwBYMU2l+MXzq+Bfd/jWq8XMeUkyjrBbDyadYJ+CudjI5pf0iGI6JRL+jyr92xm3apAjHi7z+IJ0mJV33c5w==","signatures":[{"sig":"MEUCIAMlptZXuDxb2NidfKtcwVT+Lc9vM/eYIdw7IZkmQFTQAiEA7ZKEfa0a04A1iuoOBDgTZhR6qzobKMdKUYGPTxOvAj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81089},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"540e4c27910fab8a47f966eed23969ac26761a85","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.4.1_1784489305704_0.22504458899737356","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@airspec/airmark-engine","version":"0.4.2","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.4.2","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"45f09f0b945ba4a7c9c722b7e89b6ce6b79d9d06","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.2.tgz","fileCount":13,"integrity":"sha512-kLqr9VAxbjPW4mJUTShbSoajoeMJCBap5QQRO8dRGV0zoY6arKfgPqNuNjRbf4vMKuCAs8/B5vZf7IgEQt4PeQ==","signatures":[{"sig":"MEYCIQDypLSyxZZ24iqirDgfXXQSNb1mk374w7aKgcaP2h+B/wIhAMHlzPz1fCUTeJeNrXZOdEOs8XeVfJdfIDznRuxnxLhz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":82196},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"a850693244fa088e53a3803e23469e0cde92a3a2","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.4.2_1784493217632_0.7731739859900337","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@airspec/airmark-engine","version":"0.4.3","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.4.3","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"60ceb587749c680c927307790476a33d62dba8b9","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.3.tgz","fileCount":13,"integrity":"sha512-z+c4yTtdzSjsPwyhQAwiCvmIkn8prka4YMpfOvoxkaKhEkRvHqHiiv0xYLpqZeCjVcmXYObhIZg98lq9RKGMvA==","signatures":[{"sig":"MEYCIQCTmsnUGdaS/9nrq6S3i1R14PyzuXAfnhRxGX2BUulVCQIhAIPqoRJHEMGNFQI+NexaLM2M181x0W2PiWhyFs97VSKY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":83342},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"56f9cc2d8a7895c7974721613881d9e4a5ebe6c5","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.4.3_1784571806225_0.8631816638662027","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@airspec/airmark-engine","version":"0.4.4","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"license":"MIT","_id":"@airspec/airmark-engine@0.4.4","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"dist":{"shasum":"5ba77c05c7b399e1797bb1d650d8341bd65178d4","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.4.tgz","fileCount":13,"integrity":"sha512-IZEQH1ubaKhWbrOmPKKNTu0cWpfZwFnjqvX1KmfJ3teKg4DBa0Teu/nsJ8Bd+oSgGZP9sevySu6mexbOpOhyLw==","signatures":[{"sig":"MEUCIQD+sSrqCWn6QioBRkTFVAu7/buY7HAIOzekgl/sMtNtMwIgZdWMadOZhb4A23f14TPVWzpXQD2FwA7lJlBX/DWuG5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84619},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"efac25b7bb9f6107d629c91cf5bb4e67488261cf","scripts":{"build":"tsc -b","prepack":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"repository":{"url":"git+https://github.com/bzalk/airmark-engine.git","type":"git","directory":"packages/engine"},"_npmVersion":"11.18.0","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/airmark-engine_0.4.4_1784579275465_0.5835032151180477","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@airspec/airmark-engine","version":"0.4.5","description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsc -b","prepack":"npm run build"},"engines":{"node":">=20"},"sideEffects":false,"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bzalk/airmark-engine.git","directory":"packages/engine"},"homepage":"https://github.com/bzalk/airmark-engine#readme","bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"publishConfig":{"access":"public"},"keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"gitHead":"cad0a4615d595b19e0ed8397f42fdae9cbde5025","_id":"@airspec/airmark-engine@0.4.5","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-p5qjkDxcBK0fa0/TibDlmoDFU4hp/Ls9T3s8pWVov4CcYzZAg3EtwHwzgLoV9gijonQP90GxhUwuHRNPriIFHQ==","shasum":"3f0f91a88523415b6849fba20b357c1a71df0ea7","tarball":"https://registry.npmjs.org/@airspec/airmark-engine/-/airmark-engine-0.4.5.tgz","fileCount":13,"unpackedSize":85798,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@airspec%2fairmark-engine@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFi6wfL3F2j09rIj60x9USnG4XF7DCsEzGOUdo/JTCJ3AiAEuI9FW/voclJyykc2MIPEwI5zUltrmDXX5rVT2IhP4A=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:046573d1-f642-4af4-91a5-33fba135ff3a"}},"directories":{},"maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/airmark-engine_0.4.5_1784665465476_0.22519653059879352"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-19T03:41:04.807Z","modified":"2026-07-21T20:24:26.059Z","0.1.0":"2026-07-19T03:41:05.093Z","0.2.0":"2026-07-19T04:29:05.755Z","0.3.0":"2026-07-19T17:42:16.128Z","0.4.0":"2026-07-19T19:05:22.847Z","0.4.1":"2026-07-19T19:28:25.842Z","0.4.2":"2026-07-19T20:33:37.759Z","0.4.3":"2026-07-20T18:23:26.347Z","0.4.4":"2026-07-20T20:27:55.595Z","0.4.5":"2026-07-21T20:24:25.628Z"},"bugs":{"url":"https://github.com/bzalk/airmark-engine/issues"},"license":"MIT","homepage":"https://github.com/bzalk/airmark-engine#readme","keywords":["airspec","airmark","charts","scene-graph","visualization","layout"],"repository":{"type":"git","url":"git+https://github.com/bzalk/airmark-engine.git","directory":"packages/engine"},"description":"Pure, deterministic AIRMark layout engine: validated graphic plus rows to a portable scene graph.","maintainers":[{"name":"bzalk","email":"brian@jamrockdev.com"}],"readme":"# @airspec/airmark-engine\n\nPure, deterministic AIRMark layout engine. It accepts a validated AIRMark graphic, trusted broker rows, dimensions, and a resolved theme, then returns a portable JSON scene graph.\n\n```bash\nnpm install @airspec/airmark-engine\n```\n\n```ts\nimport { layout } from \"@airspec/airmark-engine\";\n\nconst scene = layout({ graphic, rows, width: 720, height: 420, theme });\n```\n\nThe package has no runtime dependencies. AIRspec validation Layers 1–4 must pass before calling the engine.\n\nSee the [repository](https://github.com/bzalk/airmark-engine) for documentation, fixtures, and the AIRMark Scene Graph draft.\n","readmeFilename":"README.md"}