rtistree 0.5.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.
Files changed (181) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/LICENSE +21 -0
  3. package/README.md +99 -0
  4. package/THIRD_PARTY_NOTICES.md +25 -0
  5. package/dist/art-direction.d.ts +77 -0
  6. package/dist/art-direction.js +186 -0
  7. package/dist/art-direction.js.map +1 -0
  8. package/dist/artifacts.d.ts +24 -0
  9. package/dist/artifacts.js +49 -0
  10. package/dist/artifacts.js.map +1 -0
  11. package/dist/assets.d.ts +16 -0
  12. package/dist/assets.js +96 -0
  13. package/dist/assets.js.map +1 -0
  14. package/dist/benchmark.d.ts +76 -0
  15. package/dist/benchmark.js +118 -0
  16. package/dist/benchmark.js.map +1 -0
  17. package/dist/cli.d.ts +2 -0
  18. package/dist/cli.js +300 -0
  19. package/dist/cli.js.map +1 -0
  20. package/dist/commands.d.ts +5315 -0
  21. package/dist/commands.js +591 -0
  22. package/dist/commands.js.map +1 -0
  23. package/dist/components.d.ts +20 -0
  24. package/dist/components.js +98 -0
  25. package/dist/components.js.map +1 -0
  26. package/dist/construction.d.ts +53 -0
  27. package/dist/construction.js +80 -0
  28. package/dist/construction.js.map +1 -0
  29. package/dist/critique.d.ts +44 -0
  30. package/dist/critique.js +45 -0
  31. package/dist/critique.js.map +1 -0
  32. package/dist/detail.d.ts +5 -0
  33. package/dist/detail.js +52 -0
  34. package/dist/detail.js.map +1 -0
  35. package/dist/document.d.ts +64 -0
  36. package/dist/document.js +56 -0
  37. package/dist/document.js.map +1 -0
  38. package/dist/export.d.ts +405 -0
  39. package/dist/export.js +344 -0
  40. package/dist/export.js.map +1 -0
  41. package/dist/font-inspection.d.ts +8 -0
  42. package/dist/font-inspection.js +34 -0
  43. package/dist/font-inspection.js.map +1 -0
  44. package/dist/graphics.d.ts +9 -0
  45. package/dist/graphics.js +72 -0
  46. package/dist/graphics.js.map +1 -0
  47. package/dist/history-storage.d.ts +10 -0
  48. package/dist/history-storage.js +59 -0
  49. package/dist/history-storage.js.map +1 -0
  50. package/dist/index.d.ts +27 -0
  51. package/dist/index.js +28 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/layout.d.ts +18 -0
  54. package/dist/layout.js +155 -0
  55. package/dist/layout.js.map +1 -0
  56. package/dist/loader.d.ts +9 -0
  57. package/dist/loader.js +108 -0
  58. package/dist/loader.js.map +1 -0
  59. package/dist/mcp.d.ts +4 -0
  60. package/dist/mcp.js +223 -0
  61. package/dist/mcp.js.map +1 -0
  62. package/dist/merge.d.ts +6 -0
  63. package/dist/merge.js +49 -0
  64. package/dist/merge.js.map +1 -0
  65. package/dist/native.d.ts +3 -0
  66. package/dist/native.js +6 -0
  67. package/dist/native.js.map +1 -0
  68. package/dist/paint.d.ts +9 -0
  69. package/dist/paint.js +331 -0
  70. package/dist/paint.js.map +1 -0
  71. package/dist/path-edit.d.ts +20 -0
  72. package/dist/path-edit.js +30 -0
  73. package/dist/path-edit.js.map +1 -0
  74. package/dist/pdf-output.d.ts +21 -0
  75. package/dist/pdf-output.js +297 -0
  76. package/dist/pdf-output.js.map +1 -0
  77. package/dist/pipeline.d.ts +39 -0
  78. package/dist/pipeline.js +227 -0
  79. package/dist/pipeline.js.map +1 -0
  80. package/dist/print-scene.d.ts +490 -0
  81. package/dist/print-scene.js +55 -0
  82. package/dist/print-scene.js.map +1 -0
  83. package/dist/production-workflow.d.ts +251 -0
  84. package/dist/production-workflow.js +335 -0
  85. package/dist/production-workflow.js.map +1 -0
  86. package/dist/program-worker.d.ts +1 -0
  87. package/dist/program-worker.js +31 -0
  88. package/dist/program-worker.js.map +1 -0
  89. package/dist/program.d.ts +85 -0
  90. package/dist/program.js +246 -0
  91. package/dist/program.js.map +1 -0
  92. package/dist/project-config.d.ts +91 -0
  93. package/dist/project-config.js +187 -0
  94. package/dist/project-config.js.map +1 -0
  95. package/dist/project.d.ts +897 -0
  96. package/dist/project.js +347 -0
  97. package/dist/project.js.map +1 -0
  98. package/dist/raster-edit.d.ts +61 -0
  99. package/dist/raster-edit.js +91 -0
  100. package/dist/raster-edit.js.map +1 -0
  101. package/dist/raster-studio.d.ts +84 -0
  102. package/dist/raster-studio.js +236 -0
  103. package/dist/raster-studio.js.map +1 -0
  104. package/dist/render.d.ts +79 -0
  105. package/dist/render.js +437 -0
  106. package/dist/render.js.map +1 -0
  107. package/dist/rich-text.d.ts +10 -0
  108. package/dist/rich-text.js +56 -0
  109. package/dist/rich-text.js.map +1 -0
  110. package/dist/schema.d.ts +1912 -0
  111. package/dist/schema.js +571 -0
  112. package/dist/schema.js.map +1 -0
  113. package/dist/spatial.d.ts +10 -0
  114. package/dist/spatial.js +29 -0
  115. package/dist/spatial.js.map +1 -0
  116. package/dist/studio-reference.d.ts +153 -0
  117. package/dist/studio-reference.js +39 -0
  118. package/dist/studio-reference.js.map +1 -0
  119. package/dist/svg.d.ts +5 -0
  120. package/dist/svg.js +315 -0
  121. package/dist/svg.js.map +1 -0
  122. package/dist/techniques.d.ts +74 -0
  123. package/dist/techniques.js +164 -0
  124. package/dist/techniques.js.map +1 -0
  125. package/dist/verify.d.ts +36 -0
  126. package/dist/verify.js +277 -0
  127. package/dist/verify.js.map +1 -0
  128. package/dist/viewport.d.ts +3 -0
  129. package/dist/viewport.js +71 -0
  130. package/dist/viewport.js.map +1 -0
  131. package/dist/workflow.d.ts +53 -0
  132. package/dist/workflow.js +66 -0
  133. package/dist/workflow.js.map +1 -0
  134. package/docs/agent-art-workflow.md +201 -0
  135. package/docs/agent-setup.md +83 -0
  136. package/docs/atelier.md +117 -0
  137. package/docs/cli-reference.md +61 -0
  138. package/docs/decisions/001-runtime-and-renderer.md +35 -0
  139. package/docs/decisions/002-composable-scenes-and-history.md +28 -0
  140. package/docs/decisions/003-editing-refinement-and-agent-validation.md +45 -0
  141. package/docs/decisions/004-print-production-and-projects.md +19 -0
  142. package/docs/decisions/005-programmable-digital-art.md +15 -0
  143. package/docs/decisions/006-staged-2d-art-production.md +13 -0
  144. package/docs/decisions/007-foundation-first-art-direction.md +13 -0
  145. package/docs/decisions/008-agent-onboarding-and-trial-lessons.md +48 -0
  146. package/docs/engine-overview.md +174 -0
  147. package/docs/evolution.md +179 -0
  148. package/docs/getting-started.md +107 -0
  149. package/docs/next-milestone.md +61 -0
  150. package/docs/previews/a3-production.json +36 -0
  151. package/docs/previews/benchmark.json +42 -0
  152. package/docs/previews/landscape.png +0 -0
  153. package/docs/previews/performance.json +24 -0
  154. package/docs/previews/poster.png +0 -0
  155. package/docs/production.md +107 -0
  156. package/docs/releasing.md +60 -0
  157. package/docs/scene-format.md +126 -0
  158. package/docs/studio.md +108 -0
  159. package/examples/hello/README.md +14 -0
  160. package/examples/hello/refine.json +10 -0
  161. package/examples/hello/render.mjs +9 -0
  162. package/examples/hello/scene.json +19 -0
  163. package/licenses/DM-Serif-Display-OFL.txt +93 -0
  164. package/licenses/Inter-OFL.txt +93 -0
  165. package/package.json +84 -0
  166. package/schemas/authoring.schema.json +2177 -0
  167. package/schemas/brief.schema.json +57 -0
  168. package/schemas/command.schema.json +3154 -0
  169. package/schemas/construction.schema.json +159 -0
  170. package/schemas/critique.schema.json +101 -0
  171. package/schemas/document.schema.json +41 -0
  172. package/schemas/export.schema.json +89 -0
  173. package/schemas/fragment.schema.json +1861 -0
  174. package/schemas/patch.schema.json +3177 -0
  175. package/schemas/pipeline.schema.json +205 -0
  176. package/schemas/production.schema.json +452 -0
  177. package/schemas/program.schema.json +152 -0
  178. package/schemas/project.schema.json +115 -0
  179. package/schemas/raster-read.schema.json +42 -0
  180. package/schemas/raster-write.schema.json +75 -0
  181. package/schemas/scene.schema.json +2014 -0
@@ -0,0 +1,405 @@
1
+ import { type ExportPreset } from './document.js';
2
+ import type { Project } from './project.js';
3
+ export declare function outputProfile(root: string, preset: ExportPreset): Promise<{
4
+ path: string;
5
+ bytes: NonSharedBuffer;
6
+ hash: string;
7
+ } | undefined>;
8
+ export declare function preflight(project: Project, raw?: unknown): Promise<{
9
+ status: string;
10
+ scene_hash: string;
11
+ preset: {
12
+ format: "jpeg" | "pdf" | "png" | "svg" | "tiff";
13
+ colour_space: "cmyk" | "srgb";
14
+ profile?: string | undefined;
15
+ profile_hash?: string | undefined;
16
+ intent: "perceptual";
17
+ quality: number;
18
+ chroma_subsampling: "4:2:0" | "4:4:4";
19
+ background: string;
20
+ crop_marks: boolean;
21
+ minimum_ppi: number;
22
+ max_ink: number;
23
+ black: "k-only" | "profile";
24
+ mode: "hybrid" | "raster";
25
+ ppi?: number | undefined;
26
+ };
27
+ profile_hash: string | undefined;
28
+ geometry: {
29
+ trim_mm: [number, number];
30
+ bleed_mm: number;
31
+ safe_mm: number;
32
+ full_mm: [number, number];
33
+ pixels: [number, number];
34
+ trim_pt: [number, number];
35
+ bleed_pt: number;
36
+ } | undefined;
37
+ placements: {
38
+ layer: string;
39
+ source_pixels: number[];
40
+ placed_mm: number[];
41
+ effective_ppi: number;
42
+ resampled: boolean;
43
+ }[];
44
+ fonts: {
45
+ layer: string;
46
+ font: string;
47
+ weight: "bold" | "regular";
48
+ hash: string;
49
+ missing: string[];
50
+ }[];
51
+ issues: {
52
+ severity: 'error' | 'warning';
53
+ message: string;
54
+ layer?: string;
55
+ }[];
56
+ conformance: string;
57
+ }>;
58
+ export declare function inspectOutput(bytes: Buffer, format: string): Promise<{
59
+ format: string;
60
+ pages?: undefined;
61
+ images?: undefined;
62
+ embedded_fonts?: undefined;
63
+ profile_hashes?: undefined;
64
+ output_intents?: undefined;
65
+ width?: undefined;
66
+ height?: undefined;
67
+ colour_space?: undefined;
68
+ channels?: undefined;
69
+ depth?: undefined;
70
+ density?: undefined;
71
+ has_alpha?: undefined;
72
+ profile_hash?: undefined;
73
+ } | {
74
+ format: string;
75
+ pages: {
76
+ media: {
77
+ x: number;
78
+ y: number;
79
+ width: number;
80
+ height: number;
81
+ };
82
+ trim: {
83
+ x: number;
84
+ y: number;
85
+ width: number;
86
+ height: number;
87
+ };
88
+ bleed: {
89
+ x: number;
90
+ y: number;
91
+ width: number;
92
+ height: number;
93
+ };
94
+ }[];
95
+ images: {
96
+ width: number;
97
+ height: number;
98
+ colour_space: string;
99
+ }[];
100
+ embedded_fonts: string[];
101
+ profile_hashes: string[];
102
+ output_intents: number;
103
+ width?: undefined;
104
+ height?: undefined;
105
+ colour_space?: undefined;
106
+ channels?: undefined;
107
+ depth?: undefined;
108
+ density?: undefined;
109
+ has_alpha?: undefined;
110
+ profile_hash?: undefined;
111
+ } | {
112
+ pages?: undefined;
113
+ images?: undefined;
114
+ embedded_fonts?: undefined;
115
+ profile_hashes?: undefined;
116
+ output_intents?: undefined;
117
+ format: keyof import("sharp").FormatEnum;
118
+ width: number;
119
+ height: number;
120
+ colour_space: keyof import("sharp").ColourspaceEnum;
121
+ channels: import("sharp").Channels;
122
+ depth: keyof import("sharp").DepthEnum;
123
+ density: number | undefined;
124
+ has_alpha: boolean;
125
+ profile_hash: string | undefined;
126
+ }>;
127
+ export declare function exportArtwork(project: Project, file: string, raw?: unknown): Promise<{
128
+ status: string;
129
+ scene_hash: string;
130
+ preset: {
131
+ format: "jpeg" | "pdf" | "png" | "svg" | "tiff";
132
+ colour_space: "cmyk" | "srgb";
133
+ profile?: string | undefined;
134
+ profile_hash?: string | undefined;
135
+ intent: "perceptual";
136
+ quality: number;
137
+ chroma_subsampling: "4:2:0" | "4:4:4";
138
+ background: string;
139
+ crop_marks: boolean;
140
+ minimum_ppi: number;
141
+ max_ink: number;
142
+ black: "k-only" | "profile";
143
+ mode: "hybrid" | "raster";
144
+ ppi?: number | undefined;
145
+ };
146
+ profile_hash: string | undefined;
147
+ geometry: {
148
+ trim_mm: [number, number];
149
+ bleed_mm: number;
150
+ safe_mm: number;
151
+ full_mm: [number, number];
152
+ pixels: [number, number];
153
+ trim_pt: [number, number];
154
+ bleed_pt: number;
155
+ } | undefined;
156
+ placements: {
157
+ layer: string;
158
+ source_pixels: number[];
159
+ placed_mm: number[];
160
+ effective_ppi: number;
161
+ resampled: boolean;
162
+ }[];
163
+ fonts: {
164
+ layer: string;
165
+ font: string;
166
+ weight: "bold" | "regular";
167
+ hash: string;
168
+ missing: string[];
169
+ }[];
170
+ issues: {
171
+ severity: 'error' | 'warning';
172
+ message: string;
173
+ layer?: string;
174
+ }[];
175
+ conformance: string;
176
+ output_hash: string;
177
+ inspection: {
178
+ format: string;
179
+ pages?: undefined;
180
+ images?: undefined;
181
+ embedded_fonts?: undefined;
182
+ profile_hashes?: undefined;
183
+ output_intents?: undefined;
184
+ width?: undefined;
185
+ height?: undefined;
186
+ colour_space?: undefined;
187
+ channels?: undefined;
188
+ depth?: undefined;
189
+ density?: undefined;
190
+ has_alpha?: undefined;
191
+ profile_hash?: undefined;
192
+ } | {
193
+ format: string;
194
+ pages: {
195
+ media: {
196
+ x: number;
197
+ y: number;
198
+ width: number;
199
+ height: number;
200
+ };
201
+ trim: {
202
+ x: number;
203
+ y: number;
204
+ width: number;
205
+ height: number;
206
+ };
207
+ bleed: {
208
+ x: number;
209
+ y: number;
210
+ width: number;
211
+ height: number;
212
+ };
213
+ }[];
214
+ images: {
215
+ width: number;
216
+ height: number;
217
+ colour_space: string;
218
+ }[];
219
+ embedded_fonts: string[];
220
+ profile_hashes: string[];
221
+ output_intents: number;
222
+ width?: undefined;
223
+ height?: undefined;
224
+ colour_space?: undefined;
225
+ channels?: undefined;
226
+ depth?: undefined;
227
+ density?: undefined;
228
+ has_alpha?: undefined;
229
+ profile_hash?: undefined;
230
+ } | {
231
+ pages?: undefined;
232
+ images?: undefined;
233
+ embedded_fonts?: undefined;
234
+ profile_hashes?: undefined;
235
+ output_intents?: undefined;
236
+ format: keyof import("sharp").FormatEnum;
237
+ width: number;
238
+ height: number;
239
+ colour_space: keyof import("sharp").ColourspaceEnum;
240
+ channels: import("sharp").Channels;
241
+ depth: keyof import("sharp").DepthEnum;
242
+ density: number | undefined;
243
+ has_alpha: boolean;
244
+ profile_hash: string | undefined;
245
+ };
246
+ exporter: {
247
+ sharp: {
248
+ aom?: string | undefined;
249
+ archive?: string | undefined;
250
+ cairo?: string | undefined;
251
+ cgif?: string | undefined;
252
+ exif?: string | undefined;
253
+ expat?: string | undefined;
254
+ ffi?: string | undefined;
255
+ fontconfig?: string | undefined;
256
+ freetype?: string | undefined;
257
+ fribidi?: string | undefined;
258
+ glib?: string | undefined;
259
+ harfbuzz?: string | undefined;
260
+ heif?: string | undefined;
261
+ highway?: string | undefined;
262
+ imagequant?: string | undefined;
263
+ lcms?: string | undefined;
264
+ mozjpeg?: string | undefined;
265
+ pango?: string | undefined;
266
+ pixman?: string | undefined;
267
+ png?: string | undefined;
268
+ "proxy-libintl"?: string | undefined;
269
+ rsvg?: string | undefined;
270
+ sharp: string;
271
+ spng?: string | undefined;
272
+ tiff?: string | undefined;
273
+ vips: string;
274
+ webp?: string | undefined;
275
+ xml?: string | undefined;
276
+ "zlib-ng"?: string | undefined;
277
+ };
278
+ pdf: string;
279
+ };
280
+ file: string;
281
+ evidence: string;
282
+ }>;
283
+ /** ICC round-trip preview; monitor/paper simulation and certification are outside this function. */
284
+ export declare function softProof(project: Project, file: string, raw?: unknown): Promise<{
285
+ status: string;
286
+ scene_hash: string;
287
+ preset: {
288
+ format: "jpeg" | "pdf" | "png" | "svg" | "tiff";
289
+ colour_space: "cmyk" | "srgb";
290
+ profile?: string | undefined;
291
+ profile_hash?: string | undefined;
292
+ intent: "perceptual";
293
+ quality: number;
294
+ chroma_subsampling: "4:2:0" | "4:4:4";
295
+ background: string;
296
+ crop_marks: boolean;
297
+ minimum_ppi: number;
298
+ max_ink: number;
299
+ black: "k-only" | "profile";
300
+ mode: "hybrid" | "raster";
301
+ ppi?: number | undefined;
302
+ };
303
+ profile_hash: string | undefined;
304
+ geometry: {
305
+ trim_mm: [number, number];
306
+ bleed_mm: number;
307
+ safe_mm: number;
308
+ full_mm: [number, number];
309
+ pixels: [number, number];
310
+ trim_pt: [number, number];
311
+ bleed_pt: number;
312
+ } | undefined;
313
+ placements: {
314
+ layer: string;
315
+ source_pixels: number[];
316
+ placed_mm: number[];
317
+ effective_ppi: number;
318
+ resampled: boolean;
319
+ }[];
320
+ fonts: {
321
+ layer: string;
322
+ font: string;
323
+ weight: "bold" | "regular";
324
+ hash: string;
325
+ missing: string[];
326
+ }[];
327
+ issues: {
328
+ severity: 'error' | 'warning';
329
+ message: string;
330
+ layer?: string;
331
+ }[];
332
+ conformance: string;
333
+ inspection: {
334
+ format: string;
335
+ pages?: undefined;
336
+ images?: undefined;
337
+ embedded_fonts?: undefined;
338
+ profile_hashes?: undefined;
339
+ output_intents?: undefined;
340
+ width?: undefined;
341
+ height?: undefined;
342
+ colour_space?: undefined;
343
+ channels?: undefined;
344
+ depth?: undefined;
345
+ density?: undefined;
346
+ has_alpha?: undefined;
347
+ profile_hash?: undefined;
348
+ } | {
349
+ format: string;
350
+ pages: {
351
+ media: {
352
+ x: number;
353
+ y: number;
354
+ width: number;
355
+ height: number;
356
+ };
357
+ trim: {
358
+ x: number;
359
+ y: number;
360
+ width: number;
361
+ height: number;
362
+ };
363
+ bleed: {
364
+ x: number;
365
+ y: number;
366
+ width: number;
367
+ height: number;
368
+ };
369
+ }[];
370
+ images: {
371
+ width: number;
372
+ height: number;
373
+ colour_space: string;
374
+ }[];
375
+ embedded_fonts: string[];
376
+ profile_hashes: string[];
377
+ output_intents: number;
378
+ width?: undefined;
379
+ height?: undefined;
380
+ colour_space?: undefined;
381
+ channels?: undefined;
382
+ depth?: undefined;
383
+ density?: undefined;
384
+ has_alpha?: undefined;
385
+ profile_hash?: undefined;
386
+ } | {
387
+ pages?: undefined;
388
+ images?: undefined;
389
+ embedded_fonts?: undefined;
390
+ profile_hashes?: undefined;
391
+ output_intents?: undefined;
392
+ format: keyof import("sharp").FormatEnum;
393
+ width: number;
394
+ height: number;
395
+ colour_space: keyof import("sharp").ColourspaceEnum;
396
+ channels: import("sharp").Channels;
397
+ depth: keyof import("sharp").DepthEnum;
398
+ density: number | undefined;
399
+ has_alpha: boolean;
400
+ profile_hash: string | undefined;
401
+ };
402
+ output_hash: string;
403
+ method: string;
404
+ file: string;
405
+ }>;