Commit log

d10fc6c Fix crash when selections exceed the container's bounds

Antonio Scandurra created

ae447ca Layout lines and line numbers sequentially

Click to expand commit body
Doing things in parallel has a constant factor associated with it (e.g.,
spawning threads and coordinating them) that dwarves its benefits on a
code path like this where things take < 2-3ms when done sequentially.

Antonio Scandurra created

995acef Inset container contents to account for container border

Nathan Sobo created

e487aa5 Don't render glyphs located outside of `BufferElement`'s bounds

Antonio Scandurra created

0b44cb0 Fix links

Nathan Sobo created

3831700 Link to tracking issues

Nathan Sobo created

f3fd670 Add a README with a high-level roadmap

Nathan Sobo created

c525d7c :lipstick: naming

Nathan Sobo created

3bd6b92 Introduce a GPUI test platform, get most tests running

Click to expand commit body
There are still two tests that don't pass:
* `gpui::app::tests::test_finish_pending_tasks` hangs
* `editor::buffer_view::tests::test_fold` has an assertion failure

Max Brunsfeld created

2efc90a Ensure that path windings are rendered to the right atlas texture

Click to expand commit body
Fixes #5

Max Brunsfeld created

a9c428a Remove `Overdraw`

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

Antonio Scandurra and Nathan Sobo created

d5a9bab Fix tabs layout

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

Antonio Scandurra and Nathan Sobo created

c55d990 Handle non-precise scroll events in `BufferElement`

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

Antonio Scandurra and Nathan Sobo created

97e0db2 Don't blend alpha channels

Click to expand commit body
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.

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

Antonio Scandurra and Nathan Sobo created

385d15c Round clip bounds to whole pixels

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

Antonio Scandurra and Nathan Sobo created

d853dbb Render borders correctly when only a subset of the border is visible

Antonio Scandurra created

073ff96 Snap quads to pixel grid to avoid antialiasing them around the edges

Antonio Scandurra created

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