# 10Block — upstream and integration notice

Source review and integration: 2026-09-14.

- Original game and author: **10Block by viliceq**.
- Repository: https://github.com/viliceq/10block
- Fixed source revision: `93dfa7eaf785043d038a4e5f20ba358d90f6edd9` (2026-05-26).
- License: MIT, copyright (c) 2026 viliceq. The original text is included as `LICENSE`.
- This is the existing independent 10×10 game, not Hungry Studio's Block Blast and not an 8×8 conversion. Game rules, piece catalogue, scoring and drag controller remain upstream implementations.

## Included assets and provenance

The board and pieces are rendered by the upstream TypeScript/CSS. `icons/icon.svg` consists of the original author's geometric vector artwork. No third-party font is distributed; styles use system fonts. The source directory is included to make this adapted static distribution inspectable.

The seven upstream `public/sounds/*.mp3` are **not included or requested**. Source history documents upload and trimming but did not establish their creation or third-party source. They were excluded rather than treating the repository license as proof of rights the author might not hold.

## Minimal integration changes

1. `source/main.ts` selects upstream's existing `createSilentAudio()` implementation. The inactive mute control is hidden, and the start button no longer promises sound. No replacement sound or new gameplay was created.
2. The game is bundled as static `game.js` and `game.css` using the host project's existing esbuild 0.28.2. Upstream PWA, service worker and root-scope manifest are not included.
3. Rules and icon links are relative to this game directory. Storage keys use `playlane:10block:*` to avoid cross-game collisions.
4. The HTML wrapper is noindex, keeps the original game identity and loads Playlane's shared `/play/bridge.js`.

Rebuild from the `game-online-mvp` project root with the already installed esbuild:

```sh
node -e 'require("esbuild").buildSync({entryPoints:["public/play/10block/source/main.ts"],bundle:true,format:"iife",target:["es2020"],outfile:"public/play/10block/game.js",minify:true,legalComments:"eof"})'
```

No upstream package install, install hook or deployment workflow was executed. Local startup/input testing and production acceptance are separate from this rights/source notice; see the site's release evidence for actual results. The silent edition does not promise offline installation or audio.

Primary evidence:

- MIT: https://github.com/viliceq/10block/blob/93dfa7eaf785043d038a4e5f20ba358d90f6edd9/LICENSE
- Existing silent implementation: https://github.com/viliceq/10block/blob/93dfa7eaf785043d038a4e5f20ba358d90f6edd9/src/audio.ts
- Geometric icon: https://github.com/viliceq/10block/blob/93dfa7eaf785043d038a4e5f20ba358d90f6edd9/public/icons/icon.svg
- Sound import history: https://github.com/viliceq/10block/commit/4cb894b3eb25170fe8b983a2a25b8386a9e357c7

Playlane's integration changes are provided under the same MIT terms; upstream notices remain intact.
