diff --git a/assets/changelog/2025-10-spatio-temporal-explorer.png.png b/assets/changelog/2025-10-spatio-temporal-explorer.png.png new file mode 100644 index 0000000..50bc180 Binary files /dev/null and b/assets/changelog/2025-10-spatio-temporal-explorer.png.png differ diff --git a/assets/changelog/2025-11-job-list-view.png b/assets/changelog/2025-11-job-list-view.png new file mode 100644 index 0000000..fc37af9 Binary files /dev/null and b/assets/changelog/2025-11-job-list-view.png differ diff --git a/assets/workflows/diagrams/custom-display-names.d2 b/assets/workflows/diagrams/custom-display-names.d2 index c23cd03..e9d6001 100644 --- a/assets/workflows/diagrams/custom-display-names.d2 +++ b/assets/workflows/diagrams/custom-display-names.d2 @@ -7,7 +7,8 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" +style.stroke: "#170206" direction: down title: { @@ -15,24 +16,32 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } root-task: { label: "Root(3)" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } leaf0: { label: "Leaf Nr. 0" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -root-task -> leaf0 +root-task -> leaf0: {style.stroke: "#170206"} leaf1: { label: "Leaf Nr. 1" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -root-task -> leaf1 +root-task -> leaf1: {style.stroke: "#170206"} leaf2: { label: "Leaf Nr. 2" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -root-task -> leaf2 +root-task -> leaf2: {style.stroke: "#170206"} diff --git a/assets/workflows/diagrams/download-dog-images-recursive.d2 b/assets/workflows/diagrams/download-dog-images-recursive.d2 index 73d0d55..a02faca 100644 --- a/assets/workflows/diagrams/download-dog-images-recursive.d2 +++ b/assets/workflows/diagrams/download-dog-images-recursive.d2 @@ -7,7 +7,7 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" direction: down title: { @@ -15,74 +15,102 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } 01916ed6-dad9-69de-e2b9-498bfd4063ec: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } 01916ed6-ed2c-8108-aaf6-9c3e36b2be71: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-dad9-69de-e2b9-498bfd4063ec -> 01916ed6-ed2c-8108-aaf6-9c3e36b2be71 +01916ed6-dad9-69de-e2b9-498bfd4063ec -> 01916ed6-ed2c-8108-aaf6-9c3e36b2be71: {style.stroke: "#170206"} 01916ed6-f486-0ecc-b38b-f6227ff00a64: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-0ecc-b38b-f6227ff00a64 +01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-0ecc-b38b-f6227ff00a64: {style.stroke: "#170206"} 01916ed6-f486-7440-7137-8eff4418bb33: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-7440-7137-8eff4418bb33 +01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-7440-7137-8eff4418bb33: {style.stroke: "#170206"} 01916ed6-f486-96f5-935e-60f53a9e236a: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-96f5-935e-60f53a9e236a +01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-96f5-935e-60f53a9e236a: {style.stroke: "#170206"} 01916ed7-0baf-73da-1803-f84c268462bf: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-062b-8b76-089b-d6afefbeda9d -> 01916ed7-0baf-73da-1803-f84c268462bf +01916ed7-062b-8b76-089b-d6afefbeda9d -> 01916ed7-0baf-73da-1803-f84c268462bf: {style.stroke: "#170206"} 01916ed6-f486-b3b4-ba10-e866c110cd5f: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-b3b4-ba10-e866c110cd5f +01916ed6-ed2c-8108-aaf6-9c3e36b2be71 -> 01916ed6-f486-b3b4-ba10-e866c110cd5f: {style.stroke: "#170206"} 01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-dad9-69de-e2b9-498bfd4063ec -> 01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7 +01916ed6-dad9-69de-e2b9-498bfd4063ec -> 01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7: {style.stroke: "#170206"} 01916ed7-062b-8b76-089b-d6afefbeda9d: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7 -> 01916ed7-062b-8b76-089b-d6afefbeda9d +01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7 -> 01916ed7-062b-8b76-089b-d6afefbeda9d: {style.stroke: "#170206"} 01916ed7-0baf-8926-8a77-732688abe0cb: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-062b-8b76-089b-d6afefbeda9d -> 01916ed7-0baf-8926-8a77-732688abe0cb +01916ed7-062b-8b76-089b-d6afefbeda9d -> 01916ed7-0baf-8926-8a77-732688abe0cb: {style.stroke: "#170206"} 01916ed7-1b55-55e6-f4ab-d931df99d369: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-55e6-f4ab-d931df99d369 +01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-55e6-f4ab-d931df99d369: {style.stroke: "#170206"} 01916ed7-1b55-6209-99c0-8aef11bd35b6: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-6209-99c0-8aef11bd35b6 +01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-6209-99c0-8aef11bd35b6: {style.stroke: "#170206"} 01916ed7-1b55-742f-385b-7167502a2fe2: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-742f-385b-7167502a2fe2 +01916ed7-062b-fdb3-f762-8fef23e661ba -> 01916ed7-1b55-742f-385b-7167502a2fe2: {style.stroke: "#170206"} 01916ed7-062b-fdb3-f762-8fef23e661ba: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7 -> 01916ed7-062b-fdb3-f762-8fef23e661ba +01916ed6-ed2c-cd72-4f0b-ec87c45cb3f7 -> 01916ed7-062b-fdb3-f762-8fef23e661ba: {style.stroke: "#170206"} diff --git a/assets/workflows/diagrams/download-dog-images.d2 b/assets/workflows/diagrams/download-dog-images.d2 index 7a707b1..26b8cb3 100644 --- a/assets/workflows/diagrams/download-dog-images.d2 +++ b/assets/workflows/diagrams/download-dog-images.d2 @@ -7,7 +7,7 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" direction: down title: { @@ -15,34 +15,46 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } 01916b1f-524b-7e2c-ef0e-ff006e44508c: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c: {style.stroke: "#170206"} 01916b1f-524b-2e44-9bdf-b7d9c38d736c: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c: {style.stroke: "#170206"} 01916b1f-4769-73e9-886e-ae0b1dd3ae3d: { label: "DownloadRandomDogImages" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: {style.stroke: "#170206"} 01916b1f-524b-b87f-9ee3-6d4676efee9d: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d: {style.stroke: "#170206"} 01916b1f-524b-fc05-3d4b-cd41be7d2d20: { label: "DownloadImage" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-fc05-3d4b-cd41be7d2d20 +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-fc05-3d4b-cd41be7d2d20: {style.stroke: "#170206"} diff --git a/assets/workflows/diagrams/generate.py b/assets/workflows/diagrams/generate.py index 257fb6d..2a94cd2 100644 --- a/assets/workflows/diagrams/generate.py +++ b/assets/workflows/diagrams/generate.py @@ -27,39 +27,31 @@ def generate_light_and_dark_svgs(diagram_file: Path, output_dir: Path): def to_dark(diagram: str) -> str: """Converts a diagram to dark mode by manipulating colors.""" - # dark background color - diagram = diagram.replace('style.fill: "#fcf9fa"', 'style.fill: "#161416"') - # white title text color - diagram = diagram.replace('style.font-color: "black"', 'style.font-color: "white"') - - # replace all fill colors depending on the state of the task: - lookup = { - "HoneyDew": ("#265429", "#C7E6C9"), # computed - "LavenderBlush": ("#A37200", "#FFE099"), # queued - "PaleTurquoise": ("#3E7079", "#AED0D5"), # running - "Salmon": ("#A31800", "#FF9785"), # failed + color_mapping = { + # general + "#000000": "#FFFFFF", + # main background color + "#FCF9FA": "#161416", + # title text, parent->child edge color + "#170206": "#F4F1F4", + # dependency edge color + "#9B1A47": "#F97F76", + # queued + "#FFF0F5": "#A37200", + "#504448": "#fcc76f", + # running + "#AFEEEE": "#3E7079", + "#0e5253": "#B1E5EF", + # computed + "#F0FFF0": "#265429", + "#3F4B40": "#B7EBB8", + # failed + "#FA8072": "#A31800", + "#4A1511": "#F78D79", } - for task_color, replace_colors in lookup.items(): - fill_color, stroke_color = replace_colors - diagram = diagram.replace( - f"style.fill: {task_color}", - f'style.fill: "{fill_color}"\n style.stroke: "{stroke_color}"\n style.font-color: "white"', - ) - - # replace dependency edges with another color - dependency_edges = re.findall( - r"(([0-9a-zA-Z-]+ <- [0-9a-zA-Z-]+): \{.*)\n", diagram - ) - for edge, relation in dependency_edges: - diagram = diagram.replace( - edge, relation + ': {style: {stroke: "#F97F76"; stroke-dash: 3}}' - ) - - # make subtask edges white - subtask_edges = re.findall(r"([0-9a-zA-Z-]+ -> [0-9a-zA-Z-]+)\n", diagram) - for edge in subtask_edges: - diagram = diagram.replace(edge, edge + ": {style.stroke: white}") + for light_color, dark_color in color_mapping.items(): + diagram = diagram.replace(light_color, dark_color) return diagram diff --git a/assets/workflows/diagrams/map-reduce-sum-squares.d2 b/assets/workflows/diagrams/map-reduce-sum-squares.d2 new file mode 100644 index 0000000..3eb0bdd --- /dev/null +++ b/assets/workflows/diagrams/map-reduce-sum-squares.d2 @@ -0,0 +1,119 @@ +vars: { + d2-config: { + layout-engine: dagre + theme-id: 102 + sketch: true + pad: 10 + } +} + +style.fill: "#FCF9FA" +direction: down + +title: { + label: sum-of-squares + near: top-center + shape: text + style.font-size: 30 + style.font-color: "#170206" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa: { + label: "SumOfSquares" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-76c8-0480-07be-e83bf99dac2c: { + label: "Square(98)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-0480-07be-e83bf99dac2c: {style.stroke: "#170206"} + +019a9176-76c8-04f7-c2c8-e8d372d824bc: { + label: "Square(45)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-04f7-c2c8-e8d372d824bc: {style.stroke: "#170206"} + +019a9176-76c8-1a9a-5bd2-c41879b58bda: { + label: "Square(21)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-1a9a-5bd2-c41879b58bda: {style.stroke: "#170206"} + +019a9176-76c8-bb8a-5ed9-4f868d205031: { + label: "Square(12)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-bb8a-5ed9-4f868d205031: {style.stroke: "#170206"} + +019a9176-76c8-6b0f-cc99-aced507f4af3: { + label: "Square(453)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-6b0f-cc99-aced507f4af3: {style.stroke: "#170206"} + +019a9176-76c8-a875-d48a-6738631806bc: { + label: "Square(345)" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-a875-d48a-6738631806bc: {style.stroke: "#170206"} + +019a9176-76c8-c8c6-2fa6-18bde250fffe: { + label: "Sum" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} + +019a9176-72e9-edbd-d024-fb99f600e1fa -> 019a9176-76c8-c8c6-2fa6-18bde250fffe: {style.stroke: "#170206"} + +019a9176-76c8-0480-07be-e83bf99dac2c <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} + +019a9176-76c8-04f7-c2c8-e8d372d824bc <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} + +019a9176-76c8-1a9a-5bd2-c41879b58bda <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} + +019a9176-76c8-6b0f-cc99-aced507f4af3 <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} + +019a9176-76c8-a875-d48a-6738631806bc <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} + +019a9176-76c8-bb8a-5ed9-4f868d205031 <- 019a9176-76c8-c8c6-2fa6-18bde250fffe: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" +} diff --git a/assets/workflows/diagrams/movies-failed.d2 b/assets/workflows/diagrams/movies-failed.d2 index d3b848b..0fa4a60 100644 --- a/assets/workflows/diagrams/movies-failed.d2 +++ b/assets/workflows/diagrams/movies-failed.d2 @@ -7,7 +7,7 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" direction: down title: { @@ -15,29 +15,39 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } 01916b1f-524b-7e2c-ef0e-ff006e44508c: { label: "Shrek 2" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c: {style.stroke: "#170206"} 01916b1f-524b-2e44-9bdf-b7d9c38d736c: { label: "The Matrix" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c: {style.stroke: "#170206"} 01916b1f-4769-73e9-886e-ae0b1dd3ae3d: { label: "MovieStats" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: { label: "PrintMovieStats\nKeyError('Title')" - style.fill: Salmon + style.fill: "#FA8072" + style.stroke: "#4A1511" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: {style.stroke: "#170206"} 01916b1f-524b-b87f-9ee3-6d4676efee9d: { label: "PrintMovieStats" - style.fill: LavenderBlush + style.fill: "#FFF0F5" + style.stroke: "#504448" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d: {style.stroke: "#170206"} diff --git a/assets/workflows/diagrams/movies-retried.d2 b/assets/workflows/diagrams/movies-retried.d2 index 8636baf..f415f51 100644 --- a/assets/workflows/diagrams/movies-retried.d2 +++ b/assets/workflows/diagrams/movies-retried.d2 @@ -7,7 +7,7 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" direction: down title: { @@ -15,29 +15,39 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } 01916b1f-524b-7e2c-ef0e-ff006e44508c: { label: "Shrek 2" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-7e2c-ef0e-ff006e44508c: {style.stroke: "#170206"} 01916b1f-524b-2e44-9bdf-b7d9c38d736c: { label: "The Matrix" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-2e44-9bdf-b7d9c38d736c: {style.stroke: "#170206"} 01916b1f-4769-73e9-886e-ae0b1dd3ae3d: { label: "MovieStats" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: { label: "NotFound: Tilebox - The Movie" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-8be2-ee23-e0a93a4c2a3a: {style.stroke: "#170206"} 01916b1f-524b-b87f-9ee3-6d4676efee9d: { label: "The Avengers" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d +01916b1f-4769-73e9-886e-ae0b1dd3ae3d -> 01916b1f-524b-b87f-9ee3-6d4676efee9d: {style.stroke: "#170206"} diff --git a/assets/workflows/diagrams/multiple-runners.d2 b/assets/workflows/diagrams/multiple-runners.d2 index de04634..8508c5c 100644 --- a/assets/workflows/diagrams/multiple-runners.d2 +++ b/assets/workflows/diagrams/multiple-runners.d2 @@ -7,7 +7,7 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" direction: down title: { @@ -15,48 +15,70 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } my-task: { label: "MyTask" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } subtask1: { label: "SubTask" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -my-task -> subtask1 +my-task -> subtask1: {style.stroke: "#170206"} subtask2: { label: "SubTask" - style.fill: PaleTurquoise + style.fill: "#AFEEEE" + style.stroke: "#0e5253" + style.font-color: "#000000" } -my-task -> subtask2 +my-task -> subtask2: {style.stroke: "#170206"} subtask3: { label: "SubTask" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -my-task -> subtask3 +my-task -> subtask3: {style.stroke: "#170206"} dependent-task1: { label: "DependentTask" - style.fill: PaleTurquoise + style.fill: "#AFEEEE" + style.stroke: "#0e5253" + style.font-color: "#000000" } -subtask1 -> dependent-task1 +subtask1 -> dependent-task1: {style.stroke: "#170206"} leaf-task1: { label: "LeafTask" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} +subtask1 -> leaf-task1: {style.stroke: "#170206"} +leaf-task1 <- dependent-task1: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" } -subtask1 -> leaf-task1 -leaf-task1 <- dependent-task1: {style.stroke-dash: 3} dependent-task2: { label: "DependentTask" - style.fill: LavenderBlush + style.fill: "#FFF0F5" + style.stroke: "#504448" + style.font-color: "#000000" } -subtask3 -> dependent-task2 +subtask3 -> dependent-task2: {style.stroke: "#170206"} leaf-task2: { label: "LeafTask" - style.fill: PaleTurquoise + style.fill: "#AFEEEE" + style.stroke: "#0e5253" + style.font-color: "#000000" +} +subtask3 -> leaf-task2: {style.stroke: "#170206"} +leaf-task2 <- dependent-task2: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" } -subtask3 -> leaf-task2 -leaf-task2 <- dependent-task2: {style.stroke-dash: 3} diff --git a/assets/workflows/diagrams/process-news.d2 b/assets/workflows/diagrams/process-news.d2 index e174f30..b5da58c 100644 --- a/assets/workflows/diagrams/process-news.d2 +++ b/assets/workflows/diagrams/process-news.d2 @@ -7,7 +7,8 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" +style.stroke: "#170206" direction: right title: { @@ -15,26 +16,40 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } 01916ed7-bb5c-cded-13e3-577582b8c8f8: { label: "NewsWorkflow" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } 01916ed7-c66a-2035-de36-c3e6b1496d45: { label: "FetchNews" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-2035-de36-c3e6b1496d45 +01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-2035-de36-c3e6b1496d45: {style.stroke: "#170206"} 01916ed7-c66a-4bd8-a48a-40c300bab3cb: { label: "PrintHeadlines" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} +01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-4bd8-a48a-40c300bab3cb: {style.stroke: "#170206"} +01916ed7-c66a-2035-de36-c3e6b1496d45 <- 01916ed7-c66a-4bd8-a48a-40c300bab3cb: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" } -01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-4bd8-a48a-40c300bab3cb -01916ed7-c66a-2035-de36-c3e6b1496d45 <- 01916ed7-c66a-4bd8-a48a-40c300bab3cb: {style.stroke-dash: 3} 01916ed7-c66a-6e39-f4dd-c17e61711eeb: { label: "MostFrequentAuthors" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} +01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-6e39-f4dd-c17e61711eeb: {style.stroke: "#170206"} +01916ed7-c66a-2035-de36-c3e6b1496d45 <- 01916ed7-c66a-6e39-f4dd-c17e61711eeb: { + style.stroke-dash: 3 + style.stroke: "#9B1A47" } -01916ed7-bb5c-cded-13e3-577582b8c8f8 -> 01916ed7-c66a-6e39-f4dd-c17e61711eeb -01916ed7-c66a-2035-de36-c3e6b1496d45 <- 01916ed7-c66a-6e39-f4dd-c17e61711eeb: {style.stroke-dash: 3} diff --git a/assets/workflows/diagrams/svg/custom-display-names.dark.svg b/assets/workflows/diagrams/svg/custom-display-names.dark.svg index fcb574f..ef9c9ed 100644 --- a/assets/workflows/diagrams/svg/custom-display-names.dark.svg +++ b/assets/workflows/diagrams/svg/custom-display-names.dark.svg @@ -1,24 +1,24 @@ - + .d2-1844565675 .fill-N1{fill:#170206;} + .d2-1844565675 .fill-N2{fill:#535152;} + .d2-1844565675 .fill-N3{fill:#787777;} + .d2-1844565675 .fill-N4{fill:#CCCACA;} + .d2-1844565675 .fill-N5{fill:#DFDCDC;} + .d2-1844565675 .fill-N6{fill:#ECEBEB;} + .d2-1844565675 .fill-N7{fill:#FFFFFF;} + .d2-1844565675 .fill-B1{fill:#31021D;} + .d2-1844565675 .fill-B2{fill:#9B1A48;} + .d2-1844565675 .fill-B3{fill:#D2517F;} + .d2-1844565675 .fill-B4{fill:#EA99B6;} + .d2-1844565675 .fill-B5{fill:#FFDAE7;} + .d2-1844565675 .fill-B6{fill:#FCEDF2;} + .d2-1844565675 .fill-AA2{fill:#D35F0A;} + .d2-1844565675 .fill-AA4{fill:#FABA8A;} + .d2-1844565675 .fill-AA5{fill:#FFE0C7;} + .d2-1844565675 .fill-AB4{fill:#FFE767;} + .d2-1844565675 .fill-AB5{fill:#FFF2AA;} + .d2-1844565675 .stroke-N1{stroke:#170206;} + .d2-1844565675 .stroke-N2{stroke:#535152;} + .d2-1844565675 .stroke-N3{stroke:#787777;} + .d2-1844565675 .stroke-N4{stroke:#CCCACA;} + .d2-1844565675 .stroke-N5{stroke:#DFDCDC;} + .d2-1844565675 .stroke-N6{stroke:#ECEBEB;} + .d2-1844565675 .stroke-N7{stroke:#FFFFFF;} + .d2-1844565675 .stroke-B1{stroke:#31021D;} + .d2-1844565675 .stroke-B2{stroke:#9B1A48;} + .d2-1844565675 .stroke-B3{stroke:#D2517F;} + .d2-1844565675 .stroke-B4{stroke:#EA99B6;} + .d2-1844565675 .stroke-B5{stroke:#FFDAE7;} + .d2-1844565675 .stroke-B6{stroke:#FCEDF2;} + .d2-1844565675 .stroke-AA2{stroke:#D35F0A;} + .d2-1844565675 .stroke-AA4{stroke:#FABA8A;} + .d2-1844565675 .stroke-AA5{stroke:#FFE0C7;} + .d2-1844565675 .stroke-AB4{stroke:#FFE767;} + .d2-1844565675 .stroke-AB5{stroke:#FFF2AA;} + .d2-1844565675 .background-color-N1{background-color:#170206;} + .d2-1844565675 .background-color-N2{background-color:#535152;} + .d2-1844565675 .background-color-N3{background-color:#787777;} + .d2-1844565675 .background-color-N4{background-color:#CCCACA;} + .d2-1844565675 .background-color-N5{background-color:#DFDCDC;} + .d2-1844565675 .background-color-N6{background-color:#ECEBEB;} + .d2-1844565675 .background-color-N7{background-color:#FFFFFF;} + .d2-1844565675 .background-color-B1{background-color:#31021D;} + .d2-1844565675 .background-color-B2{background-color:#9B1A48;} + .d2-1844565675 .background-color-B3{background-color:#D2517F;} + .d2-1844565675 .background-color-B4{background-color:#EA99B6;} + .d2-1844565675 .background-color-B5{background-color:#FFDAE7;} + .d2-1844565675 .background-color-B6{background-color:#FCEDF2;} + .d2-1844565675 .background-color-AA2{background-color:#D35F0A;} + .d2-1844565675 .background-color-AA4{background-color:#FABA8A;} + .d2-1844565675 .background-color-AA5{background-color:#FFE0C7;} + .d2-1844565675 .background-color-AB4{background-color:#FFE767;} + .d2-1844565675 .background-color-AB5{background-color:#FFF2AA;} + .d2-1844565675 .color-N1{color:#170206;} + .d2-1844565675 .color-N2{color:#535152;} + .d2-1844565675 .color-N3{color:#787777;} + .d2-1844565675 .color-N4{color:#CCCACA;} + .d2-1844565675 .color-N5{color:#DFDCDC;} + .d2-1844565675 .color-N6{color:#ECEBEB;} + .d2-1844565675 .color-N7{color:#FFFFFF;} + .d2-1844565675 .color-B1{color:#31021D;} + .d2-1844565675 .color-B2{color:#9B1A48;} + .d2-1844565675 .color-B3{color:#D2517F;} + .d2-1844565675 .color-B4{color:#EA99B6;} + .d2-1844565675 .color-B5{color:#FFDAE7;} + .d2-1844565675 .color-B6{color:#FCEDF2;} + .d2-1844565675 .color-AA2{color:#D35F0A;} + .d2-1844565675 .color-AA4{color:#FABA8A;} + .d2-1844565675 .color-AA5{color:#FFE0C7;} + .d2-1844565675 .color-AB4{color:#FFE767;} + .d2-1844565675 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1844565675);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1844565675);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1844565675);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-1844565675);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1844565675);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-1844565675);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-1844565675);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1844565675);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1844565675);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-1844565675);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1844565675);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-1844565675);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1844565675);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -custom-display-namesRoot(3)Leaf Nr. 0Leaf Nr. 1Leaf Nr. 2 + +custom-display-namesRoot(3)Leaf Nr. 0Leaf Nr. 1Leaf Nr. 2 - - - - - + diff --git a/assets/workflows/diagrams/svg/custom-display-names.svg b/assets/workflows/diagrams/svg/custom-display-names.svg index be68e20..b4b5c03 100644 --- a/assets/workflows/diagrams/svg/custom-display-names.svg +++ b/assets/workflows/diagrams/svg/custom-display-names.svg @@ -1,20 +1,20 @@ - + .d2-2317658274 .fill-N1{fill:#170206;} + .d2-2317658274 .fill-N2{fill:#535152;} + .d2-2317658274 .fill-N3{fill:#787777;} + .d2-2317658274 .fill-N4{fill:#CCCACA;} + .d2-2317658274 .fill-N5{fill:#DFDCDC;} + .d2-2317658274 .fill-N6{fill:#ECEBEB;} + .d2-2317658274 .fill-N7{fill:#FFFFFF;} + .d2-2317658274 .fill-B1{fill:#31021D;} + .d2-2317658274 .fill-B2{fill:#9B1A48;} + .d2-2317658274 .fill-B3{fill:#D2517F;} + .d2-2317658274 .fill-B4{fill:#EA99B6;} + .d2-2317658274 .fill-B5{fill:#FFDAE7;} + .d2-2317658274 .fill-B6{fill:#FCEDF2;} + .d2-2317658274 .fill-AA2{fill:#D35F0A;} + .d2-2317658274 .fill-AA4{fill:#FABA8A;} + .d2-2317658274 .fill-AA5{fill:#FFE0C7;} + .d2-2317658274 .fill-AB4{fill:#FFE767;} + .d2-2317658274 .fill-AB5{fill:#FFF2AA;} + .d2-2317658274 .stroke-N1{stroke:#170206;} + .d2-2317658274 .stroke-N2{stroke:#535152;} + .d2-2317658274 .stroke-N3{stroke:#787777;} + .d2-2317658274 .stroke-N4{stroke:#CCCACA;} + .d2-2317658274 .stroke-N5{stroke:#DFDCDC;} + .d2-2317658274 .stroke-N6{stroke:#ECEBEB;} + .d2-2317658274 .stroke-N7{stroke:#FFFFFF;} + .d2-2317658274 .stroke-B1{stroke:#31021D;} + .d2-2317658274 .stroke-B2{stroke:#9B1A48;} + .d2-2317658274 .stroke-B3{stroke:#D2517F;} + .d2-2317658274 .stroke-B4{stroke:#EA99B6;} + .d2-2317658274 .stroke-B5{stroke:#FFDAE7;} + .d2-2317658274 .stroke-B6{stroke:#FCEDF2;} + .d2-2317658274 .stroke-AA2{stroke:#D35F0A;} + .d2-2317658274 .stroke-AA4{stroke:#FABA8A;} + .d2-2317658274 .stroke-AA5{stroke:#FFE0C7;} + .d2-2317658274 .stroke-AB4{stroke:#FFE767;} + .d2-2317658274 .stroke-AB5{stroke:#FFF2AA;} + .d2-2317658274 .background-color-N1{background-color:#170206;} + .d2-2317658274 .background-color-N2{background-color:#535152;} + .d2-2317658274 .background-color-N3{background-color:#787777;} + .d2-2317658274 .background-color-N4{background-color:#CCCACA;} + .d2-2317658274 .background-color-N5{background-color:#DFDCDC;} + .d2-2317658274 .background-color-N6{background-color:#ECEBEB;} + .d2-2317658274 .background-color-N7{background-color:#FFFFFF;} + .d2-2317658274 .background-color-B1{background-color:#31021D;} + .d2-2317658274 .background-color-B2{background-color:#9B1A48;} + .d2-2317658274 .background-color-B3{background-color:#D2517F;} + .d2-2317658274 .background-color-B4{background-color:#EA99B6;} + .d2-2317658274 .background-color-B5{background-color:#FFDAE7;} + .d2-2317658274 .background-color-B6{background-color:#FCEDF2;} + .d2-2317658274 .background-color-AA2{background-color:#D35F0A;} + .d2-2317658274 .background-color-AA4{background-color:#FABA8A;} + .d2-2317658274 .background-color-AA5{background-color:#FFE0C7;} + .d2-2317658274 .background-color-AB4{background-color:#FFE767;} + .d2-2317658274 .background-color-AB5{background-color:#FFF2AA;} + .d2-2317658274 .color-N1{color:#170206;} + .d2-2317658274 .color-N2{color:#535152;} + .d2-2317658274 .color-N3{color:#787777;} + .d2-2317658274 .color-N4{color:#CCCACA;} + .d2-2317658274 .color-N5{color:#DFDCDC;} + .d2-2317658274 .color-N6{color:#ECEBEB;} + .d2-2317658274 .color-N7{color:#FFFFFF;} + .d2-2317658274 .color-B1{color:#31021D;} + .d2-2317658274 .color-B2{color:#9B1A48;} + .d2-2317658274 .color-B3{color:#D2517F;} + .d2-2317658274 .color-B4{color:#EA99B6;} + .d2-2317658274 .color-B5{color:#FFDAE7;} + .d2-2317658274 .color-B6{color:#FCEDF2;} + .d2-2317658274 .color-AA2{color:#D35F0A;} + .d2-2317658274 .color-AA4{color:#FABA8A;} + .d2-2317658274 .color-AA5{color:#FFE0C7;} + .d2-2317658274 .color-AB4{color:#FFE767;} + .d2-2317658274 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2317658274);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2317658274);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2317658274);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2317658274);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2317658274);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2317658274);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2317658274);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2317658274);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2317658274);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-2317658274);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2317658274);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-2317658274);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2317658274);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -custom-display-namesRoot(3)Leaf Nr. 0Leaf Nr. 1Leaf Nr. 2 + +custom-display-namesRoot(3)Leaf Nr. 0Leaf Nr. 1Leaf Nr. 2 - - - - - + diff --git a/assets/workflows/diagrams/svg/download-dog-images-recursive.dark.svg b/assets/workflows/diagrams/svg/download-dog-images-recursive.dark.svg index 989cfb6..35888b1 100644 --- a/assets/workflows/diagrams/svg/download-dog-images-recursive.dark.svg +++ b/assets/workflows/diagrams/svg/download-dog-images-recursive.dark.svg @@ -1,24 +1,24 @@ - + .d2-3803421421 .fill-N1{fill:#170206;} + .d2-3803421421 .fill-N2{fill:#535152;} + .d2-3803421421 .fill-N3{fill:#787777;} + .d2-3803421421 .fill-N4{fill:#CCCACA;} + .d2-3803421421 .fill-N5{fill:#DFDCDC;} + .d2-3803421421 .fill-N6{fill:#ECEBEB;} + .d2-3803421421 .fill-N7{fill:#FFFFFF;} + .d2-3803421421 .fill-B1{fill:#31021D;} + .d2-3803421421 .fill-B2{fill:#9B1A48;} + .d2-3803421421 .fill-B3{fill:#D2517F;} + .d2-3803421421 .fill-B4{fill:#EA99B6;} + .d2-3803421421 .fill-B5{fill:#FFDAE7;} + .d2-3803421421 .fill-B6{fill:#FCEDF2;} + .d2-3803421421 .fill-AA2{fill:#D35F0A;} + .d2-3803421421 .fill-AA4{fill:#FABA8A;} + .d2-3803421421 .fill-AA5{fill:#FFE0C7;} + .d2-3803421421 .fill-AB4{fill:#FFE767;} + .d2-3803421421 .fill-AB5{fill:#FFF2AA;} + .d2-3803421421 .stroke-N1{stroke:#170206;} + .d2-3803421421 .stroke-N2{stroke:#535152;} + .d2-3803421421 .stroke-N3{stroke:#787777;} + .d2-3803421421 .stroke-N4{stroke:#CCCACA;} + .d2-3803421421 .stroke-N5{stroke:#DFDCDC;} + .d2-3803421421 .stroke-N6{stroke:#ECEBEB;} + .d2-3803421421 .stroke-N7{stroke:#FFFFFF;} + .d2-3803421421 .stroke-B1{stroke:#31021D;} + .d2-3803421421 .stroke-B2{stroke:#9B1A48;} + .d2-3803421421 .stroke-B3{stroke:#D2517F;} + .d2-3803421421 .stroke-B4{stroke:#EA99B6;} + .d2-3803421421 .stroke-B5{stroke:#FFDAE7;} + .d2-3803421421 .stroke-B6{stroke:#FCEDF2;} + .d2-3803421421 .stroke-AA2{stroke:#D35F0A;} + .d2-3803421421 .stroke-AA4{stroke:#FABA8A;} + .d2-3803421421 .stroke-AA5{stroke:#FFE0C7;} + .d2-3803421421 .stroke-AB4{stroke:#FFE767;} + .d2-3803421421 .stroke-AB5{stroke:#FFF2AA;} + .d2-3803421421 .background-color-N1{background-color:#170206;} + .d2-3803421421 .background-color-N2{background-color:#535152;} + .d2-3803421421 .background-color-N3{background-color:#787777;} + .d2-3803421421 .background-color-N4{background-color:#CCCACA;} + .d2-3803421421 .background-color-N5{background-color:#DFDCDC;} + .d2-3803421421 .background-color-N6{background-color:#ECEBEB;} + .d2-3803421421 .background-color-N7{background-color:#FFFFFF;} + .d2-3803421421 .background-color-B1{background-color:#31021D;} + .d2-3803421421 .background-color-B2{background-color:#9B1A48;} + .d2-3803421421 .background-color-B3{background-color:#D2517F;} + .d2-3803421421 .background-color-B4{background-color:#EA99B6;} + .d2-3803421421 .background-color-B5{background-color:#FFDAE7;} + .d2-3803421421 .background-color-B6{background-color:#FCEDF2;} + .d2-3803421421 .background-color-AA2{background-color:#D35F0A;} + .d2-3803421421 .background-color-AA4{background-color:#FABA8A;} + .d2-3803421421 .background-color-AA5{background-color:#FFE0C7;} + .d2-3803421421 .background-color-AB4{background-color:#FFE767;} + .d2-3803421421 .background-color-AB5{background-color:#FFF2AA;} + .d2-3803421421 .color-N1{color:#170206;} + .d2-3803421421 .color-N2{color:#535152;} + .d2-3803421421 .color-N3{color:#787777;} + .d2-3803421421 .color-N4{color:#CCCACA;} + .d2-3803421421 .color-N5{color:#DFDCDC;} + .d2-3803421421 .color-N6{color:#ECEBEB;} + .d2-3803421421 .color-N7{color:#FFFFFF;} + .d2-3803421421 .color-B1{color:#31021D;} + .d2-3803421421 .color-B2{color:#9B1A48;} + .d2-3803421421 .color-B3{color:#D2517F;} + .d2-3803421421 .color-B4{color:#EA99B6;} + .d2-3803421421 .color-B5{color:#FFDAE7;} + .d2-3803421421 .color-B6{color:#FCEDF2;} + .d2-3803421421 .color-AA2{color:#D35F0A;} + .d2-3803421421 .color-AA4{color:#FABA8A;} + .d2-3803421421 .color-AA5{color:#FFE0C7;} + .d2-3803421421 .color-AB4{color:#FFE767;} + .d2-3803421421 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3803421421);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3803421421);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3803421421);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3803421421);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3803421421);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3803421421);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3803421421);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3803421421);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3803421421);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-3803421421);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3803421421);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3803421421);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3803421421);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -download-dog-images-recursiveDownloadRandomDogImagesDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadImage + +download-dog-images-recursiveDownloadRandomDogImagesDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadImage - - - - - - - - - - - - - - - + diff --git a/assets/workflows/diagrams/svg/download-dog-images-recursive.svg b/assets/workflows/diagrams/svg/download-dog-images-recursive.svg index 16eed63..841c1be 100644 --- a/assets/workflows/diagrams/svg/download-dog-images-recursive.svg +++ b/assets/workflows/diagrams/svg/download-dog-images-recursive.svg @@ -1,20 +1,20 @@ - + .d2-371492885 .fill-N1{fill:#170206;} + .d2-371492885 .fill-N2{fill:#535152;} + .d2-371492885 .fill-N3{fill:#787777;} + .d2-371492885 .fill-N4{fill:#CCCACA;} + .d2-371492885 .fill-N5{fill:#DFDCDC;} + .d2-371492885 .fill-N6{fill:#ECEBEB;} + .d2-371492885 .fill-N7{fill:#FFFFFF;} + .d2-371492885 .fill-B1{fill:#31021D;} + .d2-371492885 .fill-B2{fill:#9B1A48;} + .d2-371492885 .fill-B3{fill:#D2517F;} + .d2-371492885 .fill-B4{fill:#EA99B6;} + .d2-371492885 .fill-B5{fill:#FFDAE7;} + .d2-371492885 .fill-B6{fill:#FCEDF2;} + .d2-371492885 .fill-AA2{fill:#D35F0A;} + .d2-371492885 .fill-AA4{fill:#FABA8A;} + .d2-371492885 .fill-AA5{fill:#FFE0C7;} + .d2-371492885 .fill-AB4{fill:#FFE767;} + .d2-371492885 .fill-AB5{fill:#FFF2AA;} + .d2-371492885 .stroke-N1{stroke:#170206;} + .d2-371492885 .stroke-N2{stroke:#535152;} + .d2-371492885 .stroke-N3{stroke:#787777;} + .d2-371492885 .stroke-N4{stroke:#CCCACA;} + .d2-371492885 .stroke-N5{stroke:#DFDCDC;} + .d2-371492885 .stroke-N6{stroke:#ECEBEB;} + .d2-371492885 .stroke-N7{stroke:#FFFFFF;} + .d2-371492885 .stroke-B1{stroke:#31021D;} + .d2-371492885 .stroke-B2{stroke:#9B1A48;} + .d2-371492885 .stroke-B3{stroke:#D2517F;} + .d2-371492885 .stroke-B4{stroke:#EA99B6;} + .d2-371492885 .stroke-B5{stroke:#FFDAE7;} + .d2-371492885 .stroke-B6{stroke:#FCEDF2;} + .d2-371492885 .stroke-AA2{stroke:#D35F0A;} + .d2-371492885 .stroke-AA4{stroke:#FABA8A;} + .d2-371492885 .stroke-AA5{stroke:#FFE0C7;} + .d2-371492885 .stroke-AB4{stroke:#FFE767;} + .d2-371492885 .stroke-AB5{stroke:#FFF2AA;} + .d2-371492885 .background-color-N1{background-color:#170206;} + .d2-371492885 .background-color-N2{background-color:#535152;} + .d2-371492885 .background-color-N3{background-color:#787777;} + .d2-371492885 .background-color-N4{background-color:#CCCACA;} + .d2-371492885 .background-color-N5{background-color:#DFDCDC;} + .d2-371492885 .background-color-N6{background-color:#ECEBEB;} + .d2-371492885 .background-color-N7{background-color:#FFFFFF;} + .d2-371492885 .background-color-B1{background-color:#31021D;} + .d2-371492885 .background-color-B2{background-color:#9B1A48;} + .d2-371492885 .background-color-B3{background-color:#D2517F;} + .d2-371492885 .background-color-B4{background-color:#EA99B6;} + .d2-371492885 .background-color-B5{background-color:#FFDAE7;} + .d2-371492885 .background-color-B6{background-color:#FCEDF2;} + .d2-371492885 .background-color-AA2{background-color:#D35F0A;} + .d2-371492885 .background-color-AA4{background-color:#FABA8A;} + .d2-371492885 .background-color-AA5{background-color:#FFE0C7;} + .d2-371492885 .background-color-AB4{background-color:#FFE767;} + .d2-371492885 .background-color-AB5{background-color:#FFF2AA;} + .d2-371492885 .color-N1{color:#170206;} + .d2-371492885 .color-N2{color:#535152;} + .d2-371492885 .color-N3{color:#787777;} + .d2-371492885 .color-N4{color:#CCCACA;} + .d2-371492885 .color-N5{color:#DFDCDC;} + .d2-371492885 .color-N6{color:#ECEBEB;} + .d2-371492885 .color-N7{color:#FFFFFF;} + .d2-371492885 .color-B1{color:#31021D;} + .d2-371492885 .color-B2{color:#9B1A48;} + .d2-371492885 .color-B3{color:#D2517F;} + .d2-371492885 .color-B4{color:#EA99B6;} + .d2-371492885 .color-B5{color:#FFDAE7;} + .d2-371492885 .color-B6{color:#FCEDF2;} + .d2-371492885 .color-AA2{color:#D35F0A;} + .d2-371492885 .color-AA4{color:#FABA8A;} + .d2-371492885 .color-AA5{color:#FFE0C7;} + .d2-371492885 .color-AB4{color:#FFE767;} + .d2-371492885 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-371492885);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-371492885);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-371492885);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-371492885);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-371492885);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-371492885);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-371492885);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-371492885);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-371492885);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-371492885);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-371492885);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-371492885);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-371492885);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -download-dog-images-recursiveDownloadRandomDogImagesDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadImage + +download-dog-images-recursiveDownloadRandomDogImagesDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadRandomDogImagesDownloadImageDownloadImage - - - - - - - - - - - - - - - + diff --git a/assets/workflows/diagrams/svg/download-dog-images.dark.svg b/assets/workflows/diagrams/svg/download-dog-images.dark.svg index 71cbfc2..a29b601 100644 --- a/assets/workflows/diagrams/svg/download-dog-images.dark.svg +++ b/assets/workflows/diagrams/svg/download-dog-images.dark.svg @@ -1,24 +1,24 @@ - + .d2-873597066 .fill-N1{fill:#170206;} + .d2-873597066 .fill-N2{fill:#535152;} + .d2-873597066 .fill-N3{fill:#787777;} + .d2-873597066 .fill-N4{fill:#CCCACA;} + .d2-873597066 .fill-N5{fill:#DFDCDC;} + .d2-873597066 .fill-N6{fill:#ECEBEB;} + .d2-873597066 .fill-N7{fill:#FFFFFF;} + .d2-873597066 .fill-B1{fill:#31021D;} + .d2-873597066 .fill-B2{fill:#9B1A48;} + .d2-873597066 .fill-B3{fill:#D2517F;} + .d2-873597066 .fill-B4{fill:#EA99B6;} + .d2-873597066 .fill-B5{fill:#FFDAE7;} + .d2-873597066 .fill-B6{fill:#FCEDF2;} + .d2-873597066 .fill-AA2{fill:#D35F0A;} + .d2-873597066 .fill-AA4{fill:#FABA8A;} + .d2-873597066 .fill-AA5{fill:#FFE0C7;} + .d2-873597066 .fill-AB4{fill:#FFE767;} + .d2-873597066 .fill-AB5{fill:#FFF2AA;} + .d2-873597066 .stroke-N1{stroke:#170206;} + .d2-873597066 .stroke-N2{stroke:#535152;} + .d2-873597066 .stroke-N3{stroke:#787777;} + .d2-873597066 .stroke-N4{stroke:#CCCACA;} + .d2-873597066 .stroke-N5{stroke:#DFDCDC;} + .d2-873597066 .stroke-N6{stroke:#ECEBEB;} + .d2-873597066 .stroke-N7{stroke:#FFFFFF;} + .d2-873597066 .stroke-B1{stroke:#31021D;} + .d2-873597066 .stroke-B2{stroke:#9B1A48;} + .d2-873597066 .stroke-B3{stroke:#D2517F;} + .d2-873597066 .stroke-B4{stroke:#EA99B6;} + .d2-873597066 .stroke-B5{stroke:#FFDAE7;} + .d2-873597066 .stroke-B6{stroke:#FCEDF2;} + .d2-873597066 .stroke-AA2{stroke:#D35F0A;} + .d2-873597066 .stroke-AA4{stroke:#FABA8A;} + .d2-873597066 .stroke-AA5{stroke:#FFE0C7;} + .d2-873597066 .stroke-AB4{stroke:#FFE767;} + .d2-873597066 .stroke-AB5{stroke:#FFF2AA;} + .d2-873597066 .background-color-N1{background-color:#170206;} + .d2-873597066 .background-color-N2{background-color:#535152;} + .d2-873597066 .background-color-N3{background-color:#787777;} + .d2-873597066 .background-color-N4{background-color:#CCCACA;} + .d2-873597066 .background-color-N5{background-color:#DFDCDC;} + .d2-873597066 .background-color-N6{background-color:#ECEBEB;} + .d2-873597066 .background-color-N7{background-color:#FFFFFF;} + .d2-873597066 .background-color-B1{background-color:#31021D;} + .d2-873597066 .background-color-B2{background-color:#9B1A48;} + .d2-873597066 .background-color-B3{background-color:#D2517F;} + .d2-873597066 .background-color-B4{background-color:#EA99B6;} + .d2-873597066 .background-color-B5{background-color:#FFDAE7;} + .d2-873597066 .background-color-B6{background-color:#FCEDF2;} + .d2-873597066 .background-color-AA2{background-color:#D35F0A;} + .d2-873597066 .background-color-AA4{background-color:#FABA8A;} + .d2-873597066 .background-color-AA5{background-color:#FFE0C7;} + .d2-873597066 .background-color-AB4{background-color:#FFE767;} + .d2-873597066 .background-color-AB5{background-color:#FFF2AA;} + .d2-873597066 .color-N1{color:#170206;} + .d2-873597066 .color-N2{color:#535152;} + .d2-873597066 .color-N3{color:#787777;} + .d2-873597066 .color-N4{color:#CCCACA;} + .d2-873597066 .color-N5{color:#DFDCDC;} + .d2-873597066 .color-N6{color:#ECEBEB;} + .d2-873597066 .color-N7{color:#FFFFFF;} + .d2-873597066 .color-B1{color:#31021D;} + .d2-873597066 .color-B2{color:#9B1A48;} + .d2-873597066 .color-B3{color:#D2517F;} + .d2-873597066 .color-B4{color:#EA99B6;} + .d2-873597066 .color-B5{color:#FFDAE7;} + .d2-873597066 .color-B6{color:#FCEDF2;} + .d2-873597066 .color-AA2{color:#D35F0A;} + .d2-873597066 .color-AA4{color:#FABA8A;} + .d2-873597066 .color-AA5{color:#FFE0C7;} + .d2-873597066 .color-AB4{color:#FFE767;} + .d2-873597066 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-873597066);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-873597066);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-873597066);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-873597066);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-873597066);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-873597066);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-873597066);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-873597066);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-873597066);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-873597066);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-873597066);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-873597066);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-873597066);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -download-random-dog-imagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImage + +download-random-dog-imagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImage - - - - - - - + diff --git a/assets/workflows/diagrams/svg/download-dog-images.svg b/assets/workflows/diagrams/svg/download-dog-images.svg index b36ec86..25a58b3 100644 --- a/assets/workflows/diagrams/svg/download-dog-images.svg +++ b/assets/workflows/diagrams/svg/download-dog-images.svg @@ -1,20 +1,20 @@ - + .d2-4164757378 .fill-N1{fill:#170206;} + .d2-4164757378 .fill-N2{fill:#535152;} + .d2-4164757378 .fill-N3{fill:#787777;} + .d2-4164757378 .fill-N4{fill:#CCCACA;} + .d2-4164757378 .fill-N5{fill:#DFDCDC;} + .d2-4164757378 .fill-N6{fill:#ECEBEB;} + .d2-4164757378 .fill-N7{fill:#FFFFFF;} + .d2-4164757378 .fill-B1{fill:#31021D;} + .d2-4164757378 .fill-B2{fill:#9B1A48;} + .d2-4164757378 .fill-B3{fill:#D2517F;} + .d2-4164757378 .fill-B4{fill:#EA99B6;} + .d2-4164757378 .fill-B5{fill:#FFDAE7;} + .d2-4164757378 .fill-B6{fill:#FCEDF2;} + .d2-4164757378 .fill-AA2{fill:#D35F0A;} + .d2-4164757378 .fill-AA4{fill:#FABA8A;} + .d2-4164757378 .fill-AA5{fill:#FFE0C7;} + .d2-4164757378 .fill-AB4{fill:#FFE767;} + .d2-4164757378 .fill-AB5{fill:#FFF2AA;} + .d2-4164757378 .stroke-N1{stroke:#170206;} + .d2-4164757378 .stroke-N2{stroke:#535152;} + .d2-4164757378 .stroke-N3{stroke:#787777;} + .d2-4164757378 .stroke-N4{stroke:#CCCACA;} + .d2-4164757378 .stroke-N5{stroke:#DFDCDC;} + .d2-4164757378 .stroke-N6{stroke:#ECEBEB;} + .d2-4164757378 .stroke-N7{stroke:#FFFFFF;} + .d2-4164757378 .stroke-B1{stroke:#31021D;} + .d2-4164757378 .stroke-B2{stroke:#9B1A48;} + .d2-4164757378 .stroke-B3{stroke:#D2517F;} + .d2-4164757378 .stroke-B4{stroke:#EA99B6;} + .d2-4164757378 .stroke-B5{stroke:#FFDAE7;} + .d2-4164757378 .stroke-B6{stroke:#FCEDF2;} + .d2-4164757378 .stroke-AA2{stroke:#D35F0A;} + .d2-4164757378 .stroke-AA4{stroke:#FABA8A;} + .d2-4164757378 .stroke-AA5{stroke:#FFE0C7;} + .d2-4164757378 .stroke-AB4{stroke:#FFE767;} + .d2-4164757378 .stroke-AB5{stroke:#FFF2AA;} + .d2-4164757378 .background-color-N1{background-color:#170206;} + .d2-4164757378 .background-color-N2{background-color:#535152;} + .d2-4164757378 .background-color-N3{background-color:#787777;} + .d2-4164757378 .background-color-N4{background-color:#CCCACA;} + .d2-4164757378 .background-color-N5{background-color:#DFDCDC;} + .d2-4164757378 .background-color-N6{background-color:#ECEBEB;} + .d2-4164757378 .background-color-N7{background-color:#FFFFFF;} + .d2-4164757378 .background-color-B1{background-color:#31021D;} + .d2-4164757378 .background-color-B2{background-color:#9B1A48;} + .d2-4164757378 .background-color-B3{background-color:#D2517F;} + .d2-4164757378 .background-color-B4{background-color:#EA99B6;} + .d2-4164757378 .background-color-B5{background-color:#FFDAE7;} + .d2-4164757378 .background-color-B6{background-color:#FCEDF2;} + .d2-4164757378 .background-color-AA2{background-color:#D35F0A;} + .d2-4164757378 .background-color-AA4{background-color:#FABA8A;} + .d2-4164757378 .background-color-AA5{background-color:#FFE0C7;} + .d2-4164757378 .background-color-AB4{background-color:#FFE767;} + .d2-4164757378 .background-color-AB5{background-color:#FFF2AA;} + .d2-4164757378 .color-N1{color:#170206;} + .d2-4164757378 .color-N2{color:#535152;} + .d2-4164757378 .color-N3{color:#787777;} + .d2-4164757378 .color-N4{color:#CCCACA;} + .d2-4164757378 .color-N5{color:#DFDCDC;} + .d2-4164757378 .color-N6{color:#ECEBEB;} + .d2-4164757378 .color-N7{color:#FFFFFF;} + .d2-4164757378 .color-B1{color:#31021D;} + .d2-4164757378 .color-B2{color:#9B1A48;} + .d2-4164757378 .color-B3{color:#D2517F;} + .d2-4164757378 .color-B4{color:#EA99B6;} + .d2-4164757378 .color-B5{color:#FFDAE7;} + .d2-4164757378 .color-B6{color:#FCEDF2;} + .d2-4164757378 .color-AA2{color:#D35F0A;} + .d2-4164757378 .color-AA4{color:#FABA8A;} + .d2-4164757378 .color-AA5{color:#FFE0C7;} + .d2-4164757378 .color-AB4{color:#FFE767;} + .d2-4164757378 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-4164757378);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-4164757378);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-4164757378);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-4164757378);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-4164757378);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-4164757378);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-4164757378);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-4164757378);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-4164757378);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-4164757378);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-4164757378);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-4164757378);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-4164757378);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -download-random-dog-imagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImage + +download-random-dog-imagesDownloadImageDownloadRandomDogImagesDownloadImageDownloadImageDownloadImageDownloadImage - - - - - - - + diff --git a/assets/workflows/diagrams/svg/map-reduce-sum-squares.dark.svg b/assets/workflows/diagrams/svg/map-reduce-sum-squares.dark.svg new file mode 100644 index 0000000..f6f9274 --- /dev/null +++ b/assets/workflows/diagrams/svg/map-reduce-sum-squares.dark.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + +sum-of-squaresSumOfSquaresSquare(98)Square(45)Square(21)Square(12)Square(453)Square(345)Sum + + + diff --git a/assets/workflows/diagrams/svg/map-reduce-sum-squares.svg b/assets/workflows/diagrams/svg/map-reduce-sum-squares.svg new file mode 100644 index 0000000..9a1478d --- /dev/null +++ b/assets/workflows/diagrams/svg/map-reduce-sum-squares.svg @@ -0,0 +1,118 @@ + + + + + + + + + + + + +sum-of-squaresSumOfSquaresSquare(98)Square(45)Square(21)Square(12)Square(453)Square(345)Sum + + + diff --git a/assets/workflows/diagrams/svg/movies-failed.dark.svg b/assets/workflows/diagrams/svg/movies-failed.dark.svg index a81b73d..bdc60d5 100644 --- a/assets/workflows/diagrams/svg/movies-failed.dark.svg +++ b/assets/workflows/diagrams/svg/movies-failed.dark.svg @@ -1,24 +1,24 @@ - + .d2-2936058276 .fill-N1{fill:#170206;} + .d2-2936058276 .fill-N2{fill:#535152;} + .d2-2936058276 .fill-N3{fill:#787777;} + .d2-2936058276 .fill-N4{fill:#CCCACA;} + .d2-2936058276 .fill-N5{fill:#DFDCDC;} + .d2-2936058276 .fill-N6{fill:#ECEBEB;} + .d2-2936058276 .fill-N7{fill:#FFFFFF;} + .d2-2936058276 .fill-B1{fill:#31021D;} + .d2-2936058276 .fill-B2{fill:#9B1A48;} + .d2-2936058276 .fill-B3{fill:#D2517F;} + .d2-2936058276 .fill-B4{fill:#EA99B6;} + .d2-2936058276 .fill-B5{fill:#FFDAE7;} + .d2-2936058276 .fill-B6{fill:#FCEDF2;} + .d2-2936058276 .fill-AA2{fill:#D35F0A;} + .d2-2936058276 .fill-AA4{fill:#FABA8A;} + .d2-2936058276 .fill-AA5{fill:#FFE0C7;} + .d2-2936058276 .fill-AB4{fill:#FFE767;} + .d2-2936058276 .fill-AB5{fill:#FFF2AA;} + .d2-2936058276 .stroke-N1{stroke:#170206;} + .d2-2936058276 .stroke-N2{stroke:#535152;} + .d2-2936058276 .stroke-N3{stroke:#787777;} + .d2-2936058276 .stroke-N4{stroke:#CCCACA;} + .d2-2936058276 .stroke-N5{stroke:#DFDCDC;} + .d2-2936058276 .stroke-N6{stroke:#ECEBEB;} + .d2-2936058276 .stroke-N7{stroke:#FFFFFF;} + .d2-2936058276 .stroke-B1{stroke:#31021D;} + .d2-2936058276 .stroke-B2{stroke:#9B1A48;} + .d2-2936058276 .stroke-B3{stroke:#D2517F;} + .d2-2936058276 .stroke-B4{stroke:#EA99B6;} + .d2-2936058276 .stroke-B5{stroke:#FFDAE7;} + .d2-2936058276 .stroke-B6{stroke:#FCEDF2;} + .d2-2936058276 .stroke-AA2{stroke:#D35F0A;} + .d2-2936058276 .stroke-AA4{stroke:#FABA8A;} + .d2-2936058276 .stroke-AA5{stroke:#FFE0C7;} + .d2-2936058276 .stroke-AB4{stroke:#FFE767;} + .d2-2936058276 .stroke-AB5{stroke:#FFF2AA;} + .d2-2936058276 .background-color-N1{background-color:#170206;} + .d2-2936058276 .background-color-N2{background-color:#535152;} + .d2-2936058276 .background-color-N3{background-color:#787777;} + .d2-2936058276 .background-color-N4{background-color:#CCCACA;} + .d2-2936058276 .background-color-N5{background-color:#DFDCDC;} + .d2-2936058276 .background-color-N6{background-color:#ECEBEB;} + .d2-2936058276 .background-color-N7{background-color:#FFFFFF;} + .d2-2936058276 .background-color-B1{background-color:#31021D;} + .d2-2936058276 .background-color-B2{background-color:#9B1A48;} + .d2-2936058276 .background-color-B3{background-color:#D2517F;} + .d2-2936058276 .background-color-B4{background-color:#EA99B6;} + .d2-2936058276 .background-color-B5{background-color:#FFDAE7;} + .d2-2936058276 .background-color-B6{background-color:#FCEDF2;} + .d2-2936058276 .background-color-AA2{background-color:#D35F0A;} + .d2-2936058276 .background-color-AA4{background-color:#FABA8A;} + .d2-2936058276 .background-color-AA5{background-color:#FFE0C7;} + .d2-2936058276 .background-color-AB4{background-color:#FFE767;} + .d2-2936058276 .background-color-AB5{background-color:#FFF2AA;} + .d2-2936058276 .color-N1{color:#170206;} + .d2-2936058276 .color-N2{color:#535152;} + .d2-2936058276 .color-N3{color:#787777;} + .d2-2936058276 .color-N4{color:#CCCACA;} + .d2-2936058276 .color-N5{color:#DFDCDC;} + .d2-2936058276 .color-N6{color:#ECEBEB;} + .d2-2936058276 .color-N7{color:#FFFFFF;} + .d2-2936058276 .color-B1{color:#31021D;} + .d2-2936058276 .color-B2{color:#9B1A48;} + .d2-2936058276 .color-B3{color:#D2517F;} + .d2-2936058276 .color-B4{color:#EA99B6;} + .d2-2936058276 .color-B5{color:#FFDAE7;} + .d2-2936058276 .color-B6{color:#FCEDF2;} + .d2-2936058276 .color-AA2{color:#D35F0A;} + .d2-2936058276 .color-AA4{color:#FABA8A;} + .d2-2936058276 .color-AA5{color:#FFE0C7;} + .d2-2936058276 .color-AB4{color:#FFE767;} + .d2-2936058276 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2936058276);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2936058276);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2936058276);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2936058276);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2936058276);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2936058276);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2936058276);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2936058276);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2936058276);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-2936058276);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2936058276);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-2936058276);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2936058276);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -movie-statsShrek 2MovieStatsThe MatrixPrintMovieStatsKeyError('Title')PrintMovieStats + +movie-statsShrek 2MovieStatsThe MatrixPrintMovieStatsKeyError('Title')PrintMovieStats - - - - - - + diff --git a/assets/workflows/diagrams/svg/movies-failed.svg b/assets/workflows/diagrams/svg/movies-failed.svg index 0e362c1..a3998af 100644 --- a/assets/workflows/diagrams/svg/movies-failed.svg +++ b/assets/workflows/diagrams/svg/movies-failed.svg @@ -1,24 +1,24 @@ - + .d2-3768203791 .fill-N1{fill:#170206;} + .d2-3768203791 .fill-N2{fill:#535152;} + .d2-3768203791 .fill-N3{fill:#787777;} + .d2-3768203791 .fill-N4{fill:#CCCACA;} + .d2-3768203791 .fill-N5{fill:#DFDCDC;} + .d2-3768203791 .fill-N6{fill:#ECEBEB;} + .d2-3768203791 .fill-N7{fill:#FFFFFF;} + .d2-3768203791 .fill-B1{fill:#31021D;} + .d2-3768203791 .fill-B2{fill:#9B1A48;} + .d2-3768203791 .fill-B3{fill:#D2517F;} + .d2-3768203791 .fill-B4{fill:#EA99B6;} + .d2-3768203791 .fill-B5{fill:#FFDAE7;} + .d2-3768203791 .fill-B6{fill:#FCEDF2;} + .d2-3768203791 .fill-AA2{fill:#D35F0A;} + .d2-3768203791 .fill-AA4{fill:#FABA8A;} + .d2-3768203791 .fill-AA5{fill:#FFE0C7;} + .d2-3768203791 .fill-AB4{fill:#FFE767;} + .d2-3768203791 .fill-AB5{fill:#FFF2AA;} + .d2-3768203791 .stroke-N1{stroke:#170206;} + .d2-3768203791 .stroke-N2{stroke:#535152;} + .d2-3768203791 .stroke-N3{stroke:#787777;} + .d2-3768203791 .stroke-N4{stroke:#CCCACA;} + .d2-3768203791 .stroke-N5{stroke:#DFDCDC;} + .d2-3768203791 .stroke-N6{stroke:#ECEBEB;} + .d2-3768203791 .stroke-N7{stroke:#FFFFFF;} + .d2-3768203791 .stroke-B1{stroke:#31021D;} + .d2-3768203791 .stroke-B2{stroke:#9B1A48;} + .d2-3768203791 .stroke-B3{stroke:#D2517F;} + .d2-3768203791 .stroke-B4{stroke:#EA99B6;} + .d2-3768203791 .stroke-B5{stroke:#FFDAE7;} + .d2-3768203791 .stroke-B6{stroke:#FCEDF2;} + .d2-3768203791 .stroke-AA2{stroke:#D35F0A;} + .d2-3768203791 .stroke-AA4{stroke:#FABA8A;} + .d2-3768203791 .stroke-AA5{stroke:#FFE0C7;} + .d2-3768203791 .stroke-AB4{stroke:#FFE767;} + .d2-3768203791 .stroke-AB5{stroke:#FFF2AA;} + .d2-3768203791 .background-color-N1{background-color:#170206;} + .d2-3768203791 .background-color-N2{background-color:#535152;} + .d2-3768203791 .background-color-N3{background-color:#787777;} + .d2-3768203791 .background-color-N4{background-color:#CCCACA;} + .d2-3768203791 .background-color-N5{background-color:#DFDCDC;} + .d2-3768203791 .background-color-N6{background-color:#ECEBEB;} + .d2-3768203791 .background-color-N7{background-color:#FFFFFF;} + .d2-3768203791 .background-color-B1{background-color:#31021D;} + .d2-3768203791 .background-color-B2{background-color:#9B1A48;} + .d2-3768203791 .background-color-B3{background-color:#D2517F;} + .d2-3768203791 .background-color-B4{background-color:#EA99B6;} + .d2-3768203791 .background-color-B5{background-color:#FFDAE7;} + .d2-3768203791 .background-color-B6{background-color:#FCEDF2;} + .d2-3768203791 .background-color-AA2{background-color:#D35F0A;} + .d2-3768203791 .background-color-AA4{background-color:#FABA8A;} + .d2-3768203791 .background-color-AA5{background-color:#FFE0C7;} + .d2-3768203791 .background-color-AB4{background-color:#FFE767;} + .d2-3768203791 .background-color-AB5{background-color:#FFF2AA;} + .d2-3768203791 .color-N1{color:#170206;} + .d2-3768203791 .color-N2{color:#535152;} + .d2-3768203791 .color-N3{color:#787777;} + .d2-3768203791 .color-N4{color:#CCCACA;} + .d2-3768203791 .color-N5{color:#DFDCDC;} + .d2-3768203791 .color-N6{color:#ECEBEB;} + .d2-3768203791 .color-N7{color:#FFFFFF;} + .d2-3768203791 .color-B1{color:#31021D;} + .d2-3768203791 .color-B2{color:#9B1A48;} + .d2-3768203791 .color-B3{color:#D2517F;} + .d2-3768203791 .color-B4{color:#EA99B6;} + .d2-3768203791 .color-B5{color:#FFDAE7;} + .d2-3768203791 .color-B6{color:#FCEDF2;} + .d2-3768203791 .color-AA2{color:#D35F0A;} + .d2-3768203791 .color-AA4{color:#FABA8A;} + .d2-3768203791 .color-AA5{color:#FFE0C7;} + .d2-3768203791 .color-AB4{color:#FFE767;} + .d2-3768203791 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3768203791);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3768203791);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3768203791);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3768203791);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3768203791);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3768203791);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3768203791);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3768203791);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3768203791);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-3768203791);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3768203791);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3768203791);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3768203791);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -movie-statsShrek 2MovieStatsThe MatrixPrintMovieStatsKeyError('Title')PrintMovieStats + +movie-statsShrek 2MovieStatsThe MatrixPrintMovieStatsKeyError('Title')PrintMovieStats - - - - - - + diff --git a/assets/workflows/diagrams/svg/movies-retried.dark.svg b/assets/workflows/diagrams/svg/movies-retried.dark.svg index d18566a..d7db064 100644 --- a/assets/workflows/diagrams/svg/movies-retried.dark.svg +++ b/assets/workflows/diagrams/svg/movies-retried.dark.svg @@ -1,24 +1,24 @@ - + .d2-3800690219 .fill-N1{fill:#170206;} + .d2-3800690219 .fill-N2{fill:#535152;} + .d2-3800690219 .fill-N3{fill:#787777;} + .d2-3800690219 .fill-N4{fill:#CCCACA;} + .d2-3800690219 .fill-N5{fill:#DFDCDC;} + .d2-3800690219 .fill-N6{fill:#ECEBEB;} + .d2-3800690219 .fill-N7{fill:#FFFFFF;} + .d2-3800690219 .fill-B1{fill:#31021D;} + .d2-3800690219 .fill-B2{fill:#9B1A48;} + .d2-3800690219 .fill-B3{fill:#D2517F;} + .d2-3800690219 .fill-B4{fill:#EA99B6;} + .d2-3800690219 .fill-B5{fill:#FFDAE7;} + .d2-3800690219 .fill-B6{fill:#FCEDF2;} + .d2-3800690219 .fill-AA2{fill:#D35F0A;} + .d2-3800690219 .fill-AA4{fill:#FABA8A;} + .d2-3800690219 .fill-AA5{fill:#FFE0C7;} + .d2-3800690219 .fill-AB4{fill:#FFE767;} + .d2-3800690219 .fill-AB5{fill:#FFF2AA;} + .d2-3800690219 .stroke-N1{stroke:#170206;} + .d2-3800690219 .stroke-N2{stroke:#535152;} + .d2-3800690219 .stroke-N3{stroke:#787777;} + .d2-3800690219 .stroke-N4{stroke:#CCCACA;} + .d2-3800690219 .stroke-N5{stroke:#DFDCDC;} + .d2-3800690219 .stroke-N6{stroke:#ECEBEB;} + .d2-3800690219 .stroke-N7{stroke:#FFFFFF;} + .d2-3800690219 .stroke-B1{stroke:#31021D;} + .d2-3800690219 .stroke-B2{stroke:#9B1A48;} + .d2-3800690219 .stroke-B3{stroke:#D2517F;} + .d2-3800690219 .stroke-B4{stroke:#EA99B6;} + .d2-3800690219 .stroke-B5{stroke:#FFDAE7;} + .d2-3800690219 .stroke-B6{stroke:#FCEDF2;} + .d2-3800690219 .stroke-AA2{stroke:#D35F0A;} + .d2-3800690219 .stroke-AA4{stroke:#FABA8A;} + .d2-3800690219 .stroke-AA5{stroke:#FFE0C7;} + .d2-3800690219 .stroke-AB4{stroke:#FFE767;} + .d2-3800690219 .stroke-AB5{stroke:#FFF2AA;} + .d2-3800690219 .background-color-N1{background-color:#170206;} + .d2-3800690219 .background-color-N2{background-color:#535152;} + .d2-3800690219 .background-color-N3{background-color:#787777;} + .d2-3800690219 .background-color-N4{background-color:#CCCACA;} + .d2-3800690219 .background-color-N5{background-color:#DFDCDC;} + .d2-3800690219 .background-color-N6{background-color:#ECEBEB;} + .d2-3800690219 .background-color-N7{background-color:#FFFFFF;} + .d2-3800690219 .background-color-B1{background-color:#31021D;} + .d2-3800690219 .background-color-B2{background-color:#9B1A48;} + .d2-3800690219 .background-color-B3{background-color:#D2517F;} + .d2-3800690219 .background-color-B4{background-color:#EA99B6;} + .d2-3800690219 .background-color-B5{background-color:#FFDAE7;} + .d2-3800690219 .background-color-B6{background-color:#FCEDF2;} + .d2-3800690219 .background-color-AA2{background-color:#D35F0A;} + .d2-3800690219 .background-color-AA4{background-color:#FABA8A;} + .d2-3800690219 .background-color-AA5{background-color:#FFE0C7;} + .d2-3800690219 .background-color-AB4{background-color:#FFE767;} + .d2-3800690219 .background-color-AB5{background-color:#FFF2AA;} + .d2-3800690219 .color-N1{color:#170206;} + .d2-3800690219 .color-N2{color:#535152;} + .d2-3800690219 .color-N3{color:#787777;} + .d2-3800690219 .color-N4{color:#CCCACA;} + .d2-3800690219 .color-N5{color:#DFDCDC;} + .d2-3800690219 .color-N6{color:#ECEBEB;} + .d2-3800690219 .color-N7{color:#FFFFFF;} + .d2-3800690219 .color-B1{color:#31021D;} + .d2-3800690219 .color-B2{color:#9B1A48;} + .d2-3800690219 .color-B3{color:#D2517F;} + .d2-3800690219 .color-B4{color:#EA99B6;} + .d2-3800690219 .color-B5{color:#FFDAE7;} + .d2-3800690219 .color-B6{color:#FCEDF2;} + .d2-3800690219 .color-AA2{color:#D35F0A;} + .d2-3800690219 .color-AA4{color:#FABA8A;} + .d2-3800690219 .color-AA5{color:#FFE0C7;} + .d2-3800690219 .color-AB4{color:#FFE767;} + .d2-3800690219 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3800690219);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3800690219);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3800690219);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3800690219);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3800690219);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3800690219);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3800690219);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3800690219);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3800690219);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-3800690219);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3800690219);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3800690219);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3800690219);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -movie-statsShrek 2MovieStatsThe MatrixNotFound: Tilebox - The MovieThe Avengers + +movie-statsShrek 2MovieStatsThe MatrixNotFound: Tilebox - The MovieThe Avengers - - - - - - + diff --git a/assets/workflows/diagrams/svg/movies-retried.svg b/assets/workflows/diagrams/svg/movies-retried.svg index 1fa6ec2..33de88d 100644 --- a/assets/workflows/diagrams/svg/movies-retried.svg +++ b/assets/workflows/diagrams/svg/movies-retried.svg @@ -1,20 +1,20 @@ - + .d2-2815732967 .fill-N1{fill:#170206;} + .d2-2815732967 .fill-N2{fill:#535152;} + .d2-2815732967 .fill-N3{fill:#787777;} + .d2-2815732967 .fill-N4{fill:#CCCACA;} + .d2-2815732967 .fill-N5{fill:#DFDCDC;} + .d2-2815732967 .fill-N6{fill:#ECEBEB;} + .d2-2815732967 .fill-N7{fill:#FFFFFF;} + .d2-2815732967 .fill-B1{fill:#31021D;} + .d2-2815732967 .fill-B2{fill:#9B1A48;} + .d2-2815732967 .fill-B3{fill:#D2517F;} + .d2-2815732967 .fill-B4{fill:#EA99B6;} + .d2-2815732967 .fill-B5{fill:#FFDAE7;} + .d2-2815732967 .fill-B6{fill:#FCEDF2;} + .d2-2815732967 .fill-AA2{fill:#D35F0A;} + .d2-2815732967 .fill-AA4{fill:#FABA8A;} + .d2-2815732967 .fill-AA5{fill:#FFE0C7;} + .d2-2815732967 .fill-AB4{fill:#FFE767;} + .d2-2815732967 .fill-AB5{fill:#FFF2AA;} + .d2-2815732967 .stroke-N1{stroke:#170206;} + .d2-2815732967 .stroke-N2{stroke:#535152;} + .d2-2815732967 .stroke-N3{stroke:#787777;} + .d2-2815732967 .stroke-N4{stroke:#CCCACA;} + .d2-2815732967 .stroke-N5{stroke:#DFDCDC;} + .d2-2815732967 .stroke-N6{stroke:#ECEBEB;} + .d2-2815732967 .stroke-N7{stroke:#FFFFFF;} + .d2-2815732967 .stroke-B1{stroke:#31021D;} + .d2-2815732967 .stroke-B2{stroke:#9B1A48;} + .d2-2815732967 .stroke-B3{stroke:#D2517F;} + .d2-2815732967 .stroke-B4{stroke:#EA99B6;} + .d2-2815732967 .stroke-B5{stroke:#FFDAE7;} + .d2-2815732967 .stroke-B6{stroke:#FCEDF2;} + .d2-2815732967 .stroke-AA2{stroke:#D35F0A;} + .d2-2815732967 .stroke-AA4{stroke:#FABA8A;} + .d2-2815732967 .stroke-AA5{stroke:#FFE0C7;} + .d2-2815732967 .stroke-AB4{stroke:#FFE767;} + .d2-2815732967 .stroke-AB5{stroke:#FFF2AA;} + .d2-2815732967 .background-color-N1{background-color:#170206;} + .d2-2815732967 .background-color-N2{background-color:#535152;} + .d2-2815732967 .background-color-N3{background-color:#787777;} + .d2-2815732967 .background-color-N4{background-color:#CCCACA;} + .d2-2815732967 .background-color-N5{background-color:#DFDCDC;} + .d2-2815732967 .background-color-N6{background-color:#ECEBEB;} + .d2-2815732967 .background-color-N7{background-color:#FFFFFF;} + .d2-2815732967 .background-color-B1{background-color:#31021D;} + .d2-2815732967 .background-color-B2{background-color:#9B1A48;} + .d2-2815732967 .background-color-B3{background-color:#D2517F;} + .d2-2815732967 .background-color-B4{background-color:#EA99B6;} + .d2-2815732967 .background-color-B5{background-color:#FFDAE7;} + .d2-2815732967 .background-color-B6{background-color:#FCEDF2;} + .d2-2815732967 .background-color-AA2{background-color:#D35F0A;} + .d2-2815732967 .background-color-AA4{background-color:#FABA8A;} + .d2-2815732967 .background-color-AA5{background-color:#FFE0C7;} + .d2-2815732967 .background-color-AB4{background-color:#FFE767;} + .d2-2815732967 .background-color-AB5{background-color:#FFF2AA;} + .d2-2815732967 .color-N1{color:#170206;} + .d2-2815732967 .color-N2{color:#535152;} + .d2-2815732967 .color-N3{color:#787777;} + .d2-2815732967 .color-N4{color:#CCCACA;} + .d2-2815732967 .color-N5{color:#DFDCDC;} + .d2-2815732967 .color-N6{color:#ECEBEB;} + .d2-2815732967 .color-N7{color:#FFFFFF;} + .d2-2815732967 .color-B1{color:#31021D;} + .d2-2815732967 .color-B2{color:#9B1A48;} + .d2-2815732967 .color-B3{color:#D2517F;} + .d2-2815732967 .color-B4{color:#EA99B6;} + .d2-2815732967 .color-B5{color:#FFDAE7;} + .d2-2815732967 .color-B6{color:#FCEDF2;} + .d2-2815732967 .color-AA2{color:#D35F0A;} + .d2-2815732967 .color-AA4{color:#FABA8A;} + .d2-2815732967 .color-AA5{color:#FFE0C7;} + .d2-2815732967 .color-AB4{color:#FFE767;} + .d2-2815732967 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2815732967);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2815732967);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2815732967);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2815732967);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2815732967);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2815732967);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2815732967);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2815732967);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2815732967);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-2815732967);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2815732967);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-2815732967);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2815732967);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -movie-statsShrek 2MovieStatsThe MatrixNotFound: Tilebox - The MovieThe Avengers + +movie-statsShrek 2MovieStatsThe MatrixNotFound: Tilebox - The MovieThe Avengers - - - - - - + diff --git a/assets/workflows/diagrams/svg/multiple-runners.dark.svg b/assets/workflows/diagrams/svg/multiple-runners.dark.svg index e984a4a..9b98dcf 100644 --- a/assets/workflows/diagrams/svg/multiple-runners.dark.svg +++ b/assets/workflows/diagrams/svg/multiple-runners.dark.svg @@ -1,24 +1,24 @@ - + .d2-3095265526 .fill-N1{fill:#170206;} + .d2-3095265526 .fill-N2{fill:#535152;} + .d2-3095265526 .fill-N3{fill:#787777;} + .d2-3095265526 .fill-N4{fill:#CCCACA;} + .d2-3095265526 .fill-N5{fill:#DFDCDC;} + .d2-3095265526 .fill-N6{fill:#ECEBEB;} + .d2-3095265526 .fill-N7{fill:#FFFFFF;} + .d2-3095265526 .fill-B1{fill:#31021D;} + .d2-3095265526 .fill-B2{fill:#9B1A48;} + .d2-3095265526 .fill-B3{fill:#D2517F;} + .d2-3095265526 .fill-B4{fill:#EA99B6;} + .d2-3095265526 .fill-B5{fill:#FFDAE7;} + .d2-3095265526 .fill-B6{fill:#FCEDF2;} + .d2-3095265526 .fill-AA2{fill:#D35F0A;} + .d2-3095265526 .fill-AA4{fill:#FABA8A;} + .d2-3095265526 .fill-AA5{fill:#FFE0C7;} + .d2-3095265526 .fill-AB4{fill:#FFE767;} + .d2-3095265526 .fill-AB5{fill:#FFF2AA;} + .d2-3095265526 .stroke-N1{stroke:#170206;} + .d2-3095265526 .stroke-N2{stroke:#535152;} + .d2-3095265526 .stroke-N3{stroke:#787777;} + .d2-3095265526 .stroke-N4{stroke:#CCCACA;} + .d2-3095265526 .stroke-N5{stroke:#DFDCDC;} + .d2-3095265526 .stroke-N6{stroke:#ECEBEB;} + .d2-3095265526 .stroke-N7{stroke:#FFFFFF;} + .d2-3095265526 .stroke-B1{stroke:#31021D;} + .d2-3095265526 .stroke-B2{stroke:#9B1A48;} + .d2-3095265526 .stroke-B3{stroke:#D2517F;} + .d2-3095265526 .stroke-B4{stroke:#EA99B6;} + .d2-3095265526 .stroke-B5{stroke:#FFDAE7;} + .d2-3095265526 .stroke-B6{stroke:#FCEDF2;} + .d2-3095265526 .stroke-AA2{stroke:#D35F0A;} + .d2-3095265526 .stroke-AA4{stroke:#FABA8A;} + .d2-3095265526 .stroke-AA5{stroke:#FFE0C7;} + .d2-3095265526 .stroke-AB4{stroke:#FFE767;} + .d2-3095265526 .stroke-AB5{stroke:#FFF2AA;} + .d2-3095265526 .background-color-N1{background-color:#170206;} + .d2-3095265526 .background-color-N2{background-color:#535152;} + .d2-3095265526 .background-color-N3{background-color:#787777;} + .d2-3095265526 .background-color-N4{background-color:#CCCACA;} + .d2-3095265526 .background-color-N5{background-color:#DFDCDC;} + .d2-3095265526 .background-color-N6{background-color:#ECEBEB;} + .d2-3095265526 .background-color-N7{background-color:#FFFFFF;} + .d2-3095265526 .background-color-B1{background-color:#31021D;} + .d2-3095265526 .background-color-B2{background-color:#9B1A48;} + .d2-3095265526 .background-color-B3{background-color:#D2517F;} + .d2-3095265526 .background-color-B4{background-color:#EA99B6;} + .d2-3095265526 .background-color-B5{background-color:#FFDAE7;} + .d2-3095265526 .background-color-B6{background-color:#FCEDF2;} + .d2-3095265526 .background-color-AA2{background-color:#D35F0A;} + .d2-3095265526 .background-color-AA4{background-color:#FABA8A;} + .d2-3095265526 .background-color-AA5{background-color:#FFE0C7;} + .d2-3095265526 .background-color-AB4{background-color:#FFE767;} + .d2-3095265526 .background-color-AB5{background-color:#FFF2AA;} + .d2-3095265526 .color-N1{color:#170206;} + .d2-3095265526 .color-N2{color:#535152;} + .d2-3095265526 .color-N3{color:#787777;} + .d2-3095265526 .color-N4{color:#CCCACA;} + .d2-3095265526 .color-N5{color:#DFDCDC;} + .d2-3095265526 .color-N6{color:#ECEBEB;} + .d2-3095265526 .color-N7{color:#FFFFFF;} + .d2-3095265526 .color-B1{color:#31021D;} + .d2-3095265526 .color-B2{color:#9B1A48;} + .d2-3095265526 .color-B3{color:#D2517F;} + .d2-3095265526 .color-B4{color:#EA99B6;} + .d2-3095265526 .color-B5{color:#FFDAE7;} + .d2-3095265526 .color-B6{color:#FCEDF2;} + .d2-3095265526 .color-AA2{color:#D35F0A;} + .d2-3095265526 .color-AA4{color:#FABA8A;} + .d2-3095265526 .color-AA5{color:#FFE0C7;} + .d2-3095265526 .color-AB4{color:#FFE767;} + .d2-3095265526 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3095265526);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3095265526);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3095265526);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3095265526);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3095265526);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3095265526);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3095265526);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3095265526);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3095265526);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-3095265526);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3095265526);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3095265526);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3095265526);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -larger-jobMyTaskSubTaskSubTaskSubTaskDependentTaskLeafTaskDependentTaskLeafTask + +larger-jobMyTaskSubTaskSubTaskSubTaskDependentTaskLeafTaskDependentTaskLeafTask - - - - - - - - - + diff --git a/assets/workflows/diagrams/svg/multiple-runners.svg b/assets/workflows/diagrams/svg/multiple-runners.svg index b54e56b..e7cf09e 100644 --- a/assets/workflows/diagrams/svg/multiple-runners.svg +++ b/assets/workflows/diagrams/svg/multiple-runners.svg @@ -1,24 +1,24 @@ - + .d2-1129083478 .fill-N1{fill:#170206;} + .d2-1129083478 .fill-N2{fill:#535152;} + .d2-1129083478 .fill-N3{fill:#787777;} + .d2-1129083478 .fill-N4{fill:#CCCACA;} + .d2-1129083478 .fill-N5{fill:#DFDCDC;} + .d2-1129083478 .fill-N6{fill:#ECEBEB;} + .d2-1129083478 .fill-N7{fill:#FFFFFF;} + .d2-1129083478 .fill-B1{fill:#31021D;} + .d2-1129083478 .fill-B2{fill:#9B1A48;} + .d2-1129083478 .fill-B3{fill:#D2517F;} + .d2-1129083478 .fill-B4{fill:#EA99B6;} + .d2-1129083478 .fill-B5{fill:#FFDAE7;} + .d2-1129083478 .fill-B6{fill:#FCEDF2;} + .d2-1129083478 .fill-AA2{fill:#D35F0A;} + .d2-1129083478 .fill-AA4{fill:#FABA8A;} + .d2-1129083478 .fill-AA5{fill:#FFE0C7;} + .d2-1129083478 .fill-AB4{fill:#FFE767;} + .d2-1129083478 .fill-AB5{fill:#FFF2AA;} + .d2-1129083478 .stroke-N1{stroke:#170206;} + .d2-1129083478 .stroke-N2{stroke:#535152;} + .d2-1129083478 .stroke-N3{stroke:#787777;} + .d2-1129083478 .stroke-N4{stroke:#CCCACA;} + .d2-1129083478 .stroke-N5{stroke:#DFDCDC;} + .d2-1129083478 .stroke-N6{stroke:#ECEBEB;} + .d2-1129083478 .stroke-N7{stroke:#FFFFFF;} + .d2-1129083478 .stroke-B1{stroke:#31021D;} + .d2-1129083478 .stroke-B2{stroke:#9B1A48;} + .d2-1129083478 .stroke-B3{stroke:#D2517F;} + .d2-1129083478 .stroke-B4{stroke:#EA99B6;} + .d2-1129083478 .stroke-B5{stroke:#FFDAE7;} + .d2-1129083478 .stroke-B6{stroke:#FCEDF2;} + .d2-1129083478 .stroke-AA2{stroke:#D35F0A;} + .d2-1129083478 .stroke-AA4{stroke:#FABA8A;} + .d2-1129083478 .stroke-AA5{stroke:#FFE0C7;} + .d2-1129083478 .stroke-AB4{stroke:#FFE767;} + .d2-1129083478 .stroke-AB5{stroke:#FFF2AA;} + .d2-1129083478 .background-color-N1{background-color:#170206;} + .d2-1129083478 .background-color-N2{background-color:#535152;} + .d2-1129083478 .background-color-N3{background-color:#787777;} + .d2-1129083478 .background-color-N4{background-color:#CCCACA;} + .d2-1129083478 .background-color-N5{background-color:#DFDCDC;} + .d2-1129083478 .background-color-N6{background-color:#ECEBEB;} + .d2-1129083478 .background-color-N7{background-color:#FFFFFF;} + .d2-1129083478 .background-color-B1{background-color:#31021D;} + .d2-1129083478 .background-color-B2{background-color:#9B1A48;} + .d2-1129083478 .background-color-B3{background-color:#D2517F;} + .d2-1129083478 .background-color-B4{background-color:#EA99B6;} + .d2-1129083478 .background-color-B5{background-color:#FFDAE7;} + .d2-1129083478 .background-color-B6{background-color:#FCEDF2;} + .d2-1129083478 .background-color-AA2{background-color:#D35F0A;} + .d2-1129083478 .background-color-AA4{background-color:#FABA8A;} + .d2-1129083478 .background-color-AA5{background-color:#FFE0C7;} + .d2-1129083478 .background-color-AB4{background-color:#FFE767;} + .d2-1129083478 .background-color-AB5{background-color:#FFF2AA;} + .d2-1129083478 .color-N1{color:#170206;} + .d2-1129083478 .color-N2{color:#535152;} + .d2-1129083478 .color-N3{color:#787777;} + .d2-1129083478 .color-N4{color:#CCCACA;} + .d2-1129083478 .color-N5{color:#DFDCDC;} + .d2-1129083478 .color-N6{color:#ECEBEB;} + .d2-1129083478 .color-N7{color:#FFFFFF;} + .d2-1129083478 .color-B1{color:#31021D;} + .d2-1129083478 .color-B2{color:#9B1A48;} + .d2-1129083478 .color-B3{color:#D2517F;} + .d2-1129083478 .color-B4{color:#EA99B6;} + .d2-1129083478 .color-B5{color:#FFDAE7;} + .d2-1129083478 .color-B6{color:#FCEDF2;} + .d2-1129083478 .color-AA2{color:#D35F0A;} + .d2-1129083478 .color-AA4{color:#FABA8A;} + .d2-1129083478 .color-AA5{color:#FFE0C7;} + .d2-1129083478 .color-AB4{color:#FFE767;} + .d2-1129083478 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1129083478);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1129083478);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1129083478);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-1129083478);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1129083478);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-1129083478);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-1129083478);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1129083478);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1129083478);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-1129083478);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1129083478);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-1129083478);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1129083478);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -larger-jobMyTaskSubTaskSubTaskSubTaskDependentTaskLeafTaskDependentTaskLeafTask + +larger-jobMyTaskSubTaskSubTaskSubTaskDependentTaskLeafTaskDependentTaskLeafTask - - - - - - - - - + diff --git a/assets/workflows/diagrams/svg/process-news.dark.svg b/assets/workflows/diagrams/svg/process-news.dark.svg index ab209ba..c7da9e0 100644 --- a/assets/workflows/diagrams/svg/process-news.dark.svg +++ b/assets/workflows/diagrams/svg/process-news.dark.svg @@ -1,24 +1,24 @@ - + .d2-516966264 .fill-N1{fill:#170206;} + .d2-516966264 .fill-N2{fill:#535152;} + .d2-516966264 .fill-N3{fill:#787777;} + .d2-516966264 .fill-N4{fill:#CCCACA;} + .d2-516966264 .fill-N5{fill:#DFDCDC;} + .d2-516966264 .fill-N6{fill:#ECEBEB;} + .d2-516966264 .fill-N7{fill:#FFFFFF;} + .d2-516966264 .fill-B1{fill:#31021D;} + .d2-516966264 .fill-B2{fill:#9B1A48;} + .d2-516966264 .fill-B3{fill:#D2517F;} + .d2-516966264 .fill-B4{fill:#EA99B6;} + .d2-516966264 .fill-B5{fill:#FFDAE7;} + .d2-516966264 .fill-B6{fill:#FCEDF2;} + .d2-516966264 .fill-AA2{fill:#D35F0A;} + .d2-516966264 .fill-AA4{fill:#FABA8A;} + .d2-516966264 .fill-AA5{fill:#FFE0C7;} + .d2-516966264 .fill-AB4{fill:#FFE767;} + .d2-516966264 .fill-AB5{fill:#FFF2AA;} + .d2-516966264 .stroke-N1{stroke:#170206;} + .d2-516966264 .stroke-N2{stroke:#535152;} + .d2-516966264 .stroke-N3{stroke:#787777;} + .d2-516966264 .stroke-N4{stroke:#CCCACA;} + .d2-516966264 .stroke-N5{stroke:#DFDCDC;} + .d2-516966264 .stroke-N6{stroke:#ECEBEB;} + .d2-516966264 .stroke-N7{stroke:#FFFFFF;} + .d2-516966264 .stroke-B1{stroke:#31021D;} + .d2-516966264 .stroke-B2{stroke:#9B1A48;} + .d2-516966264 .stroke-B3{stroke:#D2517F;} + .d2-516966264 .stroke-B4{stroke:#EA99B6;} + .d2-516966264 .stroke-B5{stroke:#FFDAE7;} + .d2-516966264 .stroke-B6{stroke:#FCEDF2;} + .d2-516966264 .stroke-AA2{stroke:#D35F0A;} + .d2-516966264 .stroke-AA4{stroke:#FABA8A;} + .d2-516966264 .stroke-AA5{stroke:#FFE0C7;} + .d2-516966264 .stroke-AB4{stroke:#FFE767;} + .d2-516966264 .stroke-AB5{stroke:#FFF2AA;} + .d2-516966264 .background-color-N1{background-color:#170206;} + .d2-516966264 .background-color-N2{background-color:#535152;} + .d2-516966264 .background-color-N3{background-color:#787777;} + .d2-516966264 .background-color-N4{background-color:#CCCACA;} + .d2-516966264 .background-color-N5{background-color:#DFDCDC;} + .d2-516966264 .background-color-N6{background-color:#ECEBEB;} + .d2-516966264 .background-color-N7{background-color:#FFFFFF;} + .d2-516966264 .background-color-B1{background-color:#31021D;} + .d2-516966264 .background-color-B2{background-color:#9B1A48;} + .d2-516966264 .background-color-B3{background-color:#D2517F;} + .d2-516966264 .background-color-B4{background-color:#EA99B6;} + .d2-516966264 .background-color-B5{background-color:#FFDAE7;} + .d2-516966264 .background-color-B6{background-color:#FCEDF2;} + .d2-516966264 .background-color-AA2{background-color:#D35F0A;} + .d2-516966264 .background-color-AA4{background-color:#FABA8A;} + .d2-516966264 .background-color-AA5{background-color:#FFE0C7;} + .d2-516966264 .background-color-AB4{background-color:#FFE767;} + .d2-516966264 .background-color-AB5{background-color:#FFF2AA;} + .d2-516966264 .color-N1{color:#170206;} + .d2-516966264 .color-N2{color:#535152;} + .d2-516966264 .color-N3{color:#787777;} + .d2-516966264 .color-N4{color:#CCCACA;} + .d2-516966264 .color-N5{color:#DFDCDC;} + .d2-516966264 .color-N6{color:#ECEBEB;} + .d2-516966264 .color-N7{color:#FFFFFF;} + .d2-516966264 .color-B1{color:#31021D;} + .d2-516966264 .color-B2{color:#9B1A48;} + .d2-516966264 .color-B3{color:#D2517F;} + .d2-516966264 .color-B4{color:#EA99B6;} + .d2-516966264 .color-B5{color:#FFDAE7;} + .d2-516966264 .color-B6{color:#FCEDF2;} + .d2-516966264 .color-AA2{color:#D35F0A;} + .d2-516966264 .color-AA4{color:#FABA8A;} + .d2-516966264 .color-AA5{color:#FFE0C7;} + .d2-516966264 .color-AB4{color:#FFE767;} + .d2-516966264 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-516966264);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-516966264);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-516966264);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-516966264);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-516966264);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-516966264);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-516966264);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-516966264);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-516966264);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-516966264);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-516966264);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-516966264);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-516966264);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -process-newsNewsWorkflowFetchNewsPrintHeadlinesMostFrequentAuthors + +process-newsNewsWorkflowFetchNewsPrintHeadlinesMostFrequentAuthors - - - - - + diff --git a/assets/workflows/diagrams/svg/process-news.svg b/assets/workflows/diagrams/svg/process-news.svg index f0d90ba..f66dadc 100644 --- a/assets/workflows/diagrams/svg/process-news.svg +++ b/assets/workflows/diagrams/svg/process-news.svg @@ -1,20 +1,20 @@ - + .d2-2446637869 .fill-N1{fill:#170206;} + .d2-2446637869 .fill-N2{fill:#535152;} + .d2-2446637869 .fill-N3{fill:#787777;} + .d2-2446637869 .fill-N4{fill:#CCCACA;} + .d2-2446637869 .fill-N5{fill:#DFDCDC;} + .d2-2446637869 .fill-N6{fill:#ECEBEB;} + .d2-2446637869 .fill-N7{fill:#FFFFFF;} + .d2-2446637869 .fill-B1{fill:#31021D;} + .d2-2446637869 .fill-B2{fill:#9B1A48;} + .d2-2446637869 .fill-B3{fill:#D2517F;} + .d2-2446637869 .fill-B4{fill:#EA99B6;} + .d2-2446637869 .fill-B5{fill:#FFDAE7;} + .d2-2446637869 .fill-B6{fill:#FCEDF2;} + .d2-2446637869 .fill-AA2{fill:#D35F0A;} + .d2-2446637869 .fill-AA4{fill:#FABA8A;} + .d2-2446637869 .fill-AA5{fill:#FFE0C7;} + .d2-2446637869 .fill-AB4{fill:#FFE767;} + .d2-2446637869 .fill-AB5{fill:#FFF2AA;} + .d2-2446637869 .stroke-N1{stroke:#170206;} + .d2-2446637869 .stroke-N2{stroke:#535152;} + .d2-2446637869 .stroke-N3{stroke:#787777;} + .d2-2446637869 .stroke-N4{stroke:#CCCACA;} + .d2-2446637869 .stroke-N5{stroke:#DFDCDC;} + .d2-2446637869 .stroke-N6{stroke:#ECEBEB;} + .d2-2446637869 .stroke-N7{stroke:#FFFFFF;} + .d2-2446637869 .stroke-B1{stroke:#31021D;} + .d2-2446637869 .stroke-B2{stroke:#9B1A48;} + .d2-2446637869 .stroke-B3{stroke:#D2517F;} + .d2-2446637869 .stroke-B4{stroke:#EA99B6;} + .d2-2446637869 .stroke-B5{stroke:#FFDAE7;} + .d2-2446637869 .stroke-B6{stroke:#FCEDF2;} + .d2-2446637869 .stroke-AA2{stroke:#D35F0A;} + .d2-2446637869 .stroke-AA4{stroke:#FABA8A;} + .d2-2446637869 .stroke-AA5{stroke:#FFE0C7;} + .d2-2446637869 .stroke-AB4{stroke:#FFE767;} + .d2-2446637869 .stroke-AB5{stroke:#FFF2AA;} + .d2-2446637869 .background-color-N1{background-color:#170206;} + .d2-2446637869 .background-color-N2{background-color:#535152;} + .d2-2446637869 .background-color-N3{background-color:#787777;} + .d2-2446637869 .background-color-N4{background-color:#CCCACA;} + .d2-2446637869 .background-color-N5{background-color:#DFDCDC;} + .d2-2446637869 .background-color-N6{background-color:#ECEBEB;} + .d2-2446637869 .background-color-N7{background-color:#FFFFFF;} + .d2-2446637869 .background-color-B1{background-color:#31021D;} + .d2-2446637869 .background-color-B2{background-color:#9B1A48;} + .d2-2446637869 .background-color-B3{background-color:#D2517F;} + .d2-2446637869 .background-color-B4{background-color:#EA99B6;} + .d2-2446637869 .background-color-B5{background-color:#FFDAE7;} + .d2-2446637869 .background-color-B6{background-color:#FCEDF2;} + .d2-2446637869 .background-color-AA2{background-color:#D35F0A;} + .d2-2446637869 .background-color-AA4{background-color:#FABA8A;} + .d2-2446637869 .background-color-AA5{background-color:#FFE0C7;} + .d2-2446637869 .background-color-AB4{background-color:#FFE767;} + .d2-2446637869 .background-color-AB5{background-color:#FFF2AA;} + .d2-2446637869 .color-N1{color:#170206;} + .d2-2446637869 .color-N2{color:#535152;} + .d2-2446637869 .color-N3{color:#787777;} + .d2-2446637869 .color-N4{color:#CCCACA;} + .d2-2446637869 .color-N5{color:#DFDCDC;} + .d2-2446637869 .color-N6{color:#ECEBEB;} + .d2-2446637869 .color-N7{color:#FFFFFF;} + .d2-2446637869 .color-B1{color:#31021D;} + .d2-2446637869 .color-B2{color:#9B1A48;} + .d2-2446637869 .color-B3{color:#D2517F;} + .d2-2446637869 .color-B4{color:#EA99B6;} + .d2-2446637869 .color-B5{color:#FFDAE7;} + .d2-2446637869 .color-B6{color:#FCEDF2;} + .d2-2446637869 .color-AA2{color:#D35F0A;} + .d2-2446637869 .color-AA4{color:#FABA8A;} + .d2-2446637869 .color-AA5{color:#FFE0C7;} + .d2-2446637869 .color-AB4{color:#FFE767;} + .d2-2446637869 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-2446637869);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-2446637869);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-2446637869);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-2446637869);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-2446637869);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-2446637869);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-2446637869);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-2446637869);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-2446637869);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-2446637869);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-2446637869);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-2446637869);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-2446637869);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -process-newsNewsWorkflowFetchNewsPrintHeadlinesMostFrequentAuthors + +process-newsNewsWorkflowFetchNewsPrintHeadlinesMostFrequentAuthors - - - - - + diff --git a/assets/workflows/diagrams/svg/task-states.dark.svg b/assets/workflows/diagrams/svg/task-states.dark.svg index 0b3ff71..92608a8 100644 --- a/assets/workflows/diagrams/svg/task-states.dark.svg +++ b/assets/workflows/diagrams/svg/task-states.dark.svg @@ -1,24 +1,24 @@ - + .d2-3762482038 .fill-N1{fill:#170206;} + .d2-3762482038 .fill-N2{fill:#535152;} + .d2-3762482038 .fill-N3{fill:#787777;} + .d2-3762482038 .fill-N4{fill:#CCCACA;} + .d2-3762482038 .fill-N5{fill:#DFDCDC;} + .d2-3762482038 .fill-N6{fill:#ECEBEB;} + .d2-3762482038 .fill-N7{fill:#FFFFFF;} + .d2-3762482038 .fill-B1{fill:#31021D;} + .d2-3762482038 .fill-B2{fill:#9B1A48;} + .d2-3762482038 .fill-B3{fill:#D2517F;} + .d2-3762482038 .fill-B4{fill:#EA99B6;} + .d2-3762482038 .fill-B5{fill:#FFDAE7;} + .d2-3762482038 .fill-B6{fill:#FCEDF2;} + .d2-3762482038 .fill-AA2{fill:#D35F0A;} + .d2-3762482038 .fill-AA4{fill:#FABA8A;} + .d2-3762482038 .fill-AA5{fill:#FFE0C7;} + .d2-3762482038 .fill-AB4{fill:#FFE767;} + .d2-3762482038 .fill-AB5{fill:#FFF2AA;} + .d2-3762482038 .stroke-N1{stroke:#170206;} + .d2-3762482038 .stroke-N2{stroke:#535152;} + .d2-3762482038 .stroke-N3{stroke:#787777;} + .d2-3762482038 .stroke-N4{stroke:#CCCACA;} + .d2-3762482038 .stroke-N5{stroke:#DFDCDC;} + .d2-3762482038 .stroke-N6{stroke:#ECEBEB;} + .d2-3762482038 .stroke-N7{stroke:#FFFFFF;} + .d2-3762482038 .stroke-B1{stroke:#31021D;} + .d2-3762482038 .stroke-B2{stroke:#9B1A48;} + .d2-3762482038 .stroke-B3{stroke:#D2517F;} + .d2-3762482038 .stroke-B4{stroke:#EA99B6;} + .d2-3762482038 .stroke-B5{stroke:#FFDAE7;} + .d2-3762482038 .stroke-B6{stroke:#FCEDF2;} + .d2-3762482038 .stroke-AA2{stroke:#D35F0A;} + .d2-3762482038 .stroke-AA4{stroke:#FABA8A;} + .d2-3762482038 .stroke-AA5{stroke:#FFE0C7;} + .d2-3762482038 .stroke-AB4{stroke:#FFE767;} + .d2-3762482038 .stroke-AB5{stroke:#FFF2AA;} + .d2-3762482038 .background-color-N1{background-color:#170206;} + .d2-3762482038 .background-color-N2{background-color:#535152;} + .d2-3762482038 .background-color-N3{background-color:#787777;} + .d2-3762482038 .background-color-N4{background-color:#CCCACA;} + .d2-3762482038 .background-color-N5{background-color:#DFDCDC;} + .d2-3762482038 .background-color-N6{background-color:#ECEBEB;} + .d2-3762482038 .background-color-N7{background-color:#FFFFFF;} + .d2-3762482038 .background-color-B1{background-color:#31021D;} + .d2-3762482038 .background-color-B2{background-color:#9B1A48;} + .d2-3762482038 .background-color-B3{background-color:#D2517F;} + .d2-3762482038 .background-color-B4{background-color:#EA99B6;} + .d2-3762482038 .background-color-B5{background-color:#FFDAE7;} + .d2-3762482038 .background-color-B6{background-color:#FCEDF2;} + .d2-3762482038 .background-color-AA2{background-color:#D35F0A;} + .d2-3762482038 .background-color-AA4{background-color:#FABA8A;} + .d2-3762482038 .background-color-AA5{background-color:#FFE0C7;} + .d2-3762482038 .background-color-AB4{background-color:#FFE767;} + .d2-3762482038 .background-color-AB5{background-color:#FFF2AA;} + .d2-3762482038 .color-N1{color:#170206;} + .d2-3762482038 .color-N2{color:#535152;} + .d2-3762482038 .color-N3{color:#787777;} + .d2-3762482038 .color-N4{color:#CCCACA;} + .d2-3762482038 .color-N5{color:#DFDCDC;} + .d2-3762482038 .color-N6{color:#ECEBEB;} + .d2-3762482038 .color-N7{color:#FFFFFF;} + .d2-3762482038 .color-B1{color:#31021D;} + .d2-3762482038 .color-B2{color:#9B1A48;} + .d2-3762482038 .color-B3{color:#D2517F;} + .d2-3762482038 .color-B4{color:#EA99B6;} + .d2-3762482038 .color-B5{color:#FFDAE7;} + .d2-3762482038 .color-B6{color:#FCEDF2;} + .d2-3762482038 .color-AA2{color:#D35F0A;} + .d2-3762482038 .color-AA4{color:#FABA8A;} + .d2-3762482038 .color-AA5{color:#FFE0C7;} + .d2-3762482038 .color-AB4{color:#FFE767;} + .d2-3762482038 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3762482038);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3762482038);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-3762482038);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-3762482038);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3762482038);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3762482038);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3762482038);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3762482038);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3762482038);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-3762482038);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3762482038);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3762482038);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3762482038);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -task-statesMyTaskQueuedTaskRunningTaskComputedTaskFailedTask - - - - - - - + +task-statesComputedRootTaskQueuedTaskRunningTaskComputedTaskRunningLeafTaskCompletedTaskCompletedLeafTaskFailedTask + + diff --git a/assets/workflows/diagrams/svg/task-states.svg b/assets/workflows/diagrams/svg/task-states.svg index 3492d01..5387103 100644 --- a/assets/workflows/diagrams/svg/task-states.svg +++ b/assets/workflows/diagrams/svg/task-states.svg @@ -1,24 +1,24 @@ - + .d2-1911235356 .fill-N1{fill:#170206;} + .d2-1911235356 .fill-N2{fill:#535152;} + .d2-1911235356 .fill-N3{fill:#787777;} + .d2-1911235356 .fill-N4{fill:#CCCACA;} + .d2-1911235356 .fill-N5{fill:#DFDCDC;} + .d2-1911235356 .fill-N6{fill:#ECEBEB;} + .d2-1911235356 .fill-N7{fill:#FFFFFF;} + .d2-1911235356 .fill-B1{fill:#31021D;} + .d2-1911235356 .fill-B2{fill:#9B1A48;} + .d2-1911235356 .fill-B3{fill:#D2517F;} + .d2-1911235356 .fill-B4{fill:#EA99B6;} + .d2-1911235356 .fill-B5{fill:#FFDAE7;} + .d2-1911235356 .fill-B6{fill:#FCEDF2;} + .d2-1911235356 .fill-AA2{fill:#D35F0A;} + .d2-1911235356 .fill-AA4{fill:#FABA8A;} + .d2-1911235356 .fill-AA5{fill:#FFE0C7;} + .d2-1911235356 .fill-AB4{fill:#FFE767;} + .d2-1911235356 .fill-AB5{fill:#FFF2AA;} + .d2-1911235356 .stroke-N1{stroke:#170206;} + .d2-1911235356 .stroke-N2{stroke:#535152;} + .d2-1911235356 .stroke-N3{stroke:#787777;} + .d2-1911235356 .stroke-N4{stroke:#CCCACA;} + .d2-1911235356 .stroke-N5{stroke:#DFDCDC;} + .d2-1911235356 .stroke-N6{stroke:#ECEBEB;} + .d2-1911235356 .stroke-N7{stroke:#FFFFFF;} + .d2-1911235356 .stroke-B1{stroke:#31021D;} + .d2-1911235356 .stroke-B2{stroke:#9B1A48;} + .d2-1911235356 .stroke-B3{stroke:#D2517F;} + .d2-1911235356 .stroke-B4{stroke:#EA99B6;} + .d2-1911235356 .stroke-B5{stroke:#FFDAE7;} + .d2-1911235356 .stroke-B6{stroke:#FCEDF2;} + .d2-1911235356 .stroke-AA2{stroke:#D35F0A;} + .d2-1911235356 .stroke-AA4{stroke:#FABA8A;} + .d2-1911235356 .stroke-AA5{stroke:#FFE0C7;} + .d2-1911235356 .stroke-AB4{stroke:#FFE767;} + .d2-1911235356 .stroke-AB5{stroke:#FFF2AA;} + .d2-1911235356 .background-color-N1{background-color:#170206;} + .d2-1911235356 .background-color-N2{background-color:#535152;} + .d2-1911235356 .background-color-N3{background-color:#787777;} + .d2-1911235356 .background-color-N4{background-color:#CCCACA;} + .d2-1911235356 .background-color-N5{background-color:#DFDCDC;} + .d2-1911235356 .background-color-N6{background-color:#ECEBEB;} + .d2-1911235356 .background-color-N7{background-color:#FFFFFF;} + .d2-1911235356 .background-color-B1{background-color:#31021D;} + .d2-1911235356 .background-color-B2{background-color:#9B1A48;} + .d2-1911235356 .background-color-B3{background-color:#D2517F;} + .d2-1911235356 .background-color-B4{background-color:#EA99B6;} + .d2-1911235356 .background-color-B5{background-color:#FFDAE7;} + .d2-1911235356 .background-color-B6{background-color:#FCEDF2;} + .d2-1911235356 .background-color-AA2{background-color:#D35F0A;} + .d2-1911235356 .background-color-AA4{background-color:#FABA8A;} + .d2-1911235356 .background-color-AA5{background-color:#FFE0C7;} + .d2-1911235356 .background-color-AB4{background-color:#FFE767;} + .d2-1911235356 .background-color-AB5{background-color:#FFF2AA;} + .d2-1911235356 .color-N1{color:#170206;} + .d2-1911235356 .color-N2{color:#535152;} + .d2-1911235356 .color-N3{color:#787777;} + .d2-1911235356 .color-N4{color:#CCCACA;} + .d2-1911235356 .color-N5{color:#DFDCDC;} + .d2-1911235356 .color-N6{color:#ECEBEB;} + .d2-1911235356 .color-N7{color:#FFFFFF;} + .d2-1911235356 .color-B1{color:#31021D;} + .d2-1911235356 .color-B2{color:#9B1A48;} + .d2-1911235356 .color-B3{color:#D2517F;} + .d2-1911235356 .color-B4{color:#EA99B6;} + .d2-1911235356 .color-B5{color:#FFDAE7;} + .d2-1911235356 .color-B6{color:#FCEDF2;} + .d2-1911235356 .color-AA2{color:#D35F0A;} + .d2-1911235356 .color-AA4{color:#FABA8A;} + .d2-1911235356 .color-AA5{color:#FFE0C7;} + .d2-1911235356 .color-AB4{color:#FFE767;} + .d2-1911235356 .color-AB5{color:#FFF2AA;}.appendix text.text{fill:#170206}.md{--color-fg-default:#170206;--color-fg-muted:#535152;--color-fg-subtle:#787777;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#ECEBEB;--color-border-default:#31021D;--color-border-muted:#9B1A48;--color-neutral-muted:#ECEBEB;--color-accent-fg:#9B1A48;--color-accent-emphasis:#9B1A48;--color-attention-subtle:#535152;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1911235356);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1911235356);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-dark-d2-1911235356);mix-blend-mode:overlay}.sketch-overlay-B4{fill:url(#streaks-normal-d2-1911235356);mix-blend-mode:color-burn}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1911235356);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-1911235356);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-1911235356);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1911235356);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1911235356);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-dark-d2-1911235356);mix-blend-mode:overlay}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1911235356);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-1911235356);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1911235356);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]> - + + - + + - + + -task-statesMyTaskQueuedTaskRunningTaskComputedTaskFailedTask - - - - - - - + +task-statesComputedRootTaskQueuedTaskRunningTaskComputedTaskRunningLeafTaskCompletedTaskCompletedLeafTaskFailedTask + + diff --git a/assets/workflows/diagrams/task-states.d2 b/assets/workflows/diagrams/task-states.d2 index 7ecf2a6..c442410 100644 --- a/assets/workflows/diagrams/task-states.d2 +++ b/assets/workflows/diagrams/task-states.d2 @@ -7,7 +7,8 @@ vars: { } } -style.fill: "#fcf9fa" +style.fill: "#FCF9FA" +style.stroke: "#170206" direction: down title: { @@ -15,29 +16,61 @@ title: { near: top-center shape: text style.font-size: 30 - style.font-color: "black" + style.font-color: "#170206" } my-task: { - label: "MyTask" - style.fill: HoneyDew + label: "ComputedRootTask" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } queued-task: { label: "QueuedTask" - style.fill: LavenderBlush + style.fill: "#FFF0F5" + style.stroke: "#504448" + style.font-color: "#000000" } -my-task -> queued-task +my-task -> queued-task: {style.stroke: "#170206"} running-task: { label: "RunningTask" - style.fill: PaleTurquoise + style.fill: "#AFEEEE" + style.stroke: "#0e5253" + style.font-color: "#000000" } -my-task -> running-task +my-task -> running-task: {style.stroke: "#170206"} computed-task: { label: "ComputedTask" - style.fill: HoneyDew + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" } -my-task -> computed-task +my-task -> computed-task: {style.stroke: "#170206"} +computed-task-child: { + label: "RunningLeafTask" + style.fill: "#AFEEEE" + style.stroke: "#0e5253" + style.font-color: "#000000" +} +computed-task -> computed-task-child: {style.stroke: "#170206"} +completed-task: { + label: "CompletedTask" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} +my-task -> completed-task: {style.stroke: "#170206"} +completed-task-child: { + label: "CompletedLeafTask" + style.fill: "#F0FFF0" + style.stroke: "#3F4B40" + style.font-color: "#000000" +} +completed-task -> completed-task-child: {style.stroke: "#170206"} + failed-task: { label: "FailedTask" - style.fill: Salmon + style.fill: "#FA8072" + style.stroke: "#4A1511" + style.font-color: "#000000" } -my-task -> failed-task +my-task -> failed-task: {style.stroke: "#170206"} diff --git a/assets/workflows/job_states/canceled.dark.svg b/assets/workflows/job_states/canceled.dark.svg new file mode 100644 index 0000000..dc94436 --- /dev/null +++ b/assets/workflows/job_states/canceled.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/canceled.svg b/assets/workflows/job_states/canceled.svg new file mode 100644 index 0000000..dc94436 --- /dev/null +++ b/assets/workflows/job_states/canceled.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/completed.dark.svg b/assets/workflows/job_states/completed.dark.svg new file mode 100644 index 0000000..0a2eb92 --- /dev/null +++ b/assets/workflows/job_states/completed.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/completed.svg b/assets/workflows/job_states/completed.svg new file mode 100644 index 0000000..0a2eb92 --- /dev/null +++ b/assets/workflows/job_states/completed.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/failed.dark.svg b/assets/workflows/job_states/failed.dark.svg new file mode 100644 index 0000000..2c242b1 --- /dev/null +++ b/assets/workflows/job_states/failed.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/failed.svg b/assets/workflows/job_states/failed.svg new file mode 100644 index 0000000..2c242b1 --- /dev/null +++ b/assets/workflows/job_states/failed.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/running.dark.svg b/assets/workflows/job_states/running.dark.svg new file mode 100644 index 0000000..94593b9 --- /dev/null +++ b/assets/workflows/job_states/running.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/running.svg b/assets/workflows/job_states/running.svg new file mode 100644 index 0000000..31e04a1 --- /dev/null +++ b/assets/workflows/job_states/running.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/started.dark.svg b/assets/workflows/job_states/started.dark.svg new file mode 100644 index 0000000..2c68787 --- /dev/null +++ b/assets/workflows/job_states/started.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/started.svg b/assets/workflows/job_states/started.svg new file mode 100644 index 0000000..3b27f37 --- /dev/null +++ b/assets/workflows/job_states/started.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/submitted.dark.svg b/assets/workflows/job_states/submitted.dark.svg new file mode 100644 index 0000000..646ddea --- /dev/null +++ b/assets/workflows/job_states/submitted.dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/job_states/submitted.svg b/assets/workflows/job_states/submitted.svg new file mode 100644 index 0000000..4392b6b --- /dev/null +++ b/assets/workflows/job_states/submitted.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/workflows/rich-job-display-dark.png b/assets/workflows/rich-job-display-dark.png new file mode 100644 index 0000000..b6a28e3 Binary files /dev/null and b/assets/workflows/rich-job-display-dark.png differ diff --git a/assets/workflows/rich-job-display-light.png b/assets/workflows/rich-job-display-light.png new file mode 100644 index 0000000..9baf345 Binary files /dev/null and b/assets/workflows/rich-job-display-light.png differ diff --git a/changelog.mdx b/changelog.mdx index 0c71bbb..4de15ec 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -4,6 +4,41 @@ description: New features, updates and improvements icon: rss --- + + ## Job List View: Complete Redesign and Filtering Improvements + + + ![Job List View Improvements](/assets/changelog/2025-11-job-list-view.png) + + + The job list view in the Tilebox Console has been completely redesigned: + - Infinite scrolling for long job lists + - Improved filtering and search + - Filter by state + - Filter by automation + - Filter by time range + - Filter by name + - Or an arbitrary combination of the above + - Better readability and organization + - Added progress indicators + - Added execution stats + - The same new filter options are also available in our [Language SDKs](/sdks) + + + + ## Spatio-Temporal Explorer Redesign + + + ![Console Improvements](/assets/changelog/2025-10-spatio-temporal-explorer.png) + + + The dataset explorer in the Tilebox Console has received a major upgrade for spatio-temporal datasets: + - Overhaul of the Explorer view for Spatio-temporal datasets + - Display datapoint footprints directly on the map + - Display thumbnails and quicklooks of datapoints directly in the Console + - Added code snippet for storage access to the `Export as Code` dialog + + ## Progress Indicators diff --git a/workflows/concepts/jobs.mdx b/workflows/concepts/jobs.mdx index b05e01c..4b337f3 100644 --- a/workflows/concepts/jobs.mdx +++ b/workflows/concepts/jobs.mdx @@ -176,13 +176,47 @@ job, err := client.Jobs.Get(ctx, uuid.MustParse("018dd029-58ca-74e5-8b58-b4f99d6 `find` is also a useful tool for fetching a jobs state after a while, to check if it's still running or has already completed. +In interactive environments such as Jupyter notebooks, the job object also provides a rich display of the job's state and progress, if it's used as the last expression in a cell. + + + Job display in a Jupyter notebook + Job display in a Jupyter notebook + + ## States -A job can be in one of the following states: +Every Job is always in exactly one of the following states: + +
+
Job submitted Submitted
+
The Job hasn't started yet, all it's tasks are queued and it wasn't canceled by the user.
+
+
+
Job submitted Running
+
At least one task of the job is currently running.
+
+
+
Job submitted Started
+
The job has started, some tasks are already `COMPUTED`, but others are still `QUEUED`, waiting for an [eligible task runner](/workflows/concepts/task-runners#task-selection) to pick them up. However no task is currently `RUNNING`.
+
+
+
Job submitted Completed
+
The job has successfully completed. Every task of the job succeeded and is `COMPUTED`.
+
+
+
Job submitted Failed
+
At least one task of the job has failed, causing the execution of the remaining tasks to be halted. You can [retry](#retries) the job to resume execution from the point of failure.
+
+
+
Job submitted Canceled
+
The job was canceled upon user request. You can [retry](#retries) the job to resume execution from the point of cancellation.
+
-- `QUEUED`: the job is queued and waiting for execution -- `STARTED`: at least one task of the job has been started -- `COMPLETED`: all tasks of the job have been completed + + The state of a job is determined by the states of all it's tasks. For a list of possible task states, see the [task state](/workflows/concepts/tasks#task-states) documentation. + + +You can programmatically check the state of a job by inspecting it's `state` field. ```python Python @@ -190,17 +224,17 @@ from tilebox.workflows.data import JobState job = job_client.find("018dd029-58ca-74e5-8b58-b4f99d610f9a") -print("Job is queued:", job.state == JobState.QUEUED) +print("Job is running:", job.state == JobState.RUNNING) ``` ```go Go job, err := client.Jobs.Get(ctx, uuid.MustParse("018dd029-58ca-74e5-8b58-b4f99d610f9a")) -fmt.Println("Job is queued:", job.State == workflows.JobQueued) +fmt.Println("Job is running:", job.State == workflows.JobRunning) ``` ```plaintext Output -Job is queued: True +Job is running: True ``` ## Visualization @@ -223,22 +257,13 @@ job_client.display(job) ``` -The following diagram represents the job execution as a graph. Each task is shown as a node, with edges indicating sub-task relationships. The diagram also uses color coding to display the status of each task. +The following diagram represents the job execution as a graph. Each task is shown as a node, with edges indicating sub-task relationships. The diagram also uses color coding to display the state of each task. Color coding of task states Color coding of task states -The color codes for task states are: - -| Task State | Color | Description | -|------------|-------|-------------| -| Queued | SalmonYellow | The task is queued and waiting for execution. | -| Running | Blue | The task is currently being executed. | -| Computed | Green | The task has successfully been computed. If a task is computed, and all it's sub-tasks are also computed, the task is considered completed. | -| Failed | Red | The task has been executed but encountered an error. | - Below is another visualization of a job currently being executed by multiple task runners. @@ -246,9 +271,9 @@ Below is another visualization of a job currently being executed by multiple tas Job being executed by multiple runners -This visualization shows: +From the diagram, the following can be inferred: -- The root task, `MyTask`, has executed and spawned three sub-tasks. +- The root task, `MyTask`, has been executed, is marked as `COMPUTED` and submitted three sub-tasks. - At least three task runners are available, as three tasks currently are executed simultaneously. - The `SubTask` that is still executing has not generated any sub-tasks yet, as sub-tasks are queued for execution only after the parent task finishes and becomes computed. - The queued `DependentTask` requires the `LeafTask` to complete before it can be executed. diff --git a/workflows/concepts/tasks.mdx b/workflows/concepts/tasks.mdx index 2efb8f9..d5697cf 100644 --- a/workflows/concepts/tasks.mdx +++ b/workflows/concepts/tasks.mdx @@ -354,18 +354,118 @@ In total, six tasks are executed: the `DownloadRandomDogImages` task and five `D Check out [job_client.display](/workflows/concepts/jobs#visualization) to learn how this visualization was automatically generated from the task executions. -Currently, a limit of `64` subtasks per task is in place to discourage creating workflows where individual parent tasks submit a large number of subtasks, which can lead to performance issues since those parent tasks are not parallelized. If you need to submit more than `64` subtasks, consider using [recursive subtask submission](#recursive-subtasks) instead. +## Task States -## Recursive subtasks +Every task goes through a set of states during its lifetime. When submitted, either as a job or as a subtask, it starts in the `QUEUED` state and transitions to `RUNNING` when a task runner picks it up. If the task executes successfully, it transitions to `COMPUTED`. If the task fails, it transitions to `FAILED`. +As soon as all subtasks of a task are also `COMPUTED`, the task is considered `COMPLETED`, allowing dependent tasks to be executed. +The table below summarizes the different task states and their meanings. + +| Task State | Description | +|------------|-------------| +| **Queued** | The task is queued and waiting for execution. Any [eligible](/workflows/concepts/task-runners#task-selection) task runner can pick it up and execute it, as soon as it's parent task is `COMPUTED` and all it's dependencies are `COMPLETED`. | +| **Running** | The task is currently being executed by a task runner. | +| **Computed** | The task has successfully been computed, but still has outstanding subtasks. | +| **Completed** | The task has successfully been computed, and all it's subtasks are also computed, making it `COMPLETED`. This is the final state of a task. Only once a task has been `COMPLETED`, dependent tasks can be executed. | +| **Failed** | The task has been executed but encountered an error. | + + + Task States + Task States + + +## Map-Reduce Pattern +Often times the input to a task is a list, with elements that should then be **mapped** to individual subtasks, whose results are later aggregated in a **reduce** step. This pattern is commonly known as [MapReduce](https://en.wikipedia.org/wiki/MapReduce) and a common pattern in workflows. In Tilebox, the reduce step is typically defined as a separate task that depends on all the map tasks. + +For example, the workflow below applies this pattern to a list of numbers to calculate the sum of all squares of the numbers. The `Square` task takes a single number and squares it, and the `Sum` task reduces the list of squared numbers to a single sum. + + +```python Python +class SumOfSquares(Task): + numbers: list[int] + + def execute(self, context: ExecutionContext) -> None: + # 1. Map + square_tasks = context.submit_subtasks( + [Square(num) for num in self.numbers] + ) + # 2. Reduce + sum_task = context.submit_subtask(Sum(), depends_on=square_tasks) + + +class Square(Task): # The map step + num: int + + def execute(self, context: ExecutionContext) -> None: + result = self.num ** 2 + # typically the output of a task is a large dataset, + # so we save individual results into a shared cache + context.job_cache.group("squares")[str(self.num)] = str(result).encode() + context.current_task.display = f"Square({self.num})" + +class Sum(Task): # The reduce step + def execute(self, context: ExecutionContext) -> None: + result = 0 + # access our cached results from the map step + squares = context.job_cache.group("squares") + for key in squares: + result += int(squares[key].decode()) + + print("Sum of squares is:", result) +``` + -Tasks can submit other tasks as subtasks, allowing for complex workflows. Sometimes the input to a task is a list, with elements that can be **mapped** to individual subtasks, whose outputs are then aggregated in a **reduce** step. This pattern is commonly known as **MapReduce**. +Submitting a job of the `SumOfSquares` task and running it with a task runner can be done as follows: -Often times the initial map step—submitting the individual subtasks—might already be an expensive operation. Since this is executed within a single task, it's not parallelizable, which can bottleneck the entire workflow. + +```python Python +from tilebox.workflows import Client +from tilebox.workflows.cache import InMemoryCache + +client = Client() +jobs = client.jobs() +job = jobs.submit( + "sum-of-squares", + SumOfSquares([12, 345, 453, 21, 45, 98]), +) -Fortunately, Tilebox Workflows offers a solution through **recursive subtask submission**. A task can submit instances of itself as subtasks, enabling a recursive breakdown into smaller tasks. +client.runner(tasks=[SumOfSquares, Square, Sum], cache=InMemoryCache()).run_all() +jobs.display(job) +``` + + +```plaintext Output +Sum of squares is: 336448 +``` + + + Sum of squares workflow using the map-reduce pattern + Sum of squares workflow using the map-reduce pattern + + +## Recursive subtasks + +Tasks can not only submit other tasks as subtasks, but also instances of themselves. This allows for a recursive breakdown of a task into smaller chunks. Such recursive decomposition algorithms are referred to as [divide and conquer algorithms](https://en.wikipedia.org/wiki/Divide-and-conquer_algorithm). For example, the `RecursiveTask` below is a valid task that submits smaller instances of itself as subtasks. +When implementing a recursive task, it's important to define a base case that stops the recursion. Otherwise, the task will keep submitting subtasks indefinitely, resulting in an infinite loop. + ```python Python class RecursiveTask(Task): @@ -373,6 +473,7 @@ For example, the `RecursiveTask` below is a valid task that submits smaller inst def execute(self, context: ExecutionContext) -> None: print(f"Executing RecursiveTask with num={self.num}") + # if num < 2, we reached the base case and stop recursion if self.num >= 2: context.submit_subtask(RecursiveTask(self.num // 2)) ``` @@ -383,6 +484,7 @@ For example, the `RecursiveTask` below is a valid task that submits smaller inst func (t *RecursiveTask) Execute(ctx context.Context) error { slog.Info("Executing RecursiveTask", slog.Int("num", t.Num)) + // if num < 2, we reached the base case and stop recursion if t.Num >= 2 { _, err := workflows.SubmitSubtask(ctx, &RecursiveTask{Num: t.Num / 2}) if err != nil { diff --git a/workflows/progress.mdx b/workflows/progress.mdx index 1b60277..e8b93b5 100644 --- a/workflows/progress.mdx +++ b/workflows/progress.mdx @@ -2,7 +2,6 @@ title: Progress description: Add progress indicators to provide visibility into the execution of a job icon: bars-progress -tag: NEW --- Tilebox supports user-defined progress indicators during the execution of a job. This can be useful to provide visibility into the execution and the expected duration of a job, especially for longer running jobs.