diff --git a/web/src/lib/components/workspace/StepEditor.svelte b/web/src/lib/components/workspace/StepEditor.svelte
new file mode 100644
index 0000000..8d439b2
--- /dev/null
+++ b/web/src/lib/components/workspace/StepEditor.svelte
@@ -0,0 +1,41 @@
+
+
+{#if tool}
+
+
{tool.title}
+
{tool.description}
+ {#if tool.params.length > 0}
+
+ {:else}
+
У этого шага нет параметров.
+ {/if}
+
+{/if}
+
+
diff --git a/web/src/lib/components/workspace/StepList.svelte b/web/src/lib/components/workspace/StepList.svelte
new file mode 100644
index 0000000..529e7af
--- /dev/null
+++ b/web/src/lib/components/workspace/StepList.svelte
@@ -0,0 +1,128 @@
+
+
+{#if steps.length === 0}
+ Цепочка пуста — добавьте первый инструмент.
+{:else}
+
+ {#each steps as step, index (step.id)}
+ -
+
+
+
+
+
+
+
+ {/each}
+
+{/if}
+
+
diff --git a/web/src/lib/components/workspace/StepPicker.svelte b/web/src/lib/components/workspace/StepPicker.svelte
new file mode 100644
index 0000000..4a38ccf
--- /dev/null
+++ b/web/src/lib/components/workspace/StepPicker.svelte
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte
index fcbc68f..a49710e 100644
--- a/web/src/routes/+layout.svelte
+++ b/web/src/routes/+layout.svelte
@@ -14,6 +14,7 @@
easy-png-tools