@invisra/printspec 0.1.0

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,182 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.invisra.ai/printspec/0.1.0/spacer-block.schema.json",
4
+ "type": "object",
5
+ "required": [
6
+ "type",
7
+ "label",
8
+ "parameters"
9
+ ],
10
+ "properties": {
11
+ "type": {
12
+ "const": "spacer_block",
13
+ "title": "Part type",
14
+ "description": "Stable printspec part family identifier."
15
+ },
16
+ "label": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "title": "Label",
20
+ "description": "Human-readable name for this part."
21
+ },
22
+ "description": {
23
+ "type": "string",
24
+ "title": "Description",
25
+ "description": "Optional human-readable notes for this part."
26
+ },
27
+ "parameters": {
28
+ "type": "object",
29
+ "required": [
30
+ "length",
31
+ "width",
32
+ "height"
33
+ ],
34
+ "properties": {
35
+ "length": {
36
+ "type": "number",
37
+ "exclusiveMinimum": 0,
38
+ "maximum": 10000,
39
+ "title": "Length",
40
+ "description": "Length in millimeters.",
41
+ "x-printspec-control": "number",
42
+ "x-printspec-unit": "mm",
43
+ "x-printspec-step": 0.1,
44
+ "x-printspec-priority": "primary",
45
+ "examples": [
46
+ 100
47
+ ]
48
+ },
49
+ "width": {
50
+ "type": "number",
51
+ "exclusiveMinimum": 0,
52
+ "maximum": 10000,
53
+ "title": "Width",
54
+ "description": "Width in millimeters.",
55
+ "x-printspec-control": "number",
56
+ "x-printspec-unit": "mm",
57
+ "x-printspec-step": 0.1,
58
+ "x-printspec-priority": "primary",
59
+ "examples": [
60
+ 50
61
+ ]
62
+ },
63
+ "height": {
64
+ "type": "number",
65
+ "exclusiveMinimum": 0,
66
+ "maximum": 10000,
67
+ "title": "Height",
68
+ "description": "Height in millimeters.",
69
+ "x-printspec-control": "number",
70
+ "x-printspec-unit": "mm",
71
+ "x-printspec-step": 0.1,
72
+ "x-printspec-priority": "primary",
73
+ "examples": [
74
+ 10
75
+ ]
76
+ },
77
+ "holes": {
78
+ "type": "array",
79
+ "items": {
80
+ "$ref": "common.schema.json#/$defs/Hole"
81
+ },
82
+ "title": "Holes",
83
+ "description": "Optional hole features to include in the generated part.",
84
+ "x-printspec-control": "hole-list",
85
+ "x-printspec-priority": "advanced",
86
+ "default": []
87
+ },
88
+ "slots": {
89
+ "type": "array",
90
+ "items": {
91
+ "$ref": "common.schema.json#/$defs/Slot"
92
+ },
93
+ "title": "Slots",
94
+ "description": "Optional slot features to include in the generated part.",
95
+ "x-printspec-control": "slot-list",
96
+ "x-printspec-priority": "advanced",
97
+ "default": []
98
+ },
99
+ "chamfer": {
100
+ "$ref": "common.schema.json#/$defs/Chamfer",
101
+ "title": "Chamfer",
102
+ "description": "Optional chamfer edge finishing request.",
103
+ "x-printspec-control": "number",
104
+ "x-printspec-priority": "advanced"
105
+ },
106
+ "fillet": {
107
+ "$ref": "common.schema.json#/$defs/Fillet",
108
+ "title": "Fillet",
109
+ "description": "Optional fillet edge finishing request.",
110
+ "x-printspec-control": "number",
111
+ "x-printspec-priority": "advanced"
112
+ },
113
+ "cornerRadius": {
114
+ "type": "number",
115
+ "exclusiveMinimum": 0,
116
+ "maximum": 10000,
117
+ "title": "Corner radius",
118
+ "description": "Corner radius in millimeters.",
119
+ "x-printspec-control": "number",
120
+ "x-printspec-unit": "mm",
121
+ "x-printspec-step": 0.1,
122
+ "x-printspec-priority": "advanced",
123
+ "examples": [
124
+ 4
125
+ ]
126
+ }
127
+ },
128
+ "additionalProperties": false,
129
+ "title": "Parameters",
130
+ "description": "Editable parameters for Spacer Block.",
131
+ "x-printspec-ui": {
132
+ "order": [
133
+ "length",
134
+ "width",
135
+ "height",
136
+ "cornerRadius",
137
+ "holes",
138
+ "slots",
139
+ "chamfer",
140
+ "fillet"
141
+ ],
142
+ "groups": [
143
+ {
144
+ "id": "dimensions",
145
+ "title": "Dimensions",
146
+ "fields": [
147
+ "length",
148
+ "width",
149
+ "height",
150
+ "cornerRadius"
151
+ ]
152
+ },
153
+ {
154
+ "id": "features",
155
+ "title": "Features",
156
+ "fields": [
157
+ "holes",
158
+ "slots"
159
+ ]
160
+ },
161
+ {
162
+ "id": "finishing",
163
+ "title": "Finishing",
164
+ "fields": [
165
+ "chamfer",
166
+ "fillet"
167
+ ]
168
+ }
169
+ ]
170
+ }
171
+ },
172
+ "hardware": {
173
+ "type": "array",
174
+ "items": {
175
+ "$ref": "common.schema.json#/$defs/HardwareItem"
176
+ }
177
+ }
178
+ },
179
+ "additionalProperties": false,
180
+ "title": "Spacer Block",
181
+ "description": "Rectangular spacer block with optional holes, slots, and edge finishing."
182
+ }