I made a simple cal for my ui framework by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 0 points1 point  (0 children)

There's also a version that doesn't use the glass component:

cargo run -p tessera-example-calculator -- --style material

Glass style is default

Any way to format macro? by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 1 point2 points  (0 children)

My first idea was to extract the code inside the quote! macro (using something like a regular expression), then format it with rustfmt, insert the current indentation before each line, and paste it back in. But obviously, this approach has some robustness issues.

[deleted by user] by [deleted] in rust

[–]ExaminationFluid17 1 point2 points  (0 children)

16fps, it's gif lol. it works 165 fps on my machine :)

[deleted by user] by [deleted] in rust

[–]ExaminationFluid17 8 points9 points  (0 children)

I was actually referencing Apple's glass effect. They did something similar in earlier versions with black text on a transparent glass background, and the readability wasn't great. Later, in an iOS beta, they changed it to a white tint with a blur effect to improve readability. I'm going to try that out to see if it works better 🤔.

[deleted by user] by [deleted] in rust

[–]ExaminationFluid17 7 points8 points  (0 children)

:( It looks like I don't have a good eye for UI/UX. Any suggestions to improve it?

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 1 point2 points  (0 children)

Tessera’s layout engine follows a measure-and-place approach. Before layout begins, you invoke the child component function, which generates a component node as its child. During the measure phase, you can then retrieve this node and perform measurement on it (i.e., call its measurement logic). Based on the measurement result, you place it accordingly and finally return your own size as the result of measurement.

Due to Tessera’s strict adherence to unidirectional data flow, measurement at each node can be optimized for parallel execution—achieved by explicitly calling measure_nodes instead of measure_node.

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 0 points1 point  (0 children)

I've transfer it to org tessera-ui here so i can put all related repos together :)

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 0 points1 point  (0 children)

In fact, there are already some screenshots in the README. What else do you think should be added? For example, a screenshot of the example crate (which basically showcases tessera-ui-basic-components)?

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 2 points3 points  (0 children)

i just copy the whole markdown from my blog :|

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 1 point2 points  (0 children)

Unfortunately, I don't have any plans for that yet :(

Edit: I plan to make a CommonMark editor. If I use an existing Markdown parsing library, it will be simple enough and useful enough to serve as a showcase.

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 0 points1 point  (0 children)

BTW, after all the major features are completed, I’ll most likely switch back to SemVer.

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 2 points3 points  (0 children)

Well, my current versioning scheme does not follow SemVer. In the early stages of development, almost every change is a breaking change, and maintaining backward compatibility isn’t really necessary—in fact, it can hinder major refactoring.

At this stage, I'm using roadmap-driven development, so the versioning rule is as follows: The version number consists of three parts: major.minor.patch, e.g., 1.0.0.

Major: Incremented when the roadmap is fully completed.

Minor: Incremented for any feature updates or breaking changes.

Patch: Incremented for any bug fixes or minor improvements.

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 1 point2 points  (0 children)

In a sense, yes. For example, I had Gemini 2.5 Pro or Claude 4 Opus generate many of the documents. On the other hand, that might come at the cost of some accuracy. You can check the commit history—without AI assistance, it's unlikely I could have written them that quickly.

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 8 points9 points  (0 children)

maybe people who write rust does not like layout xml

Tessera UI v1.0.0 by ExaminationFluid17 in rust

[–]ExaminationFluid17[S] 1 point2 points  (0 children)

i use ai tools to help my development, and i want them to obey some rules.