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