Spaces:
Running on Zero
Running on Zero
File size: 8,884 Bytes
d096a92 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | # Shipped Assets β provenance and license facts
> Source of truth for LICENSES.md (written in plan 01-10). Every row must be
> traceable to a document that was actually read, not inferred.
## VRM character β avatar/assets/tutor.vrm
> **STATUS: TEMPORARY DEV ASSET.** This is a properly-licensed placeholder chosen to unblock the
> avatar pipeline (plans 01-03, 01-06, 01-08, 01-09). The decision to author a bespoke character was
> deferred, **not cancelled**. **Plan 01-10 MUST re-raise the VRM sourcing checkpoint before the
> phase-exit licensing audit.** See "Open item for plan 01-10" below.
| Field | Value |
|---|---|
| Character name | VRM1_Constraint_Twist_Sample (embedded `meta.name`), model version `v1.0.1` |
| Author | pixiv Inc. (embedded `meta.authors` = `['pixiv Inc.']`) |
| Copyright | (c) 2022 pixiv Inc. (embedded `meta.copyrightInformation`) |
| Source | Official VRM specification sample repository, `vrm-c/vrm-specification`, path `samples/VRM1_Constraint_Twist_Sample/vrm/VRM1_Constraint_Twist_Sample.vrm` β https://github.com/vrm-c/vrm-specification/tree/master/samples/VRM1_Constraint_Twist_Sample (HTTP 200, verified 2026-08-27) |
| Download URL used | https://raw.githubusercontent.com/vrm-c/vrm-specification/master/samples/VRM1_Constraint_Twist_Sample/vrm/VRM1_Constraint_Twist_Sample.vrm (HTTP 200, verified 2026-08-27) |
| Terms URL | https://vrm.dev/licenses/1.0/ β VRM Public License 1.0 (HTTP 200, verified 2026-08-27) |
| VRM spec version | **VRM 1.0** (`extensions.VRMC_vrm.specVersion` = `1.0`), glTF binary container version 2 |
| Embedded meta (read from the file) | name=VRM1_Constraint_Twist_Sample authors=['pixiv Inc.'] licenseUrl=https://vrm.dev/licenses/1.0/ commercialUsage=corporation creditNotation=unnecessary avatarPermission=everyone allowRedistribution=true modification=allowModificationRedistribution copyrightInformation=(c) 2022 pixiv Inc. |
| Permissions relied on | `allowRedistribution: true` (this repo redistributes the file), `avatarPermission: everyone` (used as an avatar by any visitor), `modification: allowModificationRedistribution` (headroom to retarget or adjust and still redistribute), `commercialUsage: corporation` (the broadest tier β covers a public portfolio Space unambiguously) |
| Required credit string | **none required** β `creditNotation: unnecessary`. Credited voluntarily anyway as: `VRM1_Constraint_Twist_Sample (c) 2022 pixiv Inc. β VRM Public License 1.0` |
| File size | 10,776,032 bytes (10.28 MiB) |
| SHA-256 | `12c2b97e95e700783a6a550dc0eee2d7880aeedccef9ae67bc4c5a2f0f2631a2` |
| Git LFS | yes β `git check-attr filter` reports `filter: lfs`, and the LFS pointer's `oid sha256` equals the hash above |
### Why the embedded flags are the license answer, and the README is not
VRM Public License 1.0 is a **template, not a fixed grant.** It confers "Model Utilization" rights
unconditionally, but redistribution, avatar use, modification and commercial use are **per-file
flags set by the licensor inside the model's own `VRMC_vrm.meta` block.** Two files can both cite
`https://vrm.dev/licenses/1.0/` and grant materially different rights.
So the facts above were extracted by parsing this specific file's glTF JSON chunk, not read off a
repository README. Every flag this project relies on is explicit and permissive in the file itself.
The complete embedded `meta`, verbatim, for the record:
```
allowAntisocialOrHateUsage : False
allowExcessivelySexualUsage : True
allowExcessivelyViolentUsage : True
allowPoliticalOrReligiousUsage: True
allowRedistribution : True
authors : ['pixiv Inc.']
avatarPermission : everyone
commercialUsage : corporation
copyrightInformation : (c) 2022 pixiv Inc.
creditNotation : unnecessary
licenseUrl : https://vrm.dev/licenses/1.0/
modification : allowModificationRedistribution
name : VRM1_Constraint_Twist_Sample
thumbnailImage : 18
version : v1.0.1
```
`allowAntisocialOrHateUsage: False` is the one restriction. It is not a constraint this project can
plausibly violate β a Japanese-language tutor has no such use path β but plan 01-10's `LICENSES.md`
should carry it so the restriction is stated rather than silently dropped.
### Capability check β this asset can actually satisfy AVTR-01 and AVTR-02
Verified by parsing `extensions.VRMC_vrm.expressions`: **18 preset expressions, 0 custom.**
```
aa, angry, blink, blinkLeft, blinkRight, ee, happy, ih, lookDown, lookLeft,
lookRight, lookUp, neutral, oh, ou, relaxed, sad, surprised
```
| Requirement | Needs | Present |
|---|---|---|
| AVTR-02 lip-sync | `aa`, `ih`, `ou`, `ee`, `oh` | **all five present** |
| AVTR-01 idle life | `blink` (plus `blinkLeft` / `blinkRight`) | **present** |
| Expression range (later phases) | `happy`, `angry`, `sad`, `relaxed`, `surprised`, `neutral` | present |
| Gaze (later phases) | `lookUp` / `lookDown` / `lookLeft` / `lookRight` | present |
This was measured, not assumed. Both avatar requirements in Phase 1 are satisfiable with this file.
Also present, and relevant to plan 01-03's renderer wiring:
- `extensionsUsed`: `VRMC_springBone`, `VRMC_vrm`, `KHR_materials_unlit`, `VRMC_materials_mtoon`,
`VRMC_node_constraint`
- **54 humanoid bones** defined, including `hips`, `head`, `leftEye`, `rightEye`. There is **no
`jaw` bone** β which is fine and expected: VRM lip-sync is driven by the `aa`/`ih`/`ou`/`ee`/`oh`
blendshape expressions listed above, never by a jaw bone.
- This sample exists specifically to exercise **twist constraints** (`VRMC_node_constraint`) and
spring bones. That makes it a slightly heavier load path than a plain character, which is useful:
if plan 01-03's transport seam holds for this file, it holds for simpler ones.
## Not used, and why
**`AvatarSample_A`, `AvatarSample_B` and `AvatarSample_C` are NOT CC0.** Copyright is retained and
VRoid Hub conditions apply; VRoid's own FAQ prohibits redistributing them under a CC0 designation.
This is a widespread misconception, repeated confidently in many tutorials and blog posts. It is
recorded here so it is not reintroduced later in this repository.
Two further traps worth stating once, since they are the reason sourcing a VRM is a human decision
rather than a download:
- CC0 **cannot be set** on VRoid Hub, so any "CC0 on VRoid Hub" claim is false by construction.
- Enabling "Allow third-party usage" on VRoid Hub **overwrites** a model's embedded license with
VRoid Hub's own conditions β so the embedded flags on a Hub-sourced model may not say what the
original author intended.
## Open item for plan 01-10
`avatar/assets/tutor.vrm` is a **temporary dev asset.** Plan 01-10 must re-raise the VRM sourcing
checkpoint before the phase-exit licensing audit and decide one of:
1. **Keep this file.** Legally clean as recorded above and requires no further action beyond the
`LICENSES.md` entry. Costs the project its own character identity β it ships a spec sample named
`VRM1_Constraint_Twist_Sample`, which is a visible tell on a flagship portfolio piece.
2. **Author a bespoke character in VRoid Studio** (the original RESEARCH recommendation, estimated
2-4 hours). Converts DPLY-04 from "read someone else's terms and hope" into "state your own
terms", and gives the tutor a real identity. The embedded `vrm.meta` must be set deliberately at
export time, because plan 01-09 has an automated test asserting `vrm.meta` matches `LICENSES.md`.
Whichever is chosen, `LICENSES.md` must carry the VRM entry and
`tests/e2e/test_avatar_loop.py::test_vrm_meta_matches_licenses` must assert against the file that
actually ships.
**Fallback already vetted, if this file ever fails verification:** `Seed-san.vrm` by VirtualCast,
Inc., in the sibling samples path of the same repository β same permission flags and the same 18
presets, except `creditNotation: required`, which would make a visible credit string mandatory.
## Voice β VOICEVOX / γγγ γγ
**Already recorded in full by plan 01-04. See `docs/VOICEVOX-SETUP.md`**, which carries all three
licence layers, the exact `VOICEVOX:γγγ γγ` credit string, the placement standard, the flow-down
obligation, the Nemo pre-cleared swap, and the Open JTalk dictionary's BSD-3-Clause notice with its
dual Nara/Nagoya attribution. Not duplicated here; `LICENSES.md` (plan 01-10) should read that file
directly.
## Runtime libraries β to be filled by plan 01-10
three.js, `@pixiv/three-vrm`, transformers.js, and the Open JTalk dictionary. Note that this VRM
additionally exercises `VRMC_springBone`, `VRMC_node_constraint` and `VRMC_materials_mtoon`, all of
which are handled by `@pixiv/three-vrm` itself and add no separate licence entry.
|