[Cuis-dev] Fwd: Blueprint – May 2026 update
Juan Vuletich
juan at cuis.st
Thu Jun 4 05:27:10 PDT 2026
Hi Milan,
I hope you don't mind me forwarding your message to the Cuis mail list.
Using the mail list is important. It lets others chime in, and it also
feeds an archive of discussion for others to learn form. It is an
important part of building culture and community. Please keep the
discussion in the mail list if at all possible.
I'll answer in the mail list.
Thanks,
-------- Forwarded Message --------
Subject: Re: [Cuis-dev] Blueprint – May 2026 update
Date: Wed, 3 Jun 2026 21:03:50 +0200
From: Milan Lajtos <milan.lajtos at me.com>
To: Juan Vuletich <juan at cuis.st>
Hello Juan,
thank you for your kind words. Live demo is always the best showcase of
some work. Though I will do better job at narration next time. Personal
target = zero filler words. :)
One thing that really bugs me (and I can't seem to find a definitive
answer) is the `DisplayScreen hostOSScaleFactor` usage. Since I am
designing in Figma, all pixel-sized values (extents, insets, stroke
widths, corner radii, gaps, padding, font size, line height, etc.) have
to be scaled by that factor. Example:
```smalltalk
initialize
| s |
super initialize.
s := DisplayScreen hostOSScaleFactor.
cellSize := 64 * s.
cornerRadius := 16 * s.
padding := 8 * s.
...
```
This feels very, very wrong. I would expect `world scale` (or some other
approach) to do that automatically. Hm, I'll try that.
—
Thank you for fixing the switched hyphen and dash!
—
Gradients and blend modes: I found that blend modes are available only
via BitBlt, not Vector Engine. Are gradients and blend modes something
you think would be useful?
—
I am not going to comment on rasterizer output as I haven't understood
the pre-filtering paper yet.
—
I think code for `spanBottom` has a bug:
```smalltalk
!VectorEnginePlugin methodsFor: 'accessing' stamp: 'jmv 3/10/2021 10:53:54'!
spanBottom
self
primitive: 'primSpanBottom'
parameters: #().
^(spanBottom + auxStrokeWidthDilatedHalf) asInteger asOop: SmallInteger.! !
```
Compare that to `spanRight`:
```smalltalk
!VectorEnginePlugin methodsFor: 'accessing' stamp: 'jmv 4/6/2021 16:13:38'!
spanRight
self
primitive: 'primSpanRight'
parameters: #().
"Make room not just for updated mask, but also edges (hence, +1)"
^(spanRight + auxStrokeWidthDilatedHalf + subPixelDelta) asInteger +1
asOop: SmallInteger.! !
```
Bottom edge (the anti-aliased pixels) of the Dock was being cut off, and
I traced it to that method. I can't really tell if "+1" in `spanBottom`
is intentional omission or not.
—
I think that is a lot of questions for today, thank you for taking the
interest.
—
The main contribution of Blueprint should be non-code in nature. Rather,
to show that software revolution is happening (code agents) and
Smalltalk is the ideal vehicle for it. I put together this short guide –
https://gist.github.com/mlajtos/e6f86323507ed30877b35f9f1f64fb37 – to
bootstrap the Claude Code – Cuis bridge, so anyone can leverage this.
(Please report any issues you have with it.) I bet real Smalltalker can
do wonders with it! Think cheap massive refactorings, automatic
Smalltalk to Slang translation, recovering borked images, easy enriching
Smalltalk class environment – new data structures, algorithms, systems, etc.
For hot-air balloon sky is the limit. Smalltalk with code agent is more
akin to space-faring rocket. Please adjust your ambitions. :)
> Dňa 1. 6. 2026 o 15:52, Juan Vuletich <juan at cuis.st> napísal:
>
> Hi Milan,
>
> Your demo is very good. There are a lot of good ideas for improving
> the UI. A video as you did is a great way to show an UI in action and
> explain the concepts.
>
> But in this video you also comment on things that are missing, buggy
> or simply not well understood by you. I was tempted to use Youtube
> comments. But I think Youtube comments is not a good media for
> technical discussion, and this mail list is so much better. So,
> please, email here so we can start one or several email threads to
> discuss those issues. When doing so, keep in mind
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/GettingHelpWithCuis.md
> .
>
> On another topic, it would be great to integrate some of your ideas
> into the base Cuis system. I really don't know if this would be
> possible, though. As you created this using code agents, I don't know
> if the code can be factored into different change sets for various
> features, and if those change sets could be understood by us in order
> to be reviewed for integration. I also don't know if the code would
> follow our style, as described in
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/AboutCuis.md#the-philosophy-behind-cuis
> .
>
> This is the first time we're facing this kind of issues. I'm sure
> we'll learn a lot.
>
> Thanks,
>
> On 2026-05-31 10:47 AM, Milan Lajtos via Cuis-dev wrote:
>> Hello World!
>>
>> For past 2 weeks I have been exploring how software agents can be
>> paired with Smalltalk. This demo video is a result of my findings.
>>
>> TL;DW: Blueprint is a rework of Cuis desktop experience and has been
>> done purely by code agent directed in natural language by me. No
>> Smalltalk code was written by hand. I am not stopping, I have too
>> much fun. :)
>>
>> If you have any questions, I am happy to answer them.
>
> --
> Juan Vuletich
> www.cuis.st
> github.com/jvuletich
> researchgate.net/profile/Juan-Vuletich
> independent.academia.edu/JuanVuletich
> patents.justia.com/inventor/juan-manuel-vuletich
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20260604/ac8d2b2e/attachment.htm>
More information about the Cuis-dev
mailing list