cof-cli 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,206 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yannsouetre.github.io/cof/schemas/1.0/pose.schema.json",
4
+ "title": "pose.json — normalized 2D keypoints of a posture, declared skeleton",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "properties": {
8
+ "skeleton": {
9
+ "enum": [
10
+ "openpose-body25",
11
+ "coco-18",
12
+ "coco-wholebody-133",
13
+ "mediapipe-pose-33",
14
+ "h36m-17"
15
+ ]
16
+ },
17
+ "normalized": {
18
+ "const": true,
19
+ "description": "x, y in [0,1] of the original frame; c = confidence [0,1]"
20
+ },
21
+ "aspect": {
22
+ "type": "number",
23
+ "exclusiveMinimum": 0,
24
+ "description": "width/height of the original frame (restores proportions)"
25
+ },
26
+ "keypoints": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "number",
32
+ "minimum": 0,
33
+ "maximum": 1
34
+ },
35
+ "minItems": 3,
36
+ "maxItems": 3
37
+ },
38
+ "description": "[x, y, c] per joint, in skeleton order; c = 0 for a missing joint"
39
+ },
40
+ "hands": {
41
+ "type": "object",
42
+ "properties": {
43
+ "left": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "array",
47
+ "items": {
48
+ "type": "number"
49
+ },
50
+ "minItems": 3,
51
+ "maxItems": 3
52
+ },
53
+ "minItems": 21,
54
+ "maxItems": 21
55
+ },
56
+ "right": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "number"
62
+ },
63
+ "minItems": 3,
64
+ "maxItems": 3
65
+ },
66
+ "minItems": 21,
67
+ "maxItems": 21
68
+ }
69
+ }
70
+ },
71
+ "face": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "array",
75
+ "items": {
76
+ "type": "number"
77
+ },
78
+ "minItems": 3,
79
+ "maxItems": 3
80
+ },
81
+ "minItems": 68,
82
+ "maxItems": 70
83
+ },
84
+ "source": {
85
+ "type": "object",
86
+ "properties": {
87
+ "asset": {
88
+ "type": "string",
89
+ "pattern": "^[a-z0-9][a-z0-9.-]{0,63}$"
90
+ },
91
+ "detector": {
92
+ "type": "string"
93
+ },
94
+ "converted_from": {
95
+ "enum": [
96
+ "openpose-body25",
97
+ "coco-18",
98
+ "coco-wholebody-133",
99
+ "mediapipe-pose-33",
100
+ "h36m-17"
101
+ ]
102
+ }
103
+ }
104
+ },
105
+ "render": {
106
+ "type": "string",
107
+ "pattern": "^(?!/)(?!.*\\.\\.)[A-Za-z0-9._/-]+$"
108
+ },
109
+ "mirror_ok": {
110
+ "type": "boolean",
111
+ "default": true,
112
+ "description": "the pose can be mirrored left/right without losing its meaning"
113
+ }
114
+ },
115
+ "required": [
116
+ "skeleton",
117
+ "keypoints"
118
+ ],
119
+ "allOf": [
120
+ {
121
+ "if": {
122
+ "properties": {
123
+ "skeleton": {
124
+ "const": "openpose-body25"
125
+ }
126
+ }
127
+ },
128
+ "then": {
129
+ "properties": {
130
+ "keypoints": {
131
+ "minItems": 25,
132
+ "maxItems": 25
133
+ }
134
+ }
135
+ }
136
+ },
137
+ {
138
+ "if": {
139
+ "properties": {
140
+ "skeleton": {
141
+ "const": "coco-18"
142
+ }
143
+ }
144
+ },
145
+ "then": {
146
+ "properties": {
147
+ "keypoints": {
148
+ "minItems": 18,
149
+ "maxItems": 18
150
+ }
151
+ }
152
+ }
153
+ },
154
+ {
155
+ "if": {
156
+ "properties": {
157
+ "skeleton": {
158
+ "const": "coco-wholebody-133"
159
+ }
160
+ }
161
+ },
162
+ "then": {
163
+ "properties": {
164
+ "keypoints": {
165
+ "minItems": 133,
166
+ "maxItems": 133
167
+ }
168
+ }
169
+ }
170
+ },
171
+ {
172
+ "if": {
173
+ "properties": {
174
+ "skeleton": {
175
+ "const": "mediapipe-pose-33"
176
+ }
177
+ }
178
+ },
179
+ "then": {
180
+ "properties": {
181
+ "keypoints": {
182
+ "minItems": 33,
183
+ "maxItems": 33
184
+ }
185
+ }
186
+ }
187
+ },
188
+ {
189
+ "if": {
190
+ "properties": {
191
+ "skeleton": {
192
+ "const": "h36m-17"
193
+ }
194
+ }
195
+ },
196
+ "then": {
197
+ "properties": {
198
+ "keypoints": {
199
+ "minItems": 17,
200
+ "maxItems": 17
201
+ }
202
+ }
203
+ }
204
+ }
205
+ ]
206
+ }
@@ -0,0 +1,252 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yannsouetre.github.io/cof/schemas/1.0/psyche.schema.json",
4
+ "title": "elements/personality/<v>/psyche.json — typed traits, goals, fears, values, baseline emotion",
5
+ "description": "Typed projection of the personality: the narrative truth stays in card.json; psyche.json is a structured derivative for engines, filters and coherence checks.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "properties": {
9
+ "model": {
10
+ "const": "cof-psyche/0.1"
11
+ },
12
+ "traits": {
13
+ "type": "object",
14
+ "properties": {
15
+ "big5": {
16
+ "type": "object",
17
+ "properties": {
18
+ "openness": {
19
+ "type": "number",
20
+ "minimum": 0,
21
+ "maximum": 1
22
+ },
23
+ "conscientiousness": {
24
+ "type": "number",
25
+ "minimum": 0,
26
+ "maximum": 1
27
+ },
28
+ "extraversion": {
29
+ "type": "number",
30
+ "minimum": 0,
31
+ "maximum": 1
32
+ },
33
+ "agreeableness": {
34
+ "type": "number",
35
+ "minimum": 0,
36
+ "maximum": 1
37
+ },
38
+ "neuroticism": {
39
+ "type": "number",
40
+ "minimum": 0,
41
+ "maximum": 1
42
+ }
43
+ },
44
+ "additionalProperties": false
45
+ },
46
+ "hexaco": {
47
+ "type": "object",
48
+ "properties": {
49
+ "honesty_humility": {
50
+ "type": "number",
51
+ "minimum": 0,
52
+ "maximum": 1
53
+ },
54
+ "emotionality": {
55
+ "type": "number",
56
+ "minimum": 0,
57
+ "maximum": 1
58
+ },
59
+ "extraversion": {
60
+ "type": "number",
61
+ "minimum": 0,
62
+ "maximum": 1
63
+ },
64
+ "agreeableness": {
65
+ "type": "number",
66
+ "minimum": 0,
67
+ "maximum": 1
68
+ },
69
+ "conscientiousness": {
70
+ "type": "number",
71
+ "minimum": 0,
72
+ "maximum": 1
73
+ },
74
+ "openness": {
75
+ "type": "number",
76
+ "minimum": 0,
77
+ "maximum": 1
78
+ }
79
+ },
80
+ "additionalProperties": false
81
+ },
82
+ "custom": {
83
+ "type": "array",
84
+ "items": {
85
+ "type": "object",
86
+ "required": [
87
+ "id",
88
+ "label",
89
+ "value"
90
+ ],
91
+ "properties": {
92
+ "id": {
93
+ "type": "string",
94
+ "pattern": "^[a-z]+:[A-Za-z0-9._-]+$",
95
+ "description": "referenceable identifier (trait:…, goal:…, fear:…, gesture:…)"
96
+ },
97
+ "label": {
98
+ "type": "string"
99
+ },
100
+ "value": {
101
+ "type": "number",
102
+ "minimum": 0,
103
+ "maximum": 1
104
+ },
105
+ "evidence": {
106
+ "type": "string",
107
+ "description": "where the evidence can be read (card.personality, card.mes_example…)"
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ },
114
+ "goals": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "object",
118
+ "required": [
119
+ "id",
120
+ "text"
121
+ ],
122
+ "properties": {
123
+ "id": {
124
+ "type": "string",
125
+ "pattern": "^[a-z]+:[A-Za-z0-9._-]+$",
126
+ "description": "referenceable identifier (trait:…, goal:…, fear:…, gesture:…)"
127
+ },
128
+ "text": {
129
+ "type": "string"
130
+ },
131
+ "horizon": {
132
+ "enum": [
133
+ "immediate",
134
+ "short",
135
+ "long",
136
+ "life"
137
+ ]
138
+ },
139
+ "priority": {
140
+ "type": "integer",
141
+ "minimum": 1
142
+ }
143
+ }
144
+ }
145
+ },
146
+ "fears": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "required": [
151
+ "id",
152
+ "text"
153
+ ],
154
+ "properties": {
155
+ "id": {
156
+ "type": "string",
157
+ "pattern": "^[a-z]+:[A-Za-z0-9._-]+$",
158
+ "description": "referenceable identifier (trait:…, goal:…, fear:…, gesture:…)"
159
+ },
160
+ "text": {
161
+ "type": "string"
162
+ },
163
+ "intensity": {
164
+ "type": "number",
165
+ "minimum": 0,
166
+ "maximum": 1
167
+ }
168
+ }
169
+ }
170
+ },
171
+ "values": {
172
+ "type": "array",
173
+ "items": {
174
+ "type": "string"
175
+ }
176
+ },
177
+ "contradictions": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "string"
181
+ },
182
+ "description": "acknowledged inner tensions — what makes the character believable"
183
+ },
184
+ "baseline_emotion": {
185
+ "type": "object",
186
+ "properties": {
187
+ "category": {
188
+ "type": "object",
189
+ "required": [
190
+ "set",
191
+ "value"
192
+ ],
193
+ "properties": {
194
+ "set": {
195
+ "enum": [
196
+ "everyday",
197
+ "big6",
198
+ "plutchik",
199
+ "custom"
200
+ ]
201
+ },
202
+ "value": {
203
+ "type": "string"
204
+ }
205
+ }
206
+ },
207
+ "pad": {
208
+ "type": "object",
209
+ "properties": {
210
+ "pleasure": {
211
+ "type": "number",
212
+ "minimum": -1,
213
+ "maximum": 1
214
+ },
215
+ "arousal": {
216
+ "type": "number",
217
+ "minimum": -1,
218
+ "maximum": 1
219
+ },
220
+ "dominance": {
221
+ "type": "number",
222
+ "minimum": -1,
223
+ "maximum": 1
224
+ }
225
+ }
226
+ }
227
+ }
228
+ },
229
+ "renderings": {
230
+ "type": "object",
231
+ "properties": {
232
+ "sentence": {
233
+ "type": "string"
234
+ },
235
+ "convai_sliders": {
236
+ "type": "object",
237
+ "additionalProperties": {
238
+ "type": "integer",
239
+ "minimum": 0,
240
+ "maximum": 4
241
+ }
242
+ },
243
+ "system_prompt_fragment": {
244
+ "type": "string"
245
+ }
246
+ }
247
+ }
248
+ },
249
+ "required": [
250
+ "model"
251
+ ]
252
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yannsouetre.github.io/cof/schemas/1.0/skeleton.schema.json",
4
+ "title": "Skeleton definition (entry of vocabularies/skeletons-1.0.json) and mapping table to the COF canonical skeleton",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "properties": {
8
+ "id": {
9
+ "type": "string",
10
+ "pattern": "^[a-z0-9-]+$"
11
+ },
12
+ "label": {
13
+ "type": "string"
14
+ },
15
+ "family": {
16
+ "enum": [
17
+ "2d-keypoints",
18
+ "3d-rig",
19
+ "parametric-body"
20
+ ]
21
+ },
22
+ "joints": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "required": [
27
+ "name"
28
+ ],
29
+ "properties": {
30
+ "name": {
31
+ "type": "string"
32
+ },
33
+ "parent": {
34
+ "type": [
35
+ "string",
36
+ "null"
37
+ ]
38
+ },
39
+ "canonical": {
40
+ "type": [
41
+ "string",
42
+ "null"
43
+ ],
44
+ "description": "COF canonical joint name (hips, spine, chest, neck, head, l_shoulder, l_elbow, l_wrist, r_…, l_hip, l_knee, l_ankle, l_foot, …) or null if there is no equivalent"
45
+ }
46
+ }
47
+ },
48
+ "minItems": 1
49
+ },
50
+ "up_axis": {
51
+ "enum": [
52
+ "Y",
53
+ "Z"
54
+ ]
55
+ },
56
+ "forward_axis": {
57
+ "enum": [
58
+ "Z",
59
+ "-Z",
60
+ "X",
61
+ "-X"
62
+ ]
63
+ },
64
+ "units": {
65
+ "enum": [
66
+ "m",
67
+ "cm",
68
+ "normalized"
69
+ ]
70
+ },
71
+ "rest_pose": {
72
+ "enum": [
73
+ "t-pose",
74
+ "a-pose",
75
+ "none"
76
+ ]
77
+ },
78
+ "spec_url": {
79
+ "type": "string",
80
+ "format": "uri"
81
+ }
82
+ },
83
+ "required": [
84
+ "id",
85
+ "family",
86
+ "joints"
87
+ ]
88
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yannsouetre.github.io/cof/schemas/1.0/visemes.schema.json",
4
+ "title": "elements/motion/<v>/visemes.json — viseme vocabulary of the clips",
5
+ "type": "object",
6
+ "additionalProperties": true,
7
+ "properties": {
8
+ "vocabulary": {
9
+ "enum": [
10
+ "ARKit-52",
11
+ "Oculus-15",
12
+ "PrestonBlair-AX",
13
+ "UnifiedExpressions-1.0",
14
+ "custom"
15
+ ]
16
+ },
17
+ "mapping": {
18
+ "type": "object",
19
+ "additionalProperties": {
20
+ "type": "string"
21
+ },
22
+ "description": "if custom: local name → ARKit name"
23
+ }
24
+ },
25
+ "required": [
26
+ "vocabulary"
27
+ ]
28
+ }