From bbb469e25ecc06c08ac9b8d8d28bcd75069807a1 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Sat, 29 Aug 2026 02:46:51 +0200 Subject: [PATCH] task(G3): title block with attributes - frame + attributed texts (ATTDEF convention), auto-insert as layout frame block --- frontend/src/components/LayoutBar.tsx | 16 +++ frontend/src/kernel/document/CADDocument.ts | 14 +- frontend/src/services/titleBlockService.ts | 146 ++++++++++++++++++++ frontend/src/styles.css | 11 ++ frontend/tests/titleBlock.test.ts | 99 +++++++++++++ 5 files changed, 285 insertions(+), 1 deletion(-) create mode 100644 frontend/src/services/titleBlockService.ts create mode 100644 frontend/tests/titleBlock.test.ts diff --git a/frontend/src/components/LayoutBar.tsx b/frontend/src/components/LayoutBar.tsx index 59d33fd..8207f86 100644 --- a/frontend/src/components/LayoutBar.tsx +++ b/frontend/src/components/LayoutBar.tsx @@ -9,6 +9,7 @@ import React, { useCallback, useEffect, useState } from 'react'; import type { LayoutDefinition } from '../types/cad.types'; import { getActiveDocument, onActiveDocumentChanged } from '../kernel/document/documentService'; +import { insertTitleBlockForLayout } from '../services/titleBlockService'; export interface LayoutView { center: { x: number; y: number }; @@ -172,6 +173,21 @@ const LayoutBar: React.FC = ({ doc: docProp, bridge: bridgeProp {l.name} +