{"_id":"@aspicio/vue","_rev":"7-83c1ee5068110c10bcc8892953652bc4","name":"@aspicio/vue","dist-tags":{"latest":"0.13.0"},"versions":{"0.8.0":{"name":"@aspicio/vue","version":"0.8.0","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.8.0","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"70aab7fa0de2d382cf1ff3084a54a85172d961f3","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.8.0.tgz","fileCount":4,"integrity":"sha512-TMl3BZsyaNNKnpv8J/j5HzFAFpYs14EgrZAq5Vj4ePivo8aIupHhzUp4PLoFDKMEpUV5gQDnraXWeWaLy5CZjA==","signatures":[{"sig":"MEYCIQCjmL1bwtfEVmMetyNltEQOTXAsrrg4XGt0AtB9Jqi7PwIhANSOfpI7W7KZP7uV9wuueqGtki3K4LeL46OZ4PwMAaop","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21888},"type":"module","shasum":"70aab7fa0de2d382cf1ff3084a54a85172d961f3","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-TMl3BZsyaNNKnpv8J/j5HzFAFpYs14EgrZAq5Vj4ePivo8aIupHhzUp4PLoFDKMEpUV5gQDnraXWeWaLy5CZjA==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF viewer.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.8.0","@aspicio/elements":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.8.0_1784659864885_0.9791764590038008","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aspicio/vue","version":"0.9.0","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.9.0","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"9d51734c3e4eaf85b25dd62a39ad52001997559b","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.9.0.tgz","fileCount":4,"integrity":"sha512-xR1/t/6ASxeEx8eRtwGhxFRLDepPR+GfnzQnkp0qHg2Y3UXw8Yg8PcxMOUKnWrmFEh/KyUMcsGsQ4QLzJuu50Q==","signatures":[{"sig":"MEQCIGhdnGyXxkUzGpXckKk6S8jJ2xUjTYYUeLCyxsCWTLD+AiAXxqh559d2TZ4PWutPeUW6iAn3OqRD2vXQ4DyZxHoiZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21888},"type":"module","shasum":"9d51734c3e4eaf85b25dd62a39ad52001997559b","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-xR1/t/6ASxeEx8eRtwGhxFRLDepPR+GfnzQnkp0qHg2Y3UXw8Yg8PcxMOUKnWrmFEh/KyUMcsGsQ4QLzJuu50Q==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF viewer.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.9.0","@aspicio/elements":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.9.0_1784668366408_0.35386456284980805","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aspicio/vue","version":"0.10.0","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.10.0","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"bf75eac062d38cf951fbfb6d7d8f0de6dadf74a4","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.10.0.tgz","fileCount":4,"integrity":"sha512-kpUCaFjKPndWN23Wc38JzcEFfninBFIeW1pc5lpBEgBI/ZLtOk1+LSgPElH98MAXSY5Gw2/KL25eJwOlnL03bw==","signatures":[{"sig":"MEYCIQDv+0DoHwY/5jzkDnQafo3hrMQg3MwoTAjggpUR/WrH0QIhAMrjPuM9io5PHorywXXLtp0ZbY6XoSX3ujQ9Gajlq6zr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21971},"type":"module","shasum":"bf75eac062d38cf951fbfb6d7d8f0de6dadf74a4","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-kpUCaFjKPndWN23Wc38JzcEFfninBFIeW1pc5lpBEgBI/ZLtOk1+LSgPElH98MAXSY5Gw2/KL25eJwOlnL03bw==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF viewer.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.10.0","@aspicio/elements":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.10.0_1784681996858_0.3965887165496249","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@aspicio/vue","version":"0.11.0","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.11.0","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"41ac756d98883ce50b569d580f6e6de30f451be7","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.11.0.tgz","fileCount":4,"integrity":"sha512-9WBR+T/+gd1Smi6K5nGQvMq1kxeNe4ID6uYkHAkKaDLBDL1tyOzROSjXIvUAqlCIQvORPQfvovDwWb5sNMdUDA==","signatures":[{"sig":"MEYCIQCnPLyg5+n0HqQfyK2R4ulHz4qpRGpVIeV40zT/iHs3PAIhAIGDZe80/hReXc6xTVsXZgc4SkJjO6NN6i90ehk1NcLD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21971},"type":"module","shasum":"41ac756d98883ce50b569d580f6e6de30f451be7","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-9WBR+T/+gd1Smi6K5nGQvMq1kxeNe4ID6uYkHAkKaDLBDL1tyOzROSjXIvUAqlCIQvORPQfvovDwWb5sNMdUDA==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF viewer.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.11.0","@aspicio/elements":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.11.0_1784773649810_0.3089701689349196","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"@aspicio/vue","version":"0.11.1","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.11.1","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"978252f438ee77bd070574f666f7695b6dc7b0aa","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.11.1.tgz","fileCount":4,"integrity":"sha512-2F+Rf1PyJxb9o75AgbCSuIhQciBajRj4rHMFQZuly4XghgqRH0cINrgKqECSCNF5PzDQeidJ+KTjRfg4yGuXqw==","signatures":[{"sig":"MEUCIAqkQdHXZ64XKzHkI7VAWYb6CeMX/2imIwNetTWkx071AiEA1Se6Likxhve9ecwnX/jCWivklcocOTkFvA9dije5psg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21971},"type":"module","shasum":"978252f438ee77bd070574f666f7695b6dc7b0aa","exports":{".":"./dist/index.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-2F+Rf1PyJxb9o75AgbCSuIhQciBajRj4rHMFQZuly4XghgqRH0cINrgKqECSCNF5PzDQeidJ+KTjRfg4yGuXqw==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF viewer.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.11.1","@aspicio/elements":"^0.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.11.1_1784834521329_0.897434419530271","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@aspicio/vue","version":"0.12.0","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","_id":"@aspicio/vue@0.12.0","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","dist":{"shasum":"b81adbd91cbd72a3abde6d3d6c2030fb0f9a15f4","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.12.0.tgz","fileCount":8,"integrity":"sha512-vJNXc5VMwowgIcEwoOXgxY/HmX5ZLo7sSEHWvYRKK8O8g6Ou2kyN/8XOlleobD7AB/2P/FSFZCTw5G/SiR33wg==","signatures":[{"sig":"MEUCIQCLhbjiSwX0HEbBVr6QshbhCqX7nJv+O2j0fTeaWqTSkAIgN8aPRXKvu2Asrhvdn8OUoTV1oCRNfWnOoiTqsOi8k7M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23069},"type":"module","shasum":"b81adbd91cbd72a3abde6d3d6c2030fb0f9a15f4","exports":{".":"./dist/index.mjs","./formats/dxf":"./dist/formats/dxf.mjs","./formats/pdf":"./dist/formats/pdf.mjs","./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch","test":"vp test","build":"vp pack","check":"vp check","prepublishOnly":"bunx vp run build"},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"_integrity":"sha512-vJNXc5VMwowgIcEwoOXgxY/HmX5ZLo7sSEHWvYRKK8O8g6Ou2kyN/8XOlleobD7AB/2P/FSFZCTw5G/SiR33wg==","repository":{"url":"git+https://github.com/frontsail-ai/aspicio.git","type":"git","directory":"packages/vue"},"_npmVersion":"10.8.3","description":"Vue 3 bindings for the Aspicio DXF and PDF viewer.","directories":{},"sideEffects":["./dist/formats/*","./src/formats/*"],"_nodeVersion":"24.3.0","dependencies":{"@aspicio/core":"^0.12.0","@aspicio/elements":"^0.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.0","happy-dom":"^20.0.0","vite-plus":"0.2.4","typescript":"^7.0.2","@vue/test-utils":"^2.4.11","@typescript/native-preview":"^7.0.0-dev.20260707.2"},"peerDependencies":{"vue":"^3.4.0","three":">=0.184.0 <1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vue_0.12.0_1785700844535_0.29169984532302995","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@aspicio/vue","version":"0.13.0","description":"Vue 3 bindings for the Aspicio DXF and PDF viewer.","homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","license":"MIT","author":"Dmitri Kochelorov <dmitri@frontsail.ai>","repository":{"type":"git","url":"git+https://github.com/frontsail-ai/aspicio.git","directory":"packages/vue"},"type":"module","sideEffects":["./dist/formats/*","./src/formats/*"],"exports":{".":"./dist/index.mjs","./formats/dxf":"./dist/formats/dxf.mjs","./formats/pdf":"./dist/formats/pdf.mjs","./package.json":"./package.json"},"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","dev":"vp pack --watch","test":"vp test","check":"vp check","prepublishOnly":"bunx vp run build"},"dependencies":{"@aspicio/core":"^0.13.0","@aspicio/elements":"^0.13.0"},"devDependencies":{"@typescript/native-preview":"^7.0.0-dev.20260707.2","@vue/test-utils":"^2.4.11","happy-dom":"^20.11.2","typescript":"^7.0.2","vite-plus":"0.2.4","vue":"^3.5.41"},"peerDependencies":{"three":">=0.184.0 <1.0.0","vue":"^3.4.0"},"_id":"@aspicio/vue@0.13.0","_integrity":"sha512-QCV+FJDb6ffaGETS1+ujyTWsKb+4ALw1WTG4Y7hfwXVks+d0Zpsi5xQKg9RYdGsl9W2F/HtItaseCGQY+SU7Rw==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"5ecf2fda01a5b628e6467cffd9fc63cbab86f2bd","dist":{"integrity":"sha512-QCV+FJDb6ffaGETS1+ujyTWsKb+4ALw1WTG4Y7hfwXVks+d0Zpsi5xQKg9RYdGsl9W2F/HtItaseCGQY+SU7Rw==","shasum":"5ecf2fda01a5b628e6467cffd9fc63cbab86f2bd","tarball":"https://registry.npmjs.org/@aspicio/vue/-/vue-0.13.0.tgz","fileCount":8,"unpackedSize":23562,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDbghJ5pj7woTE9GHWDW7saG3PjLjyx+YidgJaSXfMsTwIgIaqxhUjmPF9rNxAZv3koEiErXfdcXx91y40cDKfXN+w="}]},"_npmUser":{"name":"korya","email":"kochelorov.dmitri@gmail.com"},"directories":{},"maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue_0.13.0_1786451915831_0.4740522295231362"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-21T18:51:04.637Z","modified":"2026-08-11T12:38:36.257Z","0.8.0":"2026-07-21T18:51:05.007Z","0.9.0":"2026-07-21T21:12:46.545Z","0.10.0":"2026-07-22T00:59:56.987Z","0.11.0":"2026-07-23T02:27:29.980Z","0.11.1":"2026-07-23T19:22:01.486Z","0.12.0":"2026-08-02T20:00:44.724Z","0.13.0":"2026-08-11T12:38:36.019Z"},"author":"Dmitri Kochelorov <dmitri@frontsail.ai>","license":"MIT","homepage":"https://github.com/frontsail-ai/aspicio/tree/master/packages/vue#readme","repository":{"type":"git","url":"git+https://github.com/frontsail-ai/aspicio.git","directory":"packages/vue"},"description":"Vue 3 bindings for the Aspicio DXF and PDF viewer.","maintainers":[{"name":"korya","email":"kochelorov.dmitri@gmail.com"}],"readme":"# @aspicio/vue\n\nVue 3 bindings for the\n[Aspicio](https://github.com/frontsail-ai/aspicio#readme) DXF and PDF\nviewer —\nthin veneers over the framework-neutral\n[`@aspicio/elements`](../elements) web components, so Vue, React,\nSvelte, and plain-HTML embeds share one implementation and one look\n(pixel-identical, verified). Try the viewer live at\n[aspicio.frontsail.app](https://aspicio.frontsail.app/).\n\n```bash\nnpm install @aspicio/vue vue three   # @aspicio/core and @aspicio/elements come along; vue 3.4+ and three (>=0.184) are peers\n```\n\n- `<AspicioEmbed>` — batteries included: layer list + interactive preview in\n  one component.\n- `<AspicioPreview>` — the embeddable canvas alone: pan/zoom/rotate (mouse\n  and multi-touch), animated fit, batched WebGL rendering. No chrome.\n  Bind `@hover-layer` to hit-test the layer under the cursor.\n- `<AspicioLayerPanel>` — the ready-made layer list, identical to the demo\n  app: header with layer count, visibility checkboxes, effective-color\n  swatches, entity counts, hover-to-highlight, double-click-to-solo\n  (with a banner), and a gesture-hints footer. `theme=\"none\"` renders a\n  minimal list.\n\n## One component\n\n```vue\n<script setup>\nimport { AspicioEmbed } from \"@aspicio/vue\";\nimport \"@aspicio/vue/formats/dxf\";\n\nconst onLoaded = ({ layers, stats }) => console.log(stats.entityCount);\n</script>\n\n<template>\n  <!-- src also accepts File | Blob | ArrayBuffer | DXF text via :src -->\n  <AspicioEmbed src-url=\"/drawing.dxf\" style=\"height: 480px\" @loaded=\"onLoaded\" />\n</template>\n```\n\nProps: `src`, `src-url`, `panel` (`left` | `right` | `none`), `theme`\n(`aspicio` | `none`), `panel-style`, `options`, `show-download`,\n`shortcuts`. Emits: `loaded`, `load-error`, `viewer-change`,\n`hover-layer` — payloads arrive unwrapped (no `CustomEvent.detail`\ndigging).\n\n## The full viewer\n\nThe template ref exposes the complete `DrawingViewer` — `fitView`, `zoomBy`,\n`setLayerVisible`, `pickLayer`, `view`, `toSVG`, `toPNG`:\n\n```vue\n<script setup>\nimport { shallowRef, useTemplateRef } from \"vue\";\n\nconst embed = useTemplateRef(\"embed\");\nconst fit = () => embed.value?.viewer?.fitView();\n</script>\n\n<template>\n  <AspicioEmbed ref=\"embed\" src-url=\"/drawing.dxf\" />\n</template>\n```\n\nPrefer `shallowRef` when storing the viewer from `@viewer-change` —\nthe components unwrap reactive proxies defensively, but a deeply\nreactive viewer buys nothing and costs proxy overhead.\n\n## Custom layout\n\nCompose `AspicioPreview` + `AspicioLayerPanel` yourself and hand the panel the\nviewer from `@viewer-change`; `reverse-highlight-layer` wires\ncanvas-hover to the row highlight (the embed does this automatically).\n\n## Theming\n\nThe internals render in shadow DOM. Theme through `--aspicio-*` CSS\ncustom properties and `::part()` hooks — see the\n[`@aspicio/elements` README](../elements#theming) for the token and part\nlist. The theme uses IBM Plex font _stacks_ but never loads webfonts\nitself; load IBM Plex Sans/Mono in your page for the exact demo look.\n\n## Notes\n\n- Changing `src` / `src-url` loads the new document; the most recently\n  set source wins, and stale in-flight loads are ignored.\n- `shortcuts` keys are scoped to the **focused** embed (click it first):\n  `F` fit, `+`/`-` zoom, `R` reset rotation, `A` show all layers.\n- SSR-safe (Nuxt): importing the package is fine in Node; the viewer is\n  created only after client-side mount. See `apps/vue-example` for a\n  full setup.\n\n## Migrating from 0.x\n\nTwo breaking changes ship together:\n\n1. **Formats are opted into by import.** Add `import \"@aspicio/vue/formats/dxf\";` once —\n   without it every load fails with an error saying exactly that.\n2. **Format-neutral names dropped their `Dxf` prefix**: `<DxfEmbed>` / `<DxfPreview>` / `<DxfLayerPanel>` → `<AspicioEmbed>` / `<AspicioPreview>` / `<AspicioLayerPanel>`, `DxfTheme` → `AspicioTheme`, and `DxfViewer` → `DrawingViewer`.\n","readmeFilename":"README.md"}