Re: [rfc-i] getting SVG of RFC diagrams

Paul Kyzivat <pkyzivat@alum.mit.edu> Sun, 26 November 2023 18:45 UTC

Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: rfc-interest@ietfa.amsl.com
Delivered-To: rfc-interest@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B0F3C14CE44 for <rfc-interest@ietfa.amsl.com>; Sun, 26 Nov 2023 10:45:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.008
X-Spam-Level:
X-Spam-Status: No, score=-7.008 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=alum.mit.edu
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4juJqv0t8oh0 for <rfc-interest@ietfa.amsl.com>; Sun, 26 Nov 2023 10:45:01 -0800 (PST)
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e89::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 59E55C14CE25 for <rfc-interest@rfc-editor.org>; Sun, 26 Nov 2023 10:45:00 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fz3Cu7IQkcXfy4j+bju7pZl8/5ehIY+Qh+bWwLXgHEDnatf76GVYjlBAiBw8li7NjFbWBZ4EHnPyyqhEQKbqjyU1+0YYipGycQrHIsZfVgkHd6WlWIl9XU9AQz1P2y1L9wqNBrUOJRz9w/Sh6Pl+MbpZUEw24FY9TH3Qb9GuyXgx6HOY++/O5WQsZcE/ixzLOnjn40GuzmL3bNey/0cxPn8D4hcE2KJHbpld0jra4dnTe0sN7jsyKsEzjdn0YDBvB2kYA2/jLKZvA4iC5utaC+2Ru0SkbX+TRWY37eE8XIBmJPNvT1ZuJKqK3rILUPGgDK0g9a3vz9uSKZORXQIYQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HKb3/7VwqIqRhpmv2IBH19ZKBy37azFtQwVtq0YBJ/k=; b=ZZJS+h29/wsrKPzaqHyN+9bAGe5C1TR5AeeqjQE8a99CQknqsbF/98s1So0E0ldt69W7tfKHHbgP383QnhYpINnBdeLXS1sqEriEvbMFwsyA/WeRWHMMgn56IIwp4SvNPtGhFf/4bguNxw7lJrRsvHv6uCxnz+sov7YEMCbvxM61S8f+QCw8L+uy3r6IWuy7sja95rdk4HKfq4Qp51wAp+ZnJlEjFBpj3CiWN49xde8wCqnTKTCBqtwFZwUkEBRm7M1IT6sDUpvgloqaZndY7IqlOcmwKRibsnXfcU/LmBxm+m22zBeVzs37Z5CHeM9yV3Sm8Z9YUGyle4GIt8JX6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=rfc-editor.org smtp.mailfrom=alum.mit.edu; dmarc=pass (p=none sp=none pct=100) action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none (0)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HKb3/7VwqIqRhpmv2IBH19ZKBy37azFtQwVtq0YBJ/k=; b=G8jD4M+LZ9LrtMNZQw1FwuuMV2BjEYAPsnZb/4d8RvCNSk8p/RU7eFyB1fLFI7VnLkTKLa56/rvh5bFcHK80aSRnpzSPAh1h3LXbCUy+tzxkw/TtTmNwi19rZE13M1A3og/wsf18qlj4YcKs/J+u5niftwG6ElayQMmUIwcpLIQ=
Received: from CH0P223CA0017.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:116::13) by DS0PR12MB7727.namprd12.prod.outlook.com (2603:10b6:8:135::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Sun, 26 Nov 2023 18:44:57 +0000
Received: from DS3PEPF000099E0.namprd04.prod.outlook.com (2603:10b6:610:116:cafe::db) by CH0P223CA0017.outlook.office365.com (2603:10b6:610:116::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend Transport; Sun, 26 Nov 2023 18:44:57 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu; pr=C
Received: from outgoing-alum.mit.edu (18.7.68.33) by DS3PEPF000099E0.mail.protection.outlook.com (10.167.17.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.17 via Frontend Transport; Sun, 26 Nov 2023 18:44:57 +0000
Received: from [192.168.1.52] (c-73-143-251-114.hsd1.ma.comcast.net [73.143.251.114]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 3AQIit01024040 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Sun, 26 Nov 2023 13:44:56 -0500
Message-ID: <d9b2052b-8f23-4cbf-99b8-9d2b85892fb4@alum.mit.edu>
Date: Sun, 26 Nov 2023 13:44:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Carsten Bormann <cabo@tzi.org>
Cc: rfc-interest@rfc-editor.org
References: <310371.1700735021@dyas> <7C81D316-7D04-4941-BEE5-6AE8C96F0DE1@tzi.org> <D1F8F86E-80D7-4FC7-B7B5-32648ACB5D65@tzi.org> <MN2PR11MB3757AF8CCDF388BA5CECFE1AB9B8A@MN2PR11MB3757.namprd11.prod.outlook.com> <153bde12-5773-42ce-bfdf-392e4492c06b@gmx.de> <9D66A3A2-5516-4924-8B1E-420871D862C5@tzi.org> <8373b6b5-4a0a-4abb-8880-d618154b2f81@alum.mit.edu> <1F2DBD33-1553-4BBE-8ADB-115632C8373D@tzi.org>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
In-Reply-To: <1F2DBD33-1553-4BBE-8ADB-115632C8373D@tzi.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099E0:EE_|DS0PR12MB7727:EE_
X-MS-Office365-Filtering-Correlation-Id: 34e211c9-df32-4457-36d3-08dbeeafc9e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: fo8C1zJ7eMHUxEsQesLFhuVDzjCGTA6t/yIF/LWf63eewo1iDljiaIuXJySdmYHrVZEC7fubMuNaCvvj6y70atLnw1mZR4eHsydf8yE49rB+5wtnuF3muoh0LuR9+UDW+e7CvqynBGMIZA++DuoVyHb6xdpFgvNsAttAAVqzw4ilzmILvdFd4RD3cXOZj+Fb3Oi5dD0rfTh4PC1X2C64JxFsalQIoJFdrK3oxyvqCz0sLxemsoIU7Be/w836ZRfDlVjBphquFwsks1o3zDGWCg+ewNKWaZoIs6QMoMsBKSLJaaRLBjMnZXq3WFF0kKCGrbmiSJVB/5w0ZJG8+2wddxq+QXONZLX71y7SwmkErrXtGF+Cax82PsZPdwJ9tiyo+ccMxUvVckyXJgaOva1z1clOl+M9HRDAtsuQhquZitGm/rboB1shB7alqqx62Mwqo4saT0QBuBcZrvHcSEzf3Q1VPiwpSv45j3ihebPmr08jCuA+Ec5vQ3STJCPz6w/16Lg+bVCRNsAYYScUCK+GnPVnHYtz6fo13N3eugapcir4NNiZT84/VaFE77HDQHq19ErV3rBgiC/88FiR3FdPYegOk6q5FYhE/Vj11huQZa/qb7MQv18eMz2ZdTxDj7oaLMCNxRj+KIxajSzZDhcnbN1eO5J+VjgTScyrz+qOCfie4pIQ4Jtjs9ryCAeJ1Yn4Lsq2GcM7Sb2LAvA0YxJFPPe3bE5m0ism4ATKmaVFBVg=
X-Forefront-Antispam-Report: CIP:18.7.68.33; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:outgoing-alum.mit.edu; PTR:outgoing-alum.mit.edu; CAT:NONE; SFS:(13230031)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(31696002)(8936002)(8676002)(4326008)(53546011)(6916009)(786003)(316002)(41320700001)(75432002)(966005)(478600001)(2906002)(36860700001)(7596003)(356005)(47076005)(41300700001)(31686004)(4001150100001)(86362001)(26005)(70586007)(40480700001)(956004)(2616005)(83380400001)(336012)(66574015)(82740400003)(5660300002)(70206006)(43740500002); DIR:OUT; SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Nov 2023 18:44:57.3549 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 34e211c9-df32-4457-36d3-08dbeeafc9e5
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[18.7.68.33]; Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-AuthSource: DS3PEPF000099E0.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7727
Archived-At: <https://mailarchive.ietf.org/arch/msg/rfc-interest/OOigppNqo8j2sA2qCYHsYrorqC0>
Subject: Re: [rfc-i] getting SVG of RFC diagrams
X-BeenThere: rfc-interest@rfc-editor.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "A list for discussion of the RFC series and RFC Editor functions." <rfc-interest.rfc-editor.org>
List-Unsubscribe: <https://mailman.rfc-editor.org/mailman/options/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rfc-interest/>
List-Post: <mailto:rfc-interest@rfc-editor.org>
List-Help: <mailto:rfc-interest-request@rfc-editor.org?subject=help>
List-Subscribe: <https://mailman.rfc-editor.org/mailman/listinfo/rfc-interest>, <mailto:rfc-interest-request@rfc-editor.org?subject=subscribe>
X-List-Received-Date: Sun, 26 Nov 2023 18:45:06 -0000

Carsten,

On 11/26/23 12:34 PM, Carsten Bormann wrote:
> On 2023-11-24, at 17:47, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>
>>> This could lead to:
>>> https://www.rfc-editor.org/rfc/rfc9334/svg/layered-attester.svg
>>> https://www.rfc-editor.org/rfc/rfc9334/ascii-art/layered-attester.ascii-art
>>> https://datatracker.ietf.org/doc/draft-ietf-cbor-edn-literal/abnf/cbor-edn.abnf
>>
>> Yes! This is the sort of thing I'm wishing for.
> 
> I put in a proof of concept at

This is a great proof of concept. It is very much like I was imagining.
I'm not sure exactly how you are constructing the names of the parts. 
But the details of that can be bike shedded as needed.

> https://tzi.org/~cabo/rfc
> 
> E.g., see:
> 
> https://tzi.org/~cabo/rfc/rfc9334/svg/layered-attester.svg
> https://tzi.org/~cabo/rfc/rfc9334/ascii-art/layered-attester.ascii-art
> 
> I haven’t done the work for I-Ds yet, this will follow soon.
> 
> You can look at these extracted attachments in the browser, as well as save them or wget/curl them.
> 
> (Obviously, this only works reliably for RFC 8650 and later, so the PoC is limited to that.)

Question: are you actually extracting and storing all the pieces as a 
preprocessing step? Or is this virtual, where the pieces are extracted 
on demand?

If you are using a preprocessing step to extract the pieces, this could 
be made to work for docs prior to 8650 by using ad hoc techniques to 
extract the pieces from the .txt file. That could be done gradually on a 
demand basis. That would however require some sort of review process to 
ensure that is is done correctly.

	Thanks!!!
	Paul

>> There remains the issue of discovering what parts are available for a given document. It has been suggested that hovering over the part in the html rendering could show the name. Another possibility (not mutually exclusive) is to have the datatracker and the info page for the document:
>>
>> https://www.rfc-editor.org/info/rfcNNNN
> 
> I just made
> 
> https://tzi.org/~cabo/rfc/rfc9334/svg
> https://tzi.org/~cabo/rfc/rfc9334/ascii-art
> https://tzi.org/~cabo/rfc/rfc9334
> and
> https://tzi.org/~cabo/rfc
> 
> into collection pages (implemented as directory listings, as I’m lazy).
> Content and styling is a bit quaint, but could be fixed easily.
> 
> Grüße, Carsten
>