Commit log

63f9719 :lipstick:

Antonio Scandurra created

5439213 Fix `Empty` sometimes returning an infinite size in `layout`

Click to expand commit body
This commit also ensures that elements never report an infinite size by
adding a debug assertion in the `Lifecycle` element.

Antonio Scandurra created

1cb987d Remove stray use of pathfinder_geometry

Antonio Scandurra created

e44ea6b Fix cursor blinking

Antonio Scandurra created

596fc47 Start on painting the editor

Antonio Scandurra created

466f6e0 Center line around its bounding box

Antonio Scandurra created

4dc1b1e Fix `test_render_glyph` (but still leave it commented out for now)

Antonio Scandurra created

0f6927e Re-export font_kit primitives from a new `fonts` module

Click to expand commit body
...also, rename the old `fonts` to `font_cache`.

Antonio Scandurra created

0906b2a Remove unused dependencies and avoid instantiating FontCache in tests

Antonio Scandurra created

5f3dbb0 Honor vertical subpixel positions

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

bc977fc Render different variants according to subpixel positioning

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

9178e91 Extract platform-dependant `FontSystem`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

e0e4cff Align glyphs correctly using font-kit's raster_bounds

Antonio Scandurra created

7523df0 Space out sprites in atlas

Click to expand commit body
This prevents us from accidentally sampling a neighboring sprite.

Nathan Sobo created

e5d586a Get glyphs sort of rendering

Nathan Sobo created

28b84c0 Fix noise in atlas texture

Nathan Sobo created

ad79746 WIP

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

247afa1 WIP

Nathan Sobo created

764bfba WIP: Start on rendering glyphs

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

43abd96 Apply padding correctly when painting `Container`'s children

Antonio Scandurra created

bac5436 Declare float literals consistently in shader

Antonio Scandurra created

3de0ce6 Remove artifact when a border side was not rendered

Click to expand commit body
This introduces an extra conditional in the shader, there's probably a
way of writing it without ifs but I like how the logic reads with it and
it shouldn't be that big of a deal performance-wise.

Antonio Scandurra created

32c0702 Scale corner_radius by the scale factor when rendering shadows

Antonio Scandurra created

66dcb73 Respect margins when painting Container

Nathan Sobo created

d13510b :lipstick:

Nathan Sobo created

548b542 Get the file finder rendering with a drop shadow

Nathan Sobo created

859c0f5 WIP: Introduce layers in renderer

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

bfc57cb Start on rendering shadows

Click to expand commit body
This still doesn't work properly because shadows are rendered beneath
quads and we still don't have a layering mechanism.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

45c1337 Support rendering borders

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

f330fdb Clarify variable name

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

123b7c5 Render quads with anti-aliased rounded corners

Antonio Scandurra created

119aa45 Overhaul the entire element system

Click to expand commit body
Now the Element trait is designed to be wrapped in a Lifecycle enum that gets placed inside an ElementBox. This allows the framework to store data on behalf of the Element implementation, such as sizes, bounds, and also implementation-specific LayoutState and PaintState types. This makes it easier to reason about which data is available in each Element method.

Nathan Sobo created

046fe3f Dispatch keystrokes and fix rerendering when window invalidated

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

f5df368 Add file_finder module

Click to expand commit body
Still need to wire up key bindings to make it toggle.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

0c59937 Wire up events and fix synthetic dragging

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

0466580 Scale quads by scale factor before writing to Metal buffer

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

31fb707 Fix translation to device coords in shader

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

1f647ef Clean up

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Nathan Sobo and Antonio Scandurra created

e5ffe43 Get basic graphics rendering via Metal

Click to expand commit body
Also, handle window resize.

Nathan Sobo created

292b41a Start on metal rendering infrastructure

Nathan Sobo created

d14c943 Start on Scene

Nathan Sobo created

cfe3aae WIP: Get everything compiling again and keep window open

Nathan Sobo created

605bdd6 WIP: Start on rendering scenes via presenter

Nathan Sobo created

e809d61 Return tasks from spawn and spawn_stream

Click to expand commit body
Also, eliminate the background spawning methods. We can spawn futures
on the executor and then spawn those on the app if we need to wait for
the result of running one.

Nathan Sobo created

f849857 Handle command line arguments and populate worktree

Nathan Sobo created

9bab29c Get workspace module in and compiling

Nathan Sobo created

171dd0c WIP

Nathan Sobo created

23308e1 WIP on rebuilding with extracted UI framework

Nathan Sobo created

356bc41 WIP

Nathan Sobo created

a015c61 Add context predicate parser

Nathan Sobo created