Nathan Sobo
5c444b2bfa
Call did_modify_range on only once per render
2021-03-30 23:07:14 -06:00
Nathan Sobo
dbf9a5a466
Restore blink_cursors
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:12:45 -06:00
Nathan Sobo
6ba08b510f
Avoid generic parameter
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:05:13 -06:00
Nathan Sobo
77b6a29f5f
Optimize grouping of path sprites by layer/atlas
...
Avoid filtering sprites redundantly on every layer and allocating intermediate vectors to group by atlas.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 18:03:00 -06:00
Nathan Sobo
4cdce070c4
Reduce selection corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:57:21 -06:00
Nathan Sobo
3103d28285
Clear the path atlases on every frame and fix spelling
...
@as-cii you were right about the plural of "atlas" after all.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:56:11 -06:00
Nathan Sobo
8dabb15248
Decrease max windings to avoid problems with anti-aliasing
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:34:01 -06:00
Nathan Sobo
02ace16176
Handle selection corners that are smaller than the corner radius
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-30 16:21:24 -06:00
Nathan Sobo
c4f23e411a
Fix double-borrow when synthesizing drag events
2021-03-30 14:25:47 -06:00
Nathan Sobo
5c4b08f05f
Use correct texture size when drawing paths into atlas
2021-03-30 14:03:29 -06:00
Nathan Sobo
4773f5034b
Bump max path windings to 128
...
This eliminates artifacts while still seeming to work with anti-aliasing.
2021-03-30 14:02:59 -06:00
Max Brunsfeld
011d4d8437
wip
2021-03-30 12:36:18 -07:00
Max Brunsfeld
f8cc3996b2
Paint selections using new path API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-30 11:52:58 -07:00
Antonio Scandurra
da1960c3e8
Snap path sprites to pixel grid
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-30 19:37:49 +02:00
Antonio Scandurra
1903f63c45
WIP: Add anti-aliasing to paths and render them after spriting them
2021-03-30 16:37:12 +02:00
Antonio Scandurra
98845663a9
Render stencils to atlas
2021-03-30 11:28:35 +02:00
Nathan Sobo
b538f5cfb7
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:56:47 -06:00
Nathan Sobo
64af4c694a
WIP: Render paths into stencil buffers
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-03-29 22:46:26 -06:00
Max Brunsfeld
0b12779e62
WIP: Render path winding numbers to stencil buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-29 16:28:35 -07:00
Max Brunsfeld
a8495d09f8
Whitelist shader bindings using a regex, not individual types
2021-03-29 12:39:21 -07:00
Antonio Scandurra
6222150688
WIP: Start on rendering paths
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:51:39 +02:00
Antonio Scandurra
d3d251a9ce
Introduce a Path
struct
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:50:38 +02:00
Antonio Scandurra
11f469b8e2
Construct Metal command encoder inside of Renderer
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-03-29 19:48:14 +02:00
Antonio Scandurra
a88b63d83c
Ensure FoldMap
always contains at least one transform
...
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.
2021-03-29 10:18:28 +02:00
Antonio Scandurra
a949959a42
Merge pull request #1 from zed-industries/catalina-mps-compatibility
...
Avoid nested structs in the types used to pass data from vertex to fragment shader functions
2021-03-29 09:16:15 +02:00
Max Brunsfeld
8a119a51bf
Avoid nested structs in vertex function return types
...
This is required to compile successfully on macos versions <= 10.15 (catalina)
2021-03-28 19:04:36 -07:00
Antonio Scandurra
a2790481a6
Pass the right bounds when painting gutter
...
x and y were flipped around, yikes.
2021-03-26 17:21:44 +01:00
Antonio Scandurra
2c24ec2e46
Update old usages of ctx.spawn
to detach the associated task
...
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.
2021-03-26 14:15:01 +01:00
Antonio Scandurra
13c1f5f60e
Pass workspace path to zed when debugging it in VS Code
2021-03-26 14:14:23 +01:00
Antonio Scandurra
466016a374
Snap sprites to pixel grid in Renderer
...
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.
2021-03-26 11:07:16 +01:00
Antonio Scandurra
61d4da9934
Introduce layer clipping
2021-03-26 10:28:05 +01:00
Antonio Scandurra
63f9719c99
💄
2021-03-26 09:58:55 +01:00
Antonio Scandurra
5439213199
Fix Empty
sometimes returning an infinite size in layout
...
This commit also ensures that elements never report an infinite size by
adding a debug assertion in the `Lifecycle` element.
2021-03-26 09:46:53 +01:00
Antonio Scandurra
1cb987d489
Remove stray use of pathfinder_geometry
2021-03-25 18:19:20 +01:00
Antonio Scandurra
e44ea6b379
Fix cursor blinking
2021-03-25 17:41:03 +01:00
Antonio Scandurra
596fc47a68
Start on painting the editor
2021-03-25 17:36:29 +01:00
Antonio Scandurra
466f6e0479
Center line around its bounding box
2021-03-25 17:21:26 +01:00
Antonio Scandurra
4dc1b1e179
Fix test_render_glyph
(but still leave it commented out for now)
2021-03-25 15:10:21 +01:00
Antonio Scandurra
0f6927eb4b
Re-export font_kit primitives from a new fonts
module
...
...also, rename the old `fonts` to `font_cache`.
2021-03-25 10:58:33 +01:00
Antonio Scandurra
0906b2a2f4
Remove unused dependencies and avoid instantiating FontCache in tests
2021-03-25 10:48:32 +01:00
Antonio Scandurra
5f3dbb05d6
Honor vertical subpixel positions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 18:35:48 +01:00
Antonio Scandurra
bc977fc873
Render different variants according to subpixel positioning
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 18:20:25 +01:00
Antonio Scandurra
9178e91cc0
Extract platform-dependant FontSystem
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-24 16:51:28 +01:00
Antonio Scandurra
e0e4cff815
Align glyphs correctly using font-kit's raster_bounds
2021-03-24 11:46:17 +01:00
Nathan Sobo
7523df05cf
Space out sprites in atlas
...
This prevents us from accidentally sampling a neighboring sprite.
2021-03-23 19:02:03 -06:00
Nathan Sobo
e5d586a942
Get glyphs sort of rendering
2021-03-23 18:54:09 -06:00
Nathan Sobo
28b84c081d
Fix noise in atlas texture
2021-03-23 17:27:28 -06:00
Antonio Scandurra
ad7974608b
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 19:11:56 +01:00
Nathan Sobo
247afa1666
WIP
2021-03-23 09:13:35 -06:00
Antonio Scandurra
764bfba2e2
WIP: Start on rendering glyphs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-23 15:15:41 +01:00