feat(vk): VK community cover #285
Reference in New Issue
Block a user
Delete Branch "feature/vk-group-cover"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cover art for the VK community (1920x768) plus the generator that renders it. The
community avatar (the «Э» tile) is uploaded separately — this is only the backdrop.
Ships two covers, same camera and crop, differing only in light:
cover-night-spot.png(dark, board in a warm spotlight) and
cover-day-spot.png(light).build-cover.mjsreproduces exactly those two files.
The board is a legal position, and that is checked rather than asserted.
ГРАМОТНОСТЬ opens through the centre square (its Т on H8) and СОПЕРНИК / ЭРУДИЦИЯ / УМ
each hook onto a shared letter.
assertLegalre-reads the finished grid on every run andfails the build if the centre is uncovered, if a declared word is missing, or if any
maximal run of two or more letters is a word nobody played. All four words were verified
against
ru_erudit.dawgthrough the engine's own alphabet encoder; tile values come fromscrabble-solverrules.Erudit().Composition respects VK's keep-outs, measured off VK's own template (committed here as
assets/vk/VK_group_cover_template.fig): the top 130 px some clients crop, and the avatarcircle VK overlays on the bottom-left in its mobile app.
ZONES=1paints both over therender. That avatar is why the words are arranged as two long horizontals — the
alternative arrangement (
LAYOUT=cross) hangs ЭРУДИЦИЯ down the left, straight under it.No new dependency. skia-canvas is borrowed from the render sidecar's
node_modulesrather than installed a second time for a one-off asset build, and the letters are set in
the icon brand folder's
Spectral-Bold.ttf.Assets and one standalone script only — no service, UI or deploy code is touched.