From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Emacs design and architecture Date: Sat, 16 Sep 2023 01:20:59 +0300 Message-ID: <0518f65b-1dd1-6923-8497-da4d3aeac631@gutov.dev> References: <87fs3ur9u8.fsf@dataswamp.org> <875y4moiiq.fsf@dataswamp.org> <83r0n4rj78.fsf@gnu.org> <83cyynpmvd.fsf@gnu.org> <838r99mh40.fsf@gnu.org> <83h6nwlmt4.fsf@gnu.org> <456d12ac-ecf4-3de4-56bb-a2440580777f@gutov.dev> <83a5tokmsv.fsf@gnu.org> <83sf7fki5g.fsf@gnu.org> <43d642a8-d1b4-05ed-41e0-6e52d22df2d4@gutov.dev> <83edizjn0v.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="35851"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Cc: yuri.v.khan@gmail.com, owinebar@gmail.com, rms@gnu.org, emacs-devel@gnu.org To: =?UTF-8?Q?Gerd_M=c3=b6llmann?= , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 16 00:22:05 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qhHCN-00092N-Ju for ged-emacs-devel@m.gmane-mx.org; Sat, 16 Sep 2023 00:22:04 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qhHBZ-0003It-Go; Fri, 15 Sep 2023 18:21:13 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qhHBX-0003Hf-PW for emacs-devel@gnu.org; Fri, 15 Sep 2023 18:21:11 -0400 Original-Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qhHBU-0006Rp-8l; Fri, 15 Sep 2023 18:21:11 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id DEEAA5C00EE; Fri, 15 Sep 2023 18:21:03 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Fri, 15 Sep 2023 18:21:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1694816463; x=1694902863; bh=k0vG8lEX50lyohtctCYXZscbVPHw+S+sg5b S0yjwCto=; b=MdLNyjWQwxcEw2Yg20LTfbFQBrD0/thP4WdpN3JGFd7tsLP+0yl 7BLawooHy2SlQlVWkh/rM6hTd8iTaejD7ONwAAzSgMoKkieI583dmLr6KrAgsE6F dpIPBtUFb5zZbk0fW7sI6obeIDlcS0xh9dZWDTExo8UOPRPaaJqauWRYkU//Qn8X k75F12HB7WsYay/SLxaB2kpShxB91coMjecdK5rtqWCgzy8W49YSHBFej5Rj70+t oag8Et43Ggp6SMtVRS9vnTaMs62kwGzajL+nKYIuecXoA/vpGPqtB65iYYcNM8Nh 4I/K+01EW75xDg5NCRfrJhnx8VBBQF+MftA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1694816463; x=1694902863; bh=k0vG8lEX50lyohtctCYXZscbVPHw+S+sg5b S0yjwCto=; b=h858WFGJCydSz3El3Ez9FM9Ikmv69iOzcTw4N7B6qDjGf0YwkyI dgJAIqb1NyhU/NfpA4teojV/KKUkROq9Cd+IXbMSxLf0Hot3ZbRdGYslZ2pmMp3y 0o9gIPDD3MGicbK6eXVy/F/MB1bPq0ne2oJolbqIcJ4Vq4nMM3/BpX3spcydpBtm h4dy+KKkkx2yh6hhu3V01kuzfCaV9xxreLOSQcpwLSAD0ogncP8KgtEyjeMVsX6n JhWzHWROuWHLa2PSE6RM25Ik5JSij5846EN1Mp6hRbUak0iKnNqMxn9VTln/IZEh ZIfriEUuvmVUsUL2e1quTnm8dn/E9iE4ZHw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudejfedgtdekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtfeejnecuhfhrohhmpeffmhhi thhrhicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrth htvghrnhepueffveeiffeugffgveejvdegteeuhfdugfehleelfeejtdelteethfdtieeg vddunecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 15 Sep 2023 18:21:01 -0400 (EDT) Content-Language: en-US In-Reply-To: Received-SPF: pass client-ip=66.111.4.26; envelope-from=dmitry@gutov.dev; helo=out2-smtp.messagingengine.com X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.473, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310610 Archived-At: On 15/09/2023 22:19, Gerd Möllmann wrote: > Eli Zaretskii writes: > >>> From: Gerd Möllmann >>> Cc: Eli Zaretskii, Yuri Khan, >>> owinebar@gmail.com,rms@gnu.org,emacs-devel@gnu.org >>> Date: Fri, 15 Sep 2023 20:36:07 +0200 >>> >>> Maybe it would be worth looking at emacs-ng >>> >>> https://github.com/emacs-ng/emacs-ng >>> >>> The README lists the feature >>> >>> Webrender >>> >>> WebRender is a GPU-based 2D rendering engine written in Rust from >>> Mozilla. Firefox, the research web browser Servo, and other GUI >>> frameworks draw with it. emacs-ng use it as a new experimental graphic >>> backend to leverage GPU hardware. >> I didn't look at this, but if by "graphic backend" they mean a >> replacement for xterm.c, then this is much less interesting, because >> the basic limitations of the current display engine's layout and >> iterator (which are all implemented in xdisp.c and dispnew.c) will >> still be with us. > I've cloned the repo now, and it seems indeed to be a backend like xterm > or nsterm etc. It's called wrterm, and is implemented in ca. 8.5 kloc > of Rust. I can't read Rust fluently, but I'd say It implements the > usual functions for such a backend and not more. > > So, I agree, that's not very interesting in this context. Yes, looks like it renders everything to a element. Which is not so interesting from the layout POV - I had in mind a translation with more different HTML elements, I guess. Practically speaking, it is a good choice. I recall some development blog post either for Atom or for VS Code where they described a decision to move from HTML elements to rendering the code file contents on a canvas as well. GitHub's online text editor uses