@deepblend/dsh-blender-contracts 0.2.12 → 0.2.14
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.
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://deepblend.local/schemas/scene-spec.schema.json",
|
|
4
4
|
"title": "DeepBlend SceneSpec v1",
|
|
5
|
-
"description": "The structural source of truth for one DeepBlend scene (SPEC
|
|
5
|
+
"description": "The structural source of truth for one DeepBlend scene (SPEC \u00a78.1: 'SceneSpec \u573a\u666f\u7ed3\u6784\u4e8b\u5b9e\u6765\u6e90'). A .blend file is a compile artifact of this document, never the authority. Scenes are compiled from a SceneSpec and modified only through ScenePatch operations, so that every revision is diffable, replayable and auditable.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": [
|
|
@@ -26,6 +26,13 @@
|
|
|
26
26
|
"$ref": "#/$defs/asset"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
|
+
"armatures": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"$ref": "#/$defs/armature"
|
|
33
|
+
},
|
|
34
|
+
"description": "Armatures this scene declares (SPEC \u00a720 M6, character animation). Each is one skeleton, created as its own object and named `<prefix><id>` like every other product object. WHAT THIS SLICE DOES NOT DO YET: bind a mesh to a bone (skinning) and animate a bone \u2014 those are the next two slices, and a rig that exists but drives nothing is honest about being exactly that."
|
|
35
|
+
},
|
|
29
36
|
"materials": {
|
|
30
37
|
"type": "array",
|
|
31
38
|
"items": {
|
|
@@ -83,7 +90,12 @@
|
|
|
83
90
|
"properties": {
|
|
84
91
|
"color": {
|
|
85
92
|
"$ref": "#/$defs/unitColor",
|
|
86
|
-
"default": [
|
|
93
|
+
"default": [
|
|
94
|
+
0.02,
|
|
95
|
+
0.021,
|
|
96
|
+
0.026,
|
|
97
|
+
1
|
|
98
|
+
]
|
|
87
99
|
},
|
|
88
100
|
"strength": {
|
|
89
101
|
"type": "number",
|
|
@@ -220,7 +232,7 @@
|
|
|
220
232
|
"path": {
|
|
221
233
|
"type": "string",
|
|
222
234
|
"minLength": 1,
|
|
223
|
-
"description": "Project-relative POSIX path. Absolute paths and any '..' segment are rejected by the path guard (SPEC
|
|
235
|
+
"description": "Project-relative POSIX path. Absolute paths and any '..' segment are rejected by the path guard (SPEC \u00a715.2)."
|
|
224
236
|
},
|
|
225
237
|
"sha256": {
|
|
226
238
|
"type": "string",
|
|
@@ -383,7 +395,7 @@
|
|
|
383
395
|
"required": [
|
|
384
396
|
"shape"
|
|
385
397
|
],
|
|
386
|
-
"description": "Procedural proxy geometry. M1 has no asset-ingest action yet, so fixtures build their hero objects from generators; asset-instance entities take over as the primary path once blender_asset_ingest lands (SPEC
|
|
398
|
+
"description": "Procedural proxy geometry. M1 has no asset-ingest action yet, so fixtures build their hero objects from generators; asset-instance entities take over as the primary path once blender_asset_ingest lands (SPEC \u00a711).",
|
|
387
399
|
"properties": {
|
|
388
400
|
"shape": {
|
|
389
401
|
"type": "string",
|
|
@@ -480,7 +492,7 @@
|
|
|
480
492
|
},
|
|
481
493
|
"locked": {
|
|
482
494
|
"type": "boolean",
|
|
483
|
-
"description": "A locked entity may still be patched explicitly, but the orchestrator must not propose changes to it autonomously (SPEC
|
|
495
|
+
"description": "A locked entity may still be patched explicitly, but the orchestrator must not propose changes to it autonomously (SPEC \u00a712)."
|
|
484
496
|
},
|
|
485
497
|
"visible": {
|
|
486
498
|
"type": "boolean"
|
|
@@ -658,7 +670,11 @@
|
|
|
658
670
|
},
|
|
659
671
|
"targetKind": {
|
|
660
672
|
"type": "string",
|
|
661
|
-
"enum": [
|
|
673
|
+
"enum": [
|
|
674
|
+
"entity",
|
|
675
|
+
"camera",
|
|
676
|
+
"material"
|
|
677
|
+
],
|
|
662
678
|
"default": "entity",
|
|
663
679
|
"description": "What `targetEntityId` names: an entity (default), a camera, or a material. Only entity tracks existed before, which is why \"the camera orbits the product\" and \"the dial lights up\" both had to be faked with entity transforms."
|
|
664
680
|
},
|
|
@@ -768,7 +784,7 @@
|
|
|
768
784
|
"maxSamplesBudget": {
|
|
769
785
|
"type": "integer",
|
|
770
786
|
"minimum": 1,
|
|
771
|
-
"description": "Upper bound a render action may use. Guards the render-cost threshold of SPEC
|
|
787
|
+
"description": "Upper bound a render action may use. Guards the render-cost threshold of SPEC \u00a715.4."
|
|
772
788
|
}
|
|
773
789
|
}
|
|
774
790
|
},
|
|
@@ -786,6 +802,57 @@
|
|
|
786
802
|
"$ref": "#/$defs/renderProfile"
|
|
787
803
|
}
|
|
788
804
|
}
|
|
805
|
+
},
|
|
806
|
+
"bone": {
|
|
807
|
+
"type": "object",
|
|
808
|
+
"additionalProperties": false,
|
|
809
|
+
"required": [
|
|
810
|
+
"name",
|
|
811
|
+
"head",
|
|
812
|
+
"tail"
|
|
813
|
+
],
|
|
814
|
+
"properties": {
|
|
815
|
+
"name": {
|
|
816
|
+
"type": "string",
|
|
817
|
+
"minLength": 1,
|
|
818
|
+
"maxLength": 64,
|
|
819
|
+
"description": "The bone's name inside its armature. A parent names another bone by this, so it is the identity a rig is written in terms of."
|
|
820
|
+
},
|
|
821
|
+
"head": {
|
|
822
|
+
"$ref": "#/$defs/vec3"
|
|
823
|
+
},
|
|
824
|
+
"tail": {
|
|
825
|
+
"$ref": "#/$defs/vec3"
|
|
826
|
+
},
|
|
827
|
+
"parent": {
|
|
828
|
+
"type": "string",
|
|
829
|
+
"description": "The name of another bone in the SAME armature, or absent for a root. Bones are declared in any order; the compiler resolves the hierarchy, because requiring parents-first would make a rig's declaration depend on its storage order."
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
},
|
|
833
|
+
"armature": {
|
|
834
|
+
"type": "object",
|
|
835
|
+
"additionalProperties": false,
|
|
836
|
+
"required": [
|
|
837
|
+
"id",
|
|
838
|
+
"bones"
|
|
839
|
+
],
|
|
840
|
+
"properties": {
|
|
841
|
+
"id": {
|
|
842
|
+
"$ref": "#/$defs/id"
|
|
843
|
+
},
|
|
844
|
+
"bones": {
|
|
845
|
+
"type": "array",
|
|
846
|
+
"minItems": 1,
|
|
847
|
+
"items": {
|
|
848
|
+
"$ref": "#/$defs/bone"
|
|
849
|
+
},
|
|
850
|
+
"description": "At least one bone, because an armature with none is a rig that cannot move anything and would silently do nothing."
|
|
851
|
+
},
|
|
852
|
+
"transform": {
|
|
853
|
+
"$ref": "#/$defs/transform"
|
|
854
|
+
}
|
|
855
|
+
}
|
|
789
856
|
}
|
|
790
857
|
}
|
|
791
858
|
}
|
package/package.json
CHANGED