Daniel Imms
02d3ef599a
Fix internal usages that needed Required<ITerminalOptions>
2022-12-11 11:42:14 -08:00
Daniel Imms
1880399849
dirtyId -> version
2022-11-23 08:51:06 -08:00
Jean Pierre
d4ee0309d9
Fixes https://github.com/microsoft/vscode/issues/166158
2022-11-22 00:07:23 -05:00
Daniel Imms
97a0df260b
Remove unused event
2022-11-03 05:44:50 -07:00
Daniel Imms
d82da195f3
Remove atlas pages from demo when they're merged
2022-11-02 06:02:53 -07:00
Daniel Imms
c22e684904
Fix exception when last 4 smallest pages are merged
2022-11-02 05:40:13 -07:00
Daniel Imms
6406fd79c1
Enforce a maximum page merge amount
2022-11-02 05:28:47 -07:00
Daniel Imms
0271fdf49d
Merge 4 largest pages
2022-11-02 04:49:02 -07:00
Daniel Imms
805b41b80f
Keep merging default texture size pages
2022-11-01 10:26:48 -07:00
Daniel Imms
c9bacc80d7
Merge when max atlas pages is reached
2022-11-01 10:08:00 -07:00
Daniel Imms
54ee698ba6
Basic merging working
...
Part of #4243
2022-11-01 09:07:38 -07:00
Daniel Imms
4d05905736
Polish
2022-10-30 18:11:24 -07:00
Daniel Imms
e092ca70e1
Simplify page reuse/creation
2022-10-30 10:33:38 -07:00
Daniel Imms
0592837620
Fill pages to capacity
2022-10-30 10:21:17 -07:00
Daniel Imms
fc03a1698b
Share page creation code
2022-10-30 10:16:48 -07:00
Daniel Imms
c9ef4a8eb9
Increase texture size as it nears the maximum texture unit
...
#4243 would be a better, but more complicated, solution to this
2022-10-30 09:20:17 -07:00
Daniel Imms
846573bb01
Support up to maximum texture units (eg. 16 on my machine)
2022-10-30 03:16:29 -07:00
Daniel Imms
3f2ed42e73
Fix glyphs getting clipped on bottom row
2022-10-29 20:57:42 -07:00
Daniel Imms
2a3c2d9520
Make better use of atlas space
2022-10-29 20:33:27 -07:00
Daniel Imms
5e95475d6b
Use current row when filling in old atlas pages
2022-10-29 19:50:44 -07:00
Daniel Imms
57a65e0858
Continute filling atlas page after new pages are added
2022-10-29 19:44:12 -07:00
Daniel Imms
bfa9dd5060
Clean up
2022-10-29 18:09:18 -07:00
Daniel Imms
c257a7247e
Only upload textures that change
2022-10-29 13:27:33 -07:00
Daniel Imms
0a49a5dde1
Make texture atlas presentation nicer for multiple pages
2022-10-29 13:01:41 -07:00
Daniel Imms
713baeb64d
Base atlas page size on device pixel ratio
2022-10-29 12:45:20 -07:00
Daniel Imms
efba2c9040
Get pages working, add to demo
2022-10-28 19:30:42 -07:00
Daniel Imms
67ef455515
Get a second page kind of working
2022-10-28 19:20:26 -07:00
Daniel Imms
975d52fab9
Remove deprecated prop
2022-10-28 19:12:01 -07:00
Daniel Imms
6b37187b4d
Create AtlasPage
2022-10-28 19:08:33 -07:00
Daniel Imms
84ab6a49c4
Bring texturePage partially to atlas
2022-10-28 18:56:49 -07:00
Daniel Imms
67b3faef01
Use bbox padding and width consistently
2022-10-28 09:01:22 -07:00
Daniel Imms
8b545a3fe4
Fix bbox right scan start offset
...
This causes particularly wide glyphs like italic emoji to get clipped
even if they're within the allowed padding.
Fixes #4229
2022-10-28 08:57:41 -07:00
Daniel Imms
22e8a2f8e7
Remove old dimension properties
2022-10-15 18:07:05 -07:00
Daniel Imms
171ba446bd
Update other files
2022-10-15 15:32:02 -07:00
Daniel Imms
65f41a151e
Use new render dimensions in webglrenderer
2022-10-15 13:15:12 -07:00
Daniel Imms
ddc4e75583
Add new dimensions properties, helper creation function
...
Part of #3925
2022-10-15 10:31:43 -07:00
Daniel Imms
50d1834871
Remove clipImageData completely
...
putImageData works a little differently to drawImage which confused me
for a bit, you need to offset the destination as putImageData draws the
'dirty' parts of the texture using the same source image dimensions
Fixes #4197
2022-10-13 06:25:13 -07:00
Daniel Imms
e47296c1b9
Use options service directly in renderers
2022-10-09 09:28:18 -07:00
Daniel Imms
6e35bcd767
Use theme service in more places
2022-10-08 13:55:23 -07:00
Daniel Imms
4dee0c5d4b
Build out theme service more
2022-10-08 12:15:21 -07:00
Daniel Imms
c4750eaf77
Create basic theme service
...
Part of #4184
2022-10-08 11:43:19 -07:00
Daniel Imms
eecf52e949
Add lint rule to ensure on prefix is only for event emitters
...
Fixes #4183
2022-10-08 10:57:31 -07:00
Daniel Imms and Megan Rogge
c4eef2f470
Fix race condition that could when clearing atlas on 2+ terminals
...
This is the proper fix for microsoft/vscode#162996 , after a bunch of
investigation we found that this is causing the problem:
VS Code clears the texture atlas on OS resume to fix an issue where the texture
could be corrupted. This calls clearTextureAtlas twice which should be fine, but
it's not because inside WebglRenderer.clear we're calling updateModel which is
meant to only ever be called in an animation frame. This calls potentially both
renderers to have stale views of the texture atlas for those rows and our perf
caching of cells (the main purpose of the model) doesn't know it's stale.
Co-Authored-By: Megan Rogge <merogge@microsoft.com >
2022-10-07 16:17:11 -07:00
Daniel Imms
e0324e32a8
Bring back ImageBitmap optimization in canvas renderer
...
It's more simple than it used to be, it will clear and debounce all
glyphs when any change is made.
2022-10-04 15:24:10 -07:00
Daniel Imms
622acaaad7
Remove old selection start/end values
2022-10-04 14:45:19 -07:00
Daniel Imms
0d7e18d236
Add CellColorResolver to share load color code
2022-10-04 14:41:27 -07:00
Daniel Imms
83c09c34db
Share selection render model code
2022-10-04 14:23:09 -07:00
Daniel Imms
03e3105c55
Fix fg/bg overrides in canvas
2022-10-04 14:10:27 -07:00
Daniel Imms
6316eee672
Comment out debug log
2022-10-02 21:32:24 -07:00
Daniel Imms
dbef850039
Hook up attributes to new texture atlas
2022-10-02 13:57:35 -07:00