Back to Soybert 3D
SOURCE / PINNED RELEASE

Made of little things.

Soybert 3D

Release
4bf80e758af1…
Author-recorded commit
298fa2d0e8b1…
License
LICENSE
Author’s source reference
nostr://npub1n8ga89w8h6tvwamxusfyzexw8gjy84yxu9rxgnmk955cxtml4ujswzxydd/wss%3A%2F%2Fgit.napplet.soy%2F/n-9021e1b6a96

Archive hash verified: 7083223a53bbd320…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

docs/verification.md
# Soybert verification — 2026-09-21

Built artifact SHA-256: `ee1660d966256e736b962658060ade68df02c39740f0f78a060df04c401ace73`.
Single-file HTML: 3,616,383 bytes. No external script, network or browser-storage references in the built code.

## Checks

- `pnpm type-check`: pass.
- `pnpm build`: pass; the expected large-bundle advisory is compatible with the required single-file artifact.
- `pnpm test:guidance`: 6 passed.
- `pnpm test:simulation`: 6 passed. Covers diagonal speed, stage bounds, jump/landing, action cooldowns, frame-rate consistency, responsive acceleration/braking, and hands attached to the shotgun/pump bones.
- `soyli run test:conformance` (runs `pnpm test:conformance`): 5 passed, 0 failed, 5 skipped. Signed manifest checks, wire evidence and measured lifecycle evidence were not supplied to that runner.
- `node tests/browser-smoke.mjs`: pass. Intro and stage checked at 200×160, 320×560, 900×600, 960×900 and 2400×1200 in dark and light. No overflow or clipped buttons. Keyboard and pointer movement, jump/landing, shooting, celebration, pause/resume, reset, settings SDK action, live theme change, subscription cleanup and absent optional domains passed without page errors.
- Blender GLB: one skin, eight joints and five named actions (Idle, Walk, Jump, Shoot, Celebrate); 24 animation channels per action. Both hands inherit their grip positions through recoil/pumping.
- Real soyLI sandbox smoke: iframe loaded, injected domains observed, and a user-triggered `config.openSettings` operation opened the host's Stage settings panel without page errors. Preview: http://127.0.0.1:4173/.

The browser screenshots and detailed report are generated privately under `.napplet-space/verification`. The requested splash lettering is an explicit exception to the starter's default of omitting app titles. Both lines share Fredoka 700, gold faces and brown beveled sides. The wider default camera separates the mascot from the title, including the near-square reference layout. The arena remains dark in both runtime themes, with pale on-stage hints for contrast. Small frames prioritize the model and primary action; the secondary lettering is difficult to read at 200×160.

## Host check limitation

`soyli check` on soyLI 0.16.2 reports `CREATOR_MISMATCH` even though the selected account matches the saved creator. Inspection of the installed version's source identified that the standalone check reads `napplet.json` without resolving the creator in `.napplet-space/project.json`. The publish and record paths resolve that binding correctly. The selected signer passes `soyli account check`; no account or binding was changed.

Release media: `preview.png` is a 1200×750 capture from the real soyLI sandbox after entering the stage. `preview.webm` is an inspected 960×600 silent VP8 recording of movement, jumping, shotgun fire and celebration, captured by `soyli record` from the artifact above. Recording passed the shared publication sandbox check. Its recipe and matching artifact hash are saved in `napplet.json`.

Physical touch devices, game controllers and cross-browser performance have not been tested. Pointer input is tested in Chromium; no controller support is claimed.