Commit Graph
441 Commits
Author SHA1 Message Date
Daniel Imms bfa9dd5060 Clean up 2022-10-29 18:09:18 -07:00
Daniel Imms 04f79aa7b4 Share page texture binding code 2022-10-29 14:33:50 -07:00
Daniel Imms 86ccd709bf Avoid setting uniforms every frame 2022-10-29 14:26:51 -07:00
Daniel Imms c257a7247e Only upload textures that change 2022-10-29 13:27:33 -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 54335ef54a Create texture page attribute 2022-10-28 18:16:55 -07:00
Daniel Imms 96486c414b Acquire char size service better in webgl renderer 2022-10-16 07:04:34 -07:00
Daniel Imms dc19628014 Fix width -> height 2022-10-16 06:34:12 -07:00
Daniel Imms ca68a5c59a Fix typo in test 2022-10-15 20:13:24 -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 2c9e711cae Move all other refs in webgl over 2022-10-15 13:55:36 -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 16ea621a5f Merge pull request #4206 from Tyriar/eslint-jsdoc
Add eslint-plugin-jsdoc with minimal comment rules
2022-10-15 08:55:07 -07:00
Daniel Imms 5204374494 Add no-multi-asterisks rule 2022-10-15 08:43:06 -07:00
Daniel Imms 114924f3fa Add eslint-plugin-jsdoc and enable check-param-names 2022-10-15 08:38:14 -07:00
Daniel Imms fb4a4e6127 Draw quads with triangle strip
This reduces the number of needed vertices from 6 to 4, it may not have a
noticeable performance impact but it's less data and simpler
2022-10-15 07:54:31 -07:00
Daniel Imms a37ea14d10 Use options service in renderers 2022-10-09 10:57:49 -07:00
Daniel Imms 8d7137417b Split renderer safe vs unsafe api on activate 2022-10-09 10:12:19 -07:00
Daniel Imms e47296c1b9 Use options service directly in renderers 2022-10-09 09:28:18 -07:00
Daniel Imms 48f15cb543 Remove remaining setColors methods 2022-10-08 14:07:28 -07:00
Daniel Imms 6e35bcd767 Use theme service in more places 2022-10-08 13:55:23 -07:00
Daniel Imms c4750eaf77 Create basic theme service
Part of #4184
2022-10-08 11:43:19 -07:00
Daniel Imms 5d8e4a0af4 Add lint rule to ensure _on prefix is only for event emitters 2022-10-08 11:05:52 -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 00f6d3a88c Register all event emitters, make some services disposable 2022-10-08 09:00:14 -07:00
Daniel Imms ac659cb412 Prevent overriding of Disposable.dispose
A common mistake made was overriding dispose and not calling super.dispose,
so a TS trick is now used to move it to a readonly property instead of a
member method which prevents it being overridden.
2022-10-08 08:27:10 -07:00
Daniel Imms 8116e035b4 Register webgl renderers 2022-10-08 08:06:43 -07:00
Daniel Imms 56b37a73ac Free WebglAddon 2022-10-08 07:37:55 -07:00
Daniel Imms fc8043a25a Ensure webgl texture atlas is released on dispose 2022-10-08 07:32:51 -07:00
Daniel ImmsandMegan 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 5fcb084089 Merge pull request #4180 from Tyriar/clear_atlas
Fix clearTextureAtlas call as implemented on IRenderer
2022-10-07 14:31:28 -07:00
Daniel Imms e89c507d06 Fix clearTextureAtlas call as implemented on IRenderer
This is the root cause of microsoft/vscode#162996
2022-10-07 14:22:51 -07:00
Daniel Imms ffa4d921bb Merge remote-tracking branch 'upstream/master' into renderer_before_open 2022-10-07 10:10:24 -07:00
Daniel Imms 4d97729010 Revert "Merge pull request #4166 from Tyriar/event_with_emitter"
This reverts commit d22f7c9edd, reversing
changes made to 1f8e6f0952.
2022-10-06 09:48:54 -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 590a8219e3 Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 13:42:44 -07:00
Daniel Imms d22f7c9edd Merge pull request #4166 from Tyriar/event_with_emitter
Create new event with emitter object to simplify code
2022-10-02 13:41:37 -07:00
Daniel Imms 0bc5ca8f80 Fix imports 2022-10-02 11:08:06 -07:00
Daniel Imms f38a49b4d5 Move remaining webgl atlas to shared 2022-10-02 08:48:55 -07:00
Daniel Imms 26c974f9b6 Shuffle some utils 2022-10-02 08:37:13 -07:00
Daniel Imms 333b0e28ac Add ITextureAtlas and use that instead of WebglCharAtlas 2022-10-02 07:48:43 -07:00
Daniel Imms d669c6e9d6 Fix remaining references 2022-10-01 18:03:43 -07:00