From d1fdfb140cc440664f77a24886172f9976a05a31 Mon Sep 17 00:00:00 2001
From: soryu <soryu@soryu.co>
Date: Tue, 28 Apr 2026 19:12:52 +0100
Subject: feat: revert broken directive PRs, re-implement Lexical document
 orchestrator (#98)

* feat: soryu-co/soryu - makima: Revert broken directive PRs and verify clean build

* feat: soryu-co/soryu - makima: Re-implement frontend: Lexical document editor with feature flag and base components

* WIP: heartbeat checkpoint

* feat: soryu-co/soryu - makima: Add contract blocks, expandable log rows, and interaction controls

* WIP: heartbeat checkpoint

* feat: soryu-co/soryu - makima: End-to-end build verification and integration polish
---
 .../components/document/nodes/StepsDiagramNode.tsx | 91 ----------------------
 1 file changed, 91 deletions(-)
 delete mode 100644 frontend/src/components/document/nodes/StepsDiagramNode.tsx

(limited to 'frontend/src/components/document/nodes/StepsDiagramNode.tsx')

diff --git a/frontend/src/components/document/nodes/StepsDiagramNode.tsx b/frontend/src/components/document/nodes/StepsDiagramNode.tsx
deleted file mode 100644
index 8b37f52..0000000
--- a/frontend/src/components/document/nodes/StepsDiagramNode.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import {
-  DecoratorNode,
-  DOMExportOutput,
-  LexicalNode,
-  NodeKey,
-  SerializedLexicalNode,
-  Spread,
-} from 'lexical';
-import React from 'react';
-import { StepsDiagramComponent } from './StepsDiagramComponent';
-
-export type SerializedStepsDiagramNode = Spread<
-  {
-    directiveId: string;
-  },
-  SerializedLexicalNode
->;
-
-export class StepsDiagramNode extends DecoratorNode<JSX.Element> {
-  __directiveId: string;
-
-  static getType(): string {
-    return 'steps-diagram';
-  }
-
-  static clone(node: StepsDiagramNode): StepsDiagramNode {
-    return new StepsDiagramNode(node.__directiveId, node.__key);
-  }
-
-  constructor(directiveId: string, key?: NodeKey) {
-    super(key);
-    this.__directiveId = directiveId;
-  }
-
-  createDOM(): HTMLElement {
-    const div = document.createElement('div');
-    div.className = 'steps-diagram-block';
-    return div;
-  }
-
-  updateDOM(): boolean {
-    return false;
-  }
-
-  decorate(): JSX.Element {
-    return <StepsDiagramComponent directiveId={this.__directiveId} />;
-  }
-
-  exportJSON(): SerializedStepsDiagramNode {
-    return {
-      ...super.exportJSON(),
-      type: 'steps-diagram',
-      directiveId: this.__directiveId,
-      version: 1,
-    };
-  }
-
-  static importJSON(serializedNode: SerializedStepsDiagramNode): StepsDiagramNode {
-    return $createStepsDiagramNode(serializedNode.directiveId);
-  }
-
-  isInline(): boolean {
-    return false;
-  }
-
-  canInsertTextBefore(): boolean {
-    return false;
-  }
-
-  canInsertTextAfter(): boolean {
-    return false;
-  }
-
-  exportDOM(): DOMExportOutput {
-    const element = document.createElement('div');
-    element.className = 'steps-diagram-block';
-    element.setAttribute('data-directive-id', this.__directiveId);
-    element.textContent = '[Steps Diagram]';
-    return { element };
-  }
-}
-
-export function $createStepsDiagramNode(directiveId: string): StepsDiagramNode {
-  return new StepsDiagramNode(directiveId);
-}
-
-export function $isStepsDiagramNode(
-  node: LexicalNode | null | undefined,
-): node is StepsDiagramNode {
-  return node instanceof StepsDiagramNode;
-}
-- 
cgit v1.2.3

