Commit log

bbf8762 :lipstick:

Antonio Scandurra created

f5e5d71 Remove conditional from winding number computation

Antonio Scandurra created

5c444b2 Call did_modify_range on only once per render

Nathan Sobo created

dbf9a5a Restore blink_cursors

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

6ba08b5 Avoid generic parameter

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

77b6a29 Optimize grouping of path sprites by layer/atlas

Click to expand commit body
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

4cdce07 Reduce selection corner radius

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

3103d28 Clear the path atlases on every frame and fix spelling

Click to expand commit body
@as-cii you were right about the plural of "atlas" after all.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

8dabb15 Decrease max windings to avoid problems with anti-aliasing

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

02ace16 Handle selection corners that are smaller than the corner radius

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

c4f23e4 Fix double-borrow when synthesizing drag events

Nathan Sobo created

5c4b08f Use correct texture size when drawing paths into atlas

Nathan Sobo created

4773f50 Bump max path windings to 128

Click to expand commit body
This eliminates artifacts while still seeming to work with anti-aliasing.

Nathan Sobo created

011d4d8 wip

Max Brunsfeld created

f8cc399 Paint selections using new path API

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

Max Brunsfeld and Nathan Sobo created

da1960c Snap path sprites to pixel grid

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

1903f63 WIP: Add anti-aliasing to paths and render them after spriting them

Antonio Scandurra created

9884566 Render stencils to atlas

Antonio Scandurra created

b538f5c WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

64af4c6 WIP: Render paths into stencil buffers

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

0b12779 WIP: Render path winding numbers to stencil buffer

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

Max Brunsfeld and Nathan Sobo created

a8495d0 Whitelist shader bindings using a regex, not individual types

Max Brunsfeld created

6222150 WIP: Start on rendering paths

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

d3d251a Introduce a `Path` struct

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

11f469b Construct Metal command encoder inside of `Renderer`

Click to expand commit body
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra and Max Brunsfeld created

a88b63d Ensure `FoldMap` always contains at least one transform

Click to expand commit body
Previously, when splicing an edit that deleted all transforms, we would
leave the `FoldMap` empty, thus violating a bunch of downstream
invariants and e.g. causing the `BufferRows` iterator to not return any
buffer row.

This commit ensures we always have at least one transform (an isomorphic
one, specifically) and adds additional test coverage for the
`FoldMap::buffer_rows` method by adding it to the randomized tests.

Antonio Scandurra created

a949959 Merge pull request #1 from zed-industries/catalina-mps-compatibility

Click to expand commit body
Avoid nested structs in the types used to pass data from vertex to fragment shader functions

Antonio Scandurra created

8a119a5 Avoid nested structs in vertex function return types

Click to expand commit body
This is required to compile successfully on macos versions <= 10.15 (catalina)

Max Brunsfeld created

a279048 Pass the right bounds when painting gutter

Click to expand commit body
x and y were flipped around, yikes.

Antonio Scandurra created

2c24ec2 Update old usages of `ctx.spawn` to detach the associated task

Click to expand commit body
This lets us open buffers and renders tabs and editors correctly, modulo
a small bug when rendering the gutter that I am going to fix next.

Antonio Scandurra created

13c1f5f Pass workspace path to zed when debugging it in VS Code

Antonio Scandurra created

466016a Snap sprites to pixel grid in `Renderer`

Click to expand commit body
Previously, we were doing so in the `SpriteCache` but that would cause
floating point errors that caused glyphs to sometimes be positioned
midway through a pixel.

Antonio Scandurra created

61d4da9 Introduce layer clipping

Antonio Scandurra created

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