[Cuis-dev] Fwd: Blueprint – May 2026 update
Juan Vuletich
juan at cuis.st
Thu Jun 4 11:56:03 PDT 2026
Hi Milan,
On 2026-06-04 1:46 PM, Milan Lajtos via Cuis-dev wrote:
> Hello Juan!
>>
>> What I think is more important, though, is to be careful with the
>> assertions made. Youtube keeps videos for a long time, way long after
>> any context is lost. Talk that suggest Cuis not having usability, not
>> supporting emoji, calling it "the damn thing", etc. will be taken
>> literally by many. The best place to be harsh is here. Being polite
>> is welcome, but if someone is not polite in the mail list, they will
>> get an appropriate answer, that will also be part of the thread in
>> the archive. No harm done then. But in media where context and
>> responses may not be available, and may reach a wider uninformed
>> audience, it is best to be careful with words.
>>
> My aim is to improve Cuis – part of that is pointing out the bad parts
> while fixing them. If I don't know how to improve something, I tend
> not to criticize.
Good. Please re read my last sentence above. In order for you to be able
to improve Cuis (and not just fork it into a separate project), we need
a sane communication. I hope we'll get there.
> The hard fact is that emoji support is currently non-existent – and
> that is okay! Maybe there is someone that is into emojis and will fix
> it. But without an explicit information that emoji/TTF support is not
> 100%, how can we know what is a problem?
"non-existent" and "not 100%" are completely different things. This is a
fresh Cuis image using the default font. I don't claim it is "100%" but
it is not fair to say "non-existent" either.
>
> "Obsolete the damn thing!" is a direct quote from Alan Kay about
> Smalltalk.
> The video has an explicit "May 2026" badge, and comments are open. My
> understanding of things will improve, which is a great segue to...
>
>> Well, of course the root problem here is that we don't have any
>> indication of the real size of the pixels we're given. So we should
>> improve, but we don't have real guarantees of what "ten pixels"
>> really mean. For instance, set Cuis to Full Screen and the compare
>> `Display extent` with whatever the OS says about display resolution,
>> and with the phisical specs of the display. Apple made a big mess
>> here. And AFAIK no desktop OS has a good api to query what's the
>> actual size of a pixel.
>>
>> In any case, using #hostOSScaleFactor seems reasonable. One way is do
>> what you did. Another one is to scale your morphs, perhaps when
>> opening. Another is what most Cuis tools do, call `FontFamily
>> defaultPointSize` to adapt size of elements to user preference.
>> Scaling the whole world is possible too, although we generally prefer
>> to size elements with `FontFamily defaultPointSize`, and drawing a
>> scale = 1. This gives best drawing performance.
>>
>
> I read up on the scaling problem. From what I read, I assume that the
> your intention is to have UI that has dimensions based on the font
> size. So when you increase the base font size, the UI scales with
> that. And font size takes `hostOSScaleFactor` already into account.
>
> Which means to create a rect around the text, e.g. a button, you are
> setting the padding that has some fraction of line height, which is
> some multiply of font size. This becomes tangled pretty fast.
>
> The more direct approach is to factor out the font size. That way you
> can use points (logical pixels) for the size of UI (including the font
> size) and have independent "zoom factor" that can be user-definable.
> And then the system would compute size of 1pt as `hostOSScaleFactor *
> zoomFactor` in physical pixels.
>
> This is just describing what is sometimes called "density-independent
> pixel" (dp on Android), or "effective pixel" (epx on Windows UWP). On
> Apple platforms it is just called "point". The independent zoom factor
> corrects for inability to know physical dimensions of the screen and
> viewing distance. So you can tune the base font size to be ~0.33°.
Yes. Something like that can be done.
>
>> I tried to keep the API small and relevant, and expand it as needs
>> arise. I think that blend modes are not really necesary if we handle
>> transparency of stroke and fill colors correctly. Do we have a use
>> case for a "blend mode" feature?
>>
>> WRT gradients, something similar happens. They are part of the SVG
>> standard, but they make everything look like it is over 20 years old
>> and they are not very used nowadays. Is there any actual need for
>> them? I think having textures would be much more useful and interesting.
>>
> Keeping the API small is great! Blend modes are complementary to alpha
> blending. When I was designing semi-transparent menus, I wanted to
> increase the contrast against background, while keeping the opacity
> intact. Why blend modes are useful:
> https://www.makingsoftware.com/chapters/blending-modes
>
> Gradient fills (linear, radial, mesh, etc.) are ubiquitous in visual
> design. :)
Good.
>
>> No real need to read the paper, although it is good to read it. All
>> you need is to render the same SVG file with Cuis and any other
>> renderer and compare.
>>
>> The filter widh used is configurable. Edit
>> VectorEngineWithPluginWholePixel >> #defaultAntiAliasingWidth, then
>> resize the main Cuis window for the change to take effect. Instead of
>> 1.6, something like 4 will be much smoother. Try 1.2. It still won't
>> be too pixelated, but it will be closer to what other renderers do.
>> 1.0 will be still crispier, but pixellation starts to be quite visible.
>>
>> Play with the VectorEngine 'experiments' class side methods.
>>
>> If you're really interested in this stuff, after a quick read of the
>> paper you can start hacking VectorEngineSmalltalk. I promise you'll
>> have a lot of fun.
>>
> Oh, the filter width is configurable! I am gonna play with it.. Thank
> you for the pointer!
>
>> Most likely this is a bug in your code. Read the 'Note:' in class
>> comment of BoxMorph. Read the comments at #submorphsMightProtrude.
>>
> Will take a look, thank you.
>
>> A few further notes:
>>
>> - Font subtitution: Yes. We need this. If someone volunteers to work
>> on this they will have by full support.
>>
>> - Shadows and Vector Feathering. If someone is interested enough to
>> work on it, it could be done.
>>
>> For other issues mentioned in your video, you may bring them up here
>> anytime.
>>
> Thank you. I might pick some of these up when I can't go further
> without them.
>
>> I'm sure many people will have a lot of fun with this. Kudos.
>>
> I hope so!
>
>
> Milan
>
>
>
--
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/131c8751/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: someemoji.jpg
Type: image/jpeg
Size: 159074 bytes
Desc: not available
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20260604/131c8751/attachment-0001.jpg>
More information about the Cuis-dev
mailing list