- scripts/build-art.mjs: все спрайты игры собираются из исходников, а не кладутся руками. Лица карт растеризуются из векторов, рубашка/стол/панели/кнопки нарисованы SVG-ом прямо в скрипте - 36 лиц 220x320 + рубашка, автоатлас 2048x2048, обрезка выключена (раскладка рассчитывает на точный размер карты) - девятипатчевые плитки 120x120 с рамкой 40 - фон стола 540x960, рисуется в 2x — градиенту детализация не нужна, а памяти под текстуру уходит вчетверо меньше - исходные векторы перенесены из local/ в art-src/cards - ATTRIBUTION.md: LGPL-3.0, атрибуция обязательна; там же написано, что менять, если такая лицензия не подходит для релиза Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1.5 KiB
Card face attribution
The 36 card faces in this folder are rendered from Vector Playing Cards by
Chris Aguilar (totalnonsense.com/open-source-vector-playing-cards/,
originally code.google.com/p/vector-playing-cards/).
- Licence: LGPL-3.0
- Attribution is a requirement of the licence and must appear in the shipped game — a credits screen, an about box, or the store listing description.
- The unmodified vector sources are kept in
art-src/cardsso the LGPL obligation to make the source form available is met, and so the sprites can be regenerated:npm run build:art.
The court cards (J, Q, K) come from the set's alternate variants, which carry the proper court illustrations; the plain variants are only a large suit pip.
Everything else in assets/art — the card back, the table surface, the panels
and the buttons — was authored for this project in
scripts/build-art.mjs and carries no third
party licence.
Note for whoever ships this
LGPL-3.0 is a copyleft licence. It is usable in a closed-source game as long as
the licensed part stays separable and replaceable and its source is available —
which is why the SVGs are in the repository rather than deleted after the build.
If that is not acceptable for this product, the 36 faces are the only thing that
has to be replaced; nothing in the code depends on their appearance, only on the
file names, which follow <rank>_of_<suit>.png (see Card.assetName).