feat(canvas): add leafer GPU renderer and interactive color-boundary crop tool
Introduce a leafer-ui canvas layer that mirrors rendered nodes and drives viewport, node-drag, and alignment-guide updates imperatively, committing React state on idle via startTransition to keep pan/zoom/drag at 60fps. Wire the imperative viewport through wheel zoom, zoom-to, fit-view, and panning. Add a dedicated crop tool: click a node to auto-detect a color-boundary crop region or drag to preselect one, previewed with an on-canvas draft overlay before entering the crop editor. Route uploads through renderContent so the transparent WebP texture feeds the fast display path. Add node --test coverage for the leafer renderer and color-boundary detection. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Generated
+404
@@ -29,6 +29,9 @@ dependencies:
|
||||
ag-psd:
|
||||
specifier: 31.0.2
|
||||
version: 31.0.2
|
||||
leafer-ui:
|
||||
specifier: 2.2.2
|
||||
version: 2.2.2
|
||||
lucide-react:
|
||||
specifier: ^1.23.0
|
||||
version: 1.23.0(react@19.2.7)
|
||||
@@ -353,6 +356,392 @@ packages:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@leafer-in/interface@2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2):
|
||||
resolution: {integrity: sha512-7fN7hEd2d+0glIH12ijjPx+XSqn+Q9RwoCkUpATNynfimv4u7ezWoJQFa76Aj0uusWW3ghpzW5vbO07IR2tJmA==}
|
||||
peerDependencies:
|
||||
'@leafer-ui/interface': ^2.2.2
|
||||
'@leafer/interface': ^2.2.2
|
||||
dependencies:
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
'@leafer/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/app@2.2.2:
|
||||
resolution: {integrity: sha512-mN0ItJqbtJPwWiqo7rvl8GpVGMNUd8/VgZ0MUZxad8kxkKkjnnCoawczj+URF61ebDgO2U6OUSnhi4bPSmh5QQ==}
|
||||
dependencies:
|
||||
'@leafer-ui/data': 2.2.2
|
||||
'@leafer-ui/display': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/bounds@2.2.2:
|
||||
resolution: {integrity: sha512-pvZEkvJMeticrV1X5YekBw/7RO8VTpXSrAFWAdyKxJGXMdkeo7RbUx1FHiT8rg83AcXzj+jQn6LptyOZLeGEUQ==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/color@2.2.2:
|
||||
resolution: {integrity: sha512-zgEPxuc50mSx04SMrK2s/u2PNIrOr929HVuwynrgtVQrQyBhU9FIZ5+0qrxt73mdKa/TfrzMY39N/X9Z6iYIGw==}
|
||||
dependencies:
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/core@2.2.2:
|
||||
resolution: {integrity: sha512-oglxh4eZBg8j5j8uDbTxO4dSeBgB7icG1ofo1pcBmKzs/f570IIIjR95IJ6fYM97zPy9MD6zxi49G56Yr6vd2g==}
|
||||
dependencies:
|
||||
'@leafer-ui/app': 2.2.2
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/event': 2.2.2
|
||||
'@leafer-ui/hit': 2.2.2
|
||||
'@leafer-ui/interaction': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/data@2.2.2:
|
||||
resolution: {integrity: sha512-FMGhKc5aiMvxifdSSxEsn4SxUdGuXX8i1doby1OUg2phGe69HH/7ZQD2FkyQ7XJRbGgGGfp+F7YfKJNQ5juCEw==}
|
||||
dependencies:
|
||||
'@leafer-ui/external': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/decorator@2.2.2:
|
||||
resolution: {integrity: sha512-lNXe8zwuH4t2gd2is3H0w5e9meAtwcNBCLmVt78f7AZzD1/m114Gj7ElDHnPDkhpFt2IzDnMhrk5tTEn/iMFFg==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/display-module@2.2.2:
|
||||
resolution: {integrity: sha512-mp+PfDNdbKduovmEZ2IcZWs63mw1BhXM+uC9TLd7YGuLxoYdq0B94q1ebfys15BhgNgh8fUSpYtwtJ9Bxu9FIg==}
|
||||
dependencies:
|
||||
'@leafer-ui/bounds': 2.2.2
|
||||
'@leafer-ui/data': 2.2.2
|
||||
'@leafer-ui/render': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/display@2.2.2:
|
||||
resolution: {integrity: sha512-7kX1ACzK443JhZM6OLgooSh2J2xZgM0lw+lnhr/zBJEfsWcw8mW9QZA3Sp6zsXjyK/h8Y4Jo4H4KJerhjXyAAQ==}
|
||||
dependencies:
|
||||
'@leafer-ui/data': 2.2.2
|
||||
'@leafer-ui/decorator': 2.2.2
|
||||
'@leafer-ui/display-module': 2.2.2
|
||||
'@leafer-ui/external': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/draw@2.2.2:
|
||||
resolution: {integrity: sha512-8OLZX5QYdNLFjWEneL4BSQDyzsH9BKX+Zofpy/9xV+LrtHjucNqvGq86CKy0lOtkS8UzTB7AFptOrWNL8ZF2dw==}
|
||||
dependencies:
|
||||
'@leafer-ui/decorator': 2.2.2
|
||||
'@leafer-ui/display': 2.2.2
|
||||
'@leafer-ui/display-module': 2.2.2
|
||||
'@leafer-ui/external': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/effect@2.2.2:
|
||||
resolution: {integrity: sha512-eIORcMiRoIydl9NMizkERGFyQAusjQlXkrdDcyJbuLizutUbuxwVs/uwF9zTjZ0ZJY5PaUtGNtLIA8SC4/xxVg==}
|
||||
dependencies:
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/event@2.2.2:
|
||||
resolution: {integrity: sha512-7glUMVmg5rWj64CJ0TQlgICsihK+rnG4L2EMdq6tWUzl5MO6NIQjjrCSWXNcaKHIppqdbC4OacTJacspiTeNsg==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/external@2.2.2:
|
||||
resolution: {integrity: sha512-EkmX3YMxmMPbuHMdjoYRkaf7s/qI4EKc2s2tCbYnANX1mTxTAgcP73Jsp3ToHoKb6N0MrP52mk+U1oMM3kAG9g==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/hit@2.2.2:
|
||||
resolution: {integrity: sha512-cJXJ0Ye4N3rHR6UKm1c3ZP37D7SeYwSkmb+Uijzj3Hv/dVGVQenN4p+OnVi3VPJqpv4TWCI+7HmPlLIJR07rUg==}
|
||||
dependencies:
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/interaction-web@2.2.2:
|
||||
resolution: {integrity: sha512-d/Ep/ldb7K4QtufInsPhCz2d+LNoHxhd/qUibuTMFLqZ8KlnP101eVkxQa7wPZ3KeCBSWTWZEDtT0P4BE/zY0w==}
|
||||
dependencies:
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/interaction@2.2.2:
|
||||
resolution: {integrity: sha512-ToSAbrCxVZy+a1S5pqmxBDblrP4Hn9fjSDgr9LSD6eQiHg1BpggOzGz4abranrdWerUROz2wdqjQWNQQYVzp4Q==}
|
||||
dependencies:
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/event': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/interface@2.2.2:
|
||||
resolution: {integrity: sha512-KTI6ecOYalIZlpUK0yy2tv/FoFRx8su4Gjgcdh+5YcjlV4Ptu85ZfcSgDIh6zI0prlyRXP39z+3ZV7PA8ckJwA==}
|
||||
dependencies:
|
||||
'@leafer/interface': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/paint@2.2.2:
|
||||
resolution: {integrity: sha512-vAw8o6S+VBxVOsOqCQoTJ7ek0o3AabxEAbys/0t6Vj2vuyRfDZu05Ivsoy72WoWKanuCD0KfhHLtmQ3Mlh8FmA==}
|
||||
dependencies:
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/partner@2.2.2:
|
||||
resolution: {integrity: sha512-grgH3GxCvLTs/KqBr6m519jU34A17lbY3Jnns6cQ7iJI9VxoblZZP30if75OitiNO5HZzAeLBp7GmKQAMPb5TA==}
|
||||
dependencies:
|
||||
'@leafer-ui/color': 2.2.2
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/effect': 2.2.2
|
||||
'@leafer-ui/paint': 2.2.2
|
||||
'@leafer-ui/text': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/render@2.2.2:
|
||||
resolution: {integrity: sha512-ug8SnQM9fvyKbu/X8D77BVVPGXYkrWhOxm59Dl+tqjGTmRmdHQm/T2tFQNcj+ErShKYnxxZdf2afklVeezIfxA==}
|
||||
dependencies:
|
||||
'@leafer-ui/external': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/text@2.2.2:
|
||||
resolution: {integrity: sha512-J1Ocy/nZuLiQWJa//UF3rbZmZRk9jPFSSD0I+U4qedQLPLi/ruY5J9i1yjJao6c3G535wueJlMAtoihQ32Ctsg==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer-ui/web@2.2.2:
|
||||
resolution: {integrity: sha512-r56TwRfRIRnMrLrEh8MDmKmPv/Ym87VKAKRmrLN5XUBP0N4oQVEsCKg7YbNs7gAzLLsROue95MEhplkLl8XLOA==}
|
||||
dependencies:
|
||||
'@leafer-in/interface': 2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2)
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/interaction-web': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
'@leafer-ui/partner': 2.2.2
|
||||
'@leafer/interface': 2.2.2
|
||||
'@leafer/partner': 2.2.2
|
||||
'@leafer/web-core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/canvas-web@2.2.2:
|
||||
resolution: {integrity: sha512-iDy0GmMjvC7xyEOg3X3VJ+2iA0b83VaVvP1bDW9I3UC+GAJgy/PAObMx3LabY/dSLextgkmA7odcWEPgqre2AA==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/canvas@2.2.2:
|
||||
resolution: {integrity: sha512-6FdE1Lbe2ABaBmUzpiren42xY1pA3AtT2lWmND1T1TJw6lXhAHy2ATtngl2OVTg+GgpsFpgg9ultjOsTwlLJ8g==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/file': 2.2.2
|
||||
'@leafer/list': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/path': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/core@2.2.2:
|
||||
resolution: {integrity: sha512-SS/p4sRoxdtFKrgd90GbC8Uaoo+vgQNXbZ97k5keMkQH4Ab+Zb5FIUMAk6+LbzZbBPbf3qRg1wdjwgAT8zMmbA==}
|
||||
dependencies:
|
||||
'@leafer/canvas': 2.2.2
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/decorator': 2.2.2
|
||||
'@leafer/display': 2.2.2
|
||||
'@leafer/display-module': 2.2.2
|
||||
'@leafer/event': 2.2.2
|
||||
'@leafer/file': 2.2.2
|
||||
'@leafer/helper': 2.2.2
|
||||
'@leafer/image': 2.2.2
|
||||
'@leafer/layout': 2.2.2
|
||||
'@leafer/list': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/path': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
'@leafer/task': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/data@2.2.2:
|
||||
resolution: {integrity: sha512-yFVqUC/ZkHeVbmdm6B1WLFNqQcr/j//FdgZhZs93LBtiSMIALznj/Y7WGA+sZ9JCFTZHTip+9rM5pld0ZSndrw==}
|
||||
dev: false
|
||||
|
||||
/@leafer/debug@2.2.2:
|
||||
resolution: {integrity: sha512-7gPabrbUpdFnsn5Z/55P8uIpoXm5g/vrJ/Tqs07X3XTvKs+nx+1eWPQf43IilDTLZWTIRsW5P+9+ryFCdvmx+Q==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/decorator@2.2.2:
|
||||
resolution: {integrity: sha512-LCO63q3apDQrAsodpKHJuAxSqQvFll7fzsZTEkd2J+h0nR8+JMiLAXou3818KAguRZeczR4KW9jwEF4itYxKrA==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/display-module@2.2.2:
|
||||
resolution: {integrity: sha512-azwxaTADm8JSH59o8ipPMLVuQCOX8bVYlNUa8LAfLrW5jq2UzaOr9q2eF2VMADwe4QiGWw+GllDnVZla74LzSA==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/event': 2.2.2
|
||||
'@leafer/helper': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/display@2.2.2:
|
||||
resolution: {integrity: sha512-wv8z+Puh2dMm2szUUcsz7Nw4MDyYj7jwQSfCilcoPKDFxcs/tEKQ+Ew2D6ZZP2ofqKZRkLNEF5ODgZtCOSglug==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/decorator': 2.2.2
|
||||
'@leafer/display-module': 2.2.2
|
||||
'@leafer/event': 2.2.2
|
||||
'@leafer/helper': 2.2.2
|
||||
'@leafer/image': 2.2.2
|
||||
'@leafer/layout': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/event@2.2.2:
|
||||
resolution: {integrity: sha512-EWHdfq1FcbtAb0IXdUGpjhUFuiaM0qGTi6TQhE4irn909+Q7eX0f3Yh5XZjA1uSq3Hw0vKDLIel1WdPC/TYBCQ==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/decorator': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/file@2.2.2:
|
||||
resolution: {integrity: sha512-YbbPjUQIEfy9vxmYIy22Dfp+t6XdYoOWBP6k7M/wsUqduR/u904zFwe9RqqFDXzIM3TKjjsrEBGs9sFNt2YHJg==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
'@leafer/task': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/helper@2.2.2:
|
||||
resolution: {integrity: sha512-y695aHD16J5y4bQ1oLpwn3U2pEwQZwCbVdP2+6ju4ZRfqOd8BDoU6LXTdviQ3gqm0y/6AI8F/XVDTZaL1RDqqw==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/image-web@2.2.2:
|
||||
resolution: {integrity: sha512-mXyFHxm1KboqbV8gjK1bc3lBiQBovPPn64niOENLE8TCq3Po5dp7gc1EoW9qqOZPl9cSgOYN++8nnJbfypp0XA==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/image@2.2.2:
|
||||
resolution: {integrity: sha512-7KI8dws2OLMr/1woZX40uGy19P6iJlAtVUh72/Qb/5excXOtELEvlwAYNCz6iSg7s8C8qpk2l81XookDw7A4Aw==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/file': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
'@leafer/task': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/interface@2.2.2:
|
||||
resolution: {integrity: sha512-7gqUQZD/Q0gj6rWUSYF+hQtSPIaoMzhEQYGDbf/hmZJoluudoeMaBR5ZxW83Y5S8xEaEyEZhCnGxl5ybVM+1CQ==}
|
||||
dev: false
|
||||
|
||||
/@leafer/layout@2.2.2:
|
||||
resolution: {integrity: sha512-hEAfCJBEx9oF2+kN+pdxmerpdhV4Dcr/1B/WoOB/6BW3kLbGSRnnr7zu/TFCtXfYgafzy4YYVhwk5ksUH/N3dw==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/helper': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
'@leafer/platform': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/layouter@2.2.2:
|
||||
resolution: {integrity: sha512-ydJODco5pbBOYY1N3XM37BQJx0OmJicwqyf7IY9wmiaN48lXlgQv4iRsbA+5XQjnKN7Kug/nL49MnvxKzjMt5w==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/list@2.2.2:
|
||||
resolution: {integrity: sha512-QRByA0zxdHQBVyNwgeavOtNsnWmjFxrc50A0bV3hjfPCmHUZbxRBbUW9YbBnujImNdtwkOkoDkLu6BTJDKL2RA==}
|
||||
dev: false
|
||||
|
||||
/@leafer/math@2.2.2:
|
||||
resolution: {integrity: sha512-sg2vS2KIVlAVTKoQlKyJBIexLqjwVtut8iZscGRwEp6Kia190WagGUgwzk9MgPuRac7Chkx0DhK+B2Il0Q5mtQ==}
|
||||
dev: false
|
||||
|
||||
/@leafer/partner@2.2.2:
|
||||
resolution: {integrity: sha512-8n0YT+nJ6rRBk1tx5oAG/S587Bt/qmRFlnELdir8LxpaWfKzrLirsaKA9HSeH5S8szHb1Anfn8L/rGCngZDN3Q==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
'@leafer/layouter': 2.2.2
|
||||
'@leafer/renderer': 2.2.2
|
||||
'@leafer/selector': 2.2.2
|
||||
'@leafer/watcher': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/path@2.2.2:
|
||||
resolution: {integrity: sha512-NTurt6KKPWsqOLRIJhK+jgpldZ44If1Bc7iSC9QByyOd+eTBNIH4QnSi5eJgK2B3jrIBbeIqkDn5F91ePY3laA==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/platform@2.2.2:
|
||||
resolution: {integrity: sha512-uB347iO8TdDgnbsqZ5H5z6PVPrw8VRyQ4FA+KD5P7N94r0JJIG28sNp1Z5UM4LV5bA5wgac57RDi6Tt+RGz0rg==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/debug': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/renderer@2.2.2:
|
||||
resolution: {integrity: sha512-Z9+vPQKf87f1D7QnV3XEtt79/qvL9XgdJEwDeNIhtcIU5ui2uUiKPKj/G3p5Kybi4FQ5xmn1e8vqtWtooWD2DA==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/selector@2.2.2:
|
||||
resolution: {integrity: sha512-e7qQslXAMBEdlb9DawL0jGxM6upIrMStszWQ1RRojtZv8Y5Q0+BgRLr3j3h11CPS5MmMsVOb/ZSqtuFsYt324w==}
|
||||
dependencies:
|
||||
'@leafer/core': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/task@2.2.2:
|
||||
resolution: {integrity: sha512-VQmNSNW7DCjoe+hA6A77T2BGPSqOHfRzt2TDohcuEMnQLiYrM3ez+1PZzcE+JtUE2mLwnJdEjVNjh3QByncXrg==}
|
||||
dependencies:
|
||||
'@leafer/debug': 2.2.2
|
||||
'@leafer/math': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/watcher@2.2.2:
|
||||
resolution: {integrity: sha512-NrAnPRgeh8bN6b2LilBVjcRsv0sZh3pZCkSMm/QWIqXxJ9pYdw8uTSdxxEzdAXyA7b29HLa+IlCziwgnKPz1Og==}
|
||||
dependencies:
|
||||
'@leafer/data': 2.2.2
|
||||
'@leafer/event': 2.2.2
|
||||
'@leafer/list': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@leafer/web-core@2.2.2:
|
||||
resolution: {integrity: sha512-u/jT9qFa5Cf5ajq+SHdi8a0CnX4VXZ12+CtcCNbwgp89UsWxR1zt8dnE4iFnPD6+r4Tv9XIpCQja2XgJ86VPaw==}
|
||||
dependencies:
|
||||
'@leafer/canvas-web': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
'@leafer/image-web': 2.2.2
|
||||
'@leafer/interface': 2.2.2
|
||||
'@leafer/partner': 2.2.2
|
||||
dev: false
|
||||
|
||||
/@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1):
|
||||
resolution: {integrity: sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==}
|
||||
requiresBuild: true
|
||||
@@ -1328,6 +1717,21 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/leafer-ui@2.2.2:
|
||||
resolution: {integrity: sha512-hncxe8IwNL+7gpG3QrxSKtiOQtujSvVE40I20+MK0iFudkO0NBwAaRHf81K8Ys+fCt2XruRATlF4tMkCJ3AILA==}
|
||||
dependencies:
|
||||
'@leafer-in/interface': 2.2.2(@leafer-ui/interface@2.2.2)(@leafer/interface@2.2.2)
|
||||
'@leafer-ui/core': 2.2.2
|
||||
'@leafer-ui/draw': 2.2.2
|
||||
'@leafer-ui/interaction-web': 2.2.2
|
||||
'@leafer-ui/interface': 2.2.2
|
||||
'@leafer-ui/partner': 2.2.2
|
||||
'@leafer-ui/web': 2.2.2
|
||||
'@leafer/core': 2.2.2
|
||||
'@leafer/interface': 2.2.2
|
||||
'@leafer/partner': 2.2.2
|
||||
dev: false
|
||||
|
||||
/lightningcss-android-arm64@1.32.0:
|
||||
resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
Reference in New Issue
Block a user