@endge/nova 0.13.6 → 0.13.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/domain/constants/nova-phase.d.ts +16 -0
- package/dist/domain/types/base.types.d.ts +177 -0
- package/dist/domain/types/component.types.d.ts +156 -0
- package/dist/domain/types/context.types.d.ts +31 -0
- package/dist/domain/types/cursor.types.d.ts +89 -0
- package/dist/domain/types/diagnostics.types.d.ts +148 -0
- package/dist/domain/types/events.types.d.ts +85 -0
- package/dist/domain/types/export.types.d.ts +27 -0
- package/dist/domain/types/hit-test.types.d.ts +16 -0
- package/dist/domain/types/motion.types.d.ts +118 -0
- package/dist/domain/types/renderer.types.d.ts +607 -0
- package/dist/domain/types/rendering/index.d.ts +559 -0
- package/dist/domain/types/semantic.types.d.ts +69 -0
- package/dist/domain/types/sound.types.d.ts +84 -0
- package/dist/domain/types/theme.types.d.ts +53 -0
- package/dist/domain/utils/bounds.d.ts +34 -0
- package/dist/domain/utils/schemaBounds.d.ts +10 -0
- package/dist/index.d.ts +82 -8919
- package/dist/model/input/NovaCaretBlinkController.d.ts +35 -0
- package/dist/model/input/NovaClipboardService.d.ts +18 -0
- package/dist/model/input/NovaInputProxy_Adapter.d.ts +61 -0
- package/dist/model/input/NovaInputValidationController.d.ts +46 -0
- package/dist/model/input/NovaTextInputController.d.ts +126 -0
- package/dist/model/input/NovaTextLayoutEngine.d.ts +31 -0
- package/dist/model/input/index.d.ts +7 -0
- package/dist/model/input/nova-input.types.d.ts +137 -0
- package/dist/model/motion/NovaMotionEngine.d.ts +152 -0
- package/dist/model/motion/nova-motion-easing.d.ts +13 -0
- package/dist/model/motion/nova-motion-interpolation.d.ts +19 -0
- package/dist/model/motion/nova-motion-presets.d.ts +288 -0
- package/dist/model/motion/nova-motion-timeline.d.ts +5 -0
- package/dist/model/platform/NovaCanvas.d.ts +112 -0
- package/dist/model/platform/NovaGraphics.d.ts +32 -0
- package/dist/model/render/backends/canvas2d/NovaCanvas2DTargetManager.d.ts +29 -0
- package/dist/model/render/backends/canvas2d/NovaRenderer2D.d.ts +238 -0
- package/dist/model/render/backends/nova-render-backend-factory.d.ts +10 -0
- package/dist/model/render/backends/nova-render-backend.d.ts +16 -0
- package/dist/model/render/backends/webgl/NovaGpuBufferArena.d.ts +76 -0
- package/dist/model/render/backends/webgl/NovaRendererWebGL.d.ts +154 -0
- package/dist/model/render/backends/webgl/NovaWebGLBatcher.d.ts +17 -0
- package/dist/model/render/backends/webgl/NovaWebGLBuffer.d.ts +19 -0
- package/dist/model/render/backends/webgl/NovaWebGLDevice.d.ts +24 -0
- package/dist/model/render/backends/webgl/NovaWebGLDiagnostics.d.ts +29 -0
- package/dist/model/render/backends/webgl/NovaWebGLFrameRenderer.d.ts +1013 -0
- package/dist/model/render/backends/webgl/NovaWebGLProgram.d.ts +33 -0
- package/dist/model/render/backends/webgl/NovaWebGLTargetManager.d.ts +11 -0
- package/dist/model/render/backends/webgl/NovaWebGLTextRenderer.d.ts +17 -0
- package/dist/model/render/backends/webgl/NovaWebGLTextureManager.d.ts +16 -0
- package/dist/model/render/compiler/NovaRenderBuilder.d.ts +176 -0
- package/dist/model/render/compiler/NovaRenderCommandWriter.d.ts +166 -0
- package/dist/model/render/compiler/NovaRenderCompiler.d.ts +48 -0
- package/dist/model/render/compiler/NovaRenderFrameBuilder.d.ts +59 -0
- package/dist/model/render/graph/NovaRenderGraph.d.ts +96 -0
- package/dist/model/render/graph/NovaRenderHitIndex.d.ts +54 -0
- package/dist/model/render/graph/nova-render-culling.d.ts +26 -0
- package/dist/model/render/graph/nova-render-group.d.ts +18 -0
- package/dist/model/render/graph/nova-render-item.d.ts +35 -0
- package/dist/model/render/graph/nova-render-layer.d.ts +5 -0
- package/dist/model/render/graph/nova-render-stream.d.ts +117 -0
- package/dist/model/render/orchestration/NovaRenderOrchestrator.d.ts +73 -0
- package/dist/model/render/policy/nova-render-policy.d.ts +45 -0
- package/dist/model/render/resources/NovaGlyphAtlasManager.d.ts +45 -0
- package/dist/model/render/resources/NovaRenderResourceCache.d.ts +30 -0
- package/dist/model/render/resources/NovaRenderScheduler.d.ts +33 -0
- package/dist/model/render/resources/NovaTextAtlasManager.d.ts +44 -0
- package/dist/model/render/resources/NovaTextLayoutEngine.d.ts +23 -0
- package/dist/model/render/resources/NovaTextureAtlasManager.d.ts +95 -0
- package/dist/model/render/schema/NovaRenderContext.d.ts +74 -0
- package/dist/model/render/schema/nova-color-parser.d.ts +18 -0
- package/dist/model/render/schema/nova-style-compiler.d.ts +88 -0
- package/dist/model/render/targets/NovaRenderTargetManager.d.ts +51 -0
- package/dist/model/render/targets/nova-render-target-resource.d.ts +14 -0
- package/dist/model/render/utils/nova-icon-rendering.d.ts +9 -0
- package/dist/model/runtime/app/Nova.d.ts +167 -0
- package/dist/model/runtime/app/NovaApp.d.ts +305 -0
- package/dist/model/runtime/app/createNovaRaphRuntime.d.ts +17 -0
- package/dist/model/runtime/assets/NovaAssetRegistry.d.ts +511 -0
- package/dist/model/runtime/commands/NovaCommandBus.d.ts +48 -0
- package/dist/model/runtime/components/NovaComponentNode.d.ts +109 -0
- package/dist/model/runtime/components/NovaComponentRegistry.d.ts +35 -0
- package/dist/model/runtime/components/NovaSchemaRegistry.d.ts +71 -0
- package/dist/model/runtime/components/nova-component-metadata.d.ts +90 -0
- package/dist/model/runtime/components/nova-component.decorator.d.ts +38 -0
- package/dist/model/runtime/components/nova-defined-component.d.ts +58 -0
- package/dist/model/runtime/context/nova-context.d.ts +5 -0
- package/dist/model/runtime/cursor/NovaCursorManager.d.ts +148 -0
- package/dist/model/runtime/debug/NovaDebug.d.ts +105 -0
- package/dist/model/runtime/debug/NovaMetrics.d.ts +55 -0
- package/dist/model/runtime/diagnostics/NovaDiagnostics_Module.d.ts +143 -0
- package/dist/model/runtime/diagnostics/adapters/NovaDiagnosticsBrowser_Adapter.d.ts +32 -0
- package/dist/model/runtime/interaction/NovaEvents.d.ts +229 -0
- package/dist/model/runtime/interaction/NovaHitIndex.d.ts +57 -0
- package/dist/model/runtime/interaction/NovaSpatialIndex.d.ts +49 -0
- package/dist/model/runtime/reactivity/nova-reactivity.d.ts +24 -0
- package/dist/model/runtime/refs/nova-ref.d.ts +61 -0
- package/dist/model/runtime/scene/NovaScene.d.ts +80 -0
- package/dist/model/runtime/scene/nova-scene-components.d.ts +88 -0
- package/dist/model/runtime/state/NovaStore.d.ts +27 -0
- package/dist/model/runtime/state/nova-store-decorators.d.ts +38 -0
- package/dist/model/runtime/state/nova-store-runtime.d.ts +23 -0
- package/dist/model/runtime/state/nova-store-tracking.d.ts +17 -0
- package/dist/model/runtime/sync/NovaSyncScope.d.ts +93 -0
- package/dist/model/runtime/sync/nova-sync-context.d.ts +2 -0
- package/dist/model/runtime/sync/nova-sync-ports.d.ts +5 -0
- package/dist/model/runtime/sync/nova-sync.types.d.ts +48 -0
- package/dist/model/runtime/template/NovaTemplateRuntime.d.ts +79 -0
- package/dist/model/runtime/tree/NovaContainer.d.ts +78 -0
- package/dist/model/runtime/tree/NovaNode.d.ts +626 -0
- package/dist/model/runtime/tree/NovaSurface.d.ts +95 -0
- package/dist/model/semantic/NovaSemanticService.d.ts +30 -0
- package/dist/model/sound/NovaSoundEngine.d.ts +134 -0
- package/dist/model/telemetry.d.ts +108 -0
- package/dist/model/text-selection/NovaTextSelectionService.d.ts +85 -0
- package/dist/model/text-selection/index.d.ts +2 -0
- package/dist/model/text-selection/nova-text-selection.types.d.ts +54 -0
- package/dist/model/theme/NovaGlobalThemeRegistry.d.ts +57 -0
- package/dist/model/theme/NovaThemeService.d.ts +83 -0
- package/dist/nova.js +14489 -14069
- package/package.json +29 -23
|
@@ -0,0 +1,1013 @@
|
|
|
1
|
+
import { NovaText } from '../../../../domain/types/renderer.types';
|
|
2
|
+
import { NovaRendererTextConfig, NovaRenderFrame, NovaRenderMetrics } from '../../../../domain/types/rendering/index';
|
|
3
|
+
import { NovaWebGLDevice } from './NovaWebGLDevice';
|
|
4
|
+
import { NovaAssetRegistry } from '../../../runtime/assets/NovaAssetRegistry';
|
|
5
|
+
/**
|
|
6
|
+
* Преобразует Nova render frame в WebGL draw calls и GPU uploads.
|
|
7
|
+
*/
|
|
8
|
+
export declare class NovaWebGLFrameRenderer {
|
|
9
|
+
private readonly _device;
|
|
10
|
+
private readonly _textConfig;
|
|
11
|
+
private readonly _assets;
|
|
12
|
+
private readonly _gl;
|
|
13
|
+
private readonly _roundedProgram;
|
|
14
|
+
private readonly _solidProgram;
|
|
15
|
+
private readonly _textureProgram;
|
|
16
|
+
private readonly _distanceFieldTextProgram;
|
|
17
|
+
private readonly _particleCircleProgram;
|
|
18
|
+
private readonly _particleSpriteProgram;
|
|
19
|
+
private readonly _rectBatchProgram;
|
|
20
|
+
private readonly _timeRangeSegmentProgram;
|
|
21
|
+
private readonly _textureRectBatchProgram;
|
|
22
|
+
private readonly _stripeBatchProgram;
|
|
23
|
+
private readonly _patternRectProgram;
|
|
24
|
+
private readonly _roundedBuffer;
|
|
25
|
+
private readonly _solidBuffer;
|
|
26
|
+
private readonly _textureBuffer;
|
|
27
|
+
private readonly _distanceFieldBuffer;
|
|
28
|
+
private readonly _particleQuadBuffer;
|
|
29
|
+
private readonly _roundedVao;
|
|
30
|
+
private readonly _solidVao;
|
|
31
|
+
private readonly _textureVao;
|
|
32
|
+
private readonly _distanceFieldVao;
|
|
33
|
+
private readonly _patternRectVao;
|
|
34
|
+
private readonly _measureCanvas;
|
|
35
|
+
private readonly _textRasterCanvas;
|
|
36
|
+
private readonly _textures;
|
|
37
|
+
private readonly _renderTargets;
|
|
38
|
+
private readonly _textAtlasPages;
|
|
39
|
+
private readonly _textAtlasEntries;
|
|
40
|
+
private readonly _textFallbackKeys;
|
|
41
|
+
private readonly _glyphAtlasPages;
|
|
42
|
+
private readonly _glyphAtlasEntries;
|
|
43
|
+
private readonly _prebuiltMsdfAtlasPages;
|
|
44
|
+
private readonly _sourceTextureKeys;
|
|
45
|
+
private readonly _plainRectBatchCache;
|
|
46
|
+
private readonly _rectBatchCache;
|
|
47
|
+
private readonly _textureBatchCache;
|
|
48
|
+
private readonly _semanticBatchCache;
|
|
49
|
+
private readonly _particleCircleBatchCache;
|
|
50
|
+
private readonly _particleSpriteBatchCache;
|
|
51
|
+
private readonly _rectStreamBatchCache;
|
|
52
|
+
private readonly _timeRangeSegmentBatchCache;
|
|
53
|
+
private readonly _iconStreamBatchCache;
|
|
54
|
+
private readonly _textStreamBatchCache;
|
|
55
|
+
private readonly _stripeStreamBatchCache;
|
|
56
|
+
private readonly _ownedRectSchemaBatchCaches;
|
|
57
|
+
private readonly _ownedTextureBatchCaches;
|
|
58
|
+
private readonly _ownedParticleCircleBatchCaches;
|
|
59
|
+
private readonly _ownedParticleSpriteBatchCaches;
|
|
60
|
+
private readonly _ownedRectStreamBatchCaches;
|
|
61
|
+
private readonly _ownedTimeRangeSegmentBatchCaches;
|
|
62
|
+
private readonly _ownedTextureRectStreamGroupCaches;
|
|
63
|
+
private readonly _ownedGlyphTextStreamGroupCaches;
|
|
64
|
+
private readonly _ownedStripeStreamBatchCaches;
|
|
65
|
+
private readonly _roundedUpload;
|
|
66
|
+
private readonly _solidUpload;
|
|
67
|
+
private readonly _textureUpload;
|
|
68
|
+
private readonly _distanceFieldUpload;
|
|
69
|
+
private _rectData;
|
|
70
|
+
private _rectCachedData;
|
|
71
|
+
private _rectCachedDirtyRanges;
|
|
72
|
+
private _solidData;
|
|
73
|
+
private _solidCachedData;
|
|
74
|
+
private _solidCachedDirtyRanges;
|
|
75
|
+
private _textureData;
|
|
76
|
+
private _textureBatch;
|
|
77
|
+
private _distanceFieldData;
|
|
78
|
+
private _distanceFieldBatch;
|
|
79
|
+
private _textureCachedData;
|
|
80
|
+
private _textureCachedDirtyRanges;
|
|
81
|
+
private _textureCachedBatch;
|
|
82
|
+
private _roundedTransform;
|
|
83
|
+
private _solidTransform;
|
|
84
|
+
private _textureTransform;
|
|
85
|
+
private _distanceFieldTransform;
|
|
86
|
+
private _time;
|
|
87
|
+
private _viewportWidth;
|
|
88
|
+
private _viewportHeight;
|
|
89
|
+
private _renderResolutionWidth;
|
|
90
|
+
private _renderResolutionHeight;
|
|
91
|
+
private _activeRenderTarget;
|
|
92
|
+
private readonly _renderTargetStack;
|
|
93
|
+
private _atlasGeneration;
|
|
94
|
+
private _textAtlasEvictionCount;
|
|
95
|
+
private _glyphAtlasEvictionCount;
|
|
96
|
+
private readonly _textRasterBucketStateByScope;
|
|
97
|
+
private readonly _textRunShapeCache;
|
|
98
|
+
private readonly _glyphTextBatchCache;
|
|
99
|
+
/**
|
|
100
|
+
* Создает instance и подготавливает внутреннее состояние.
|
|
101
|
+
*/
|
|
102
|
+
constructor(_device: NovaWebGLDevice, _textConfig?: NovaRendererTextConfig, _assets?: NovaAssetRegistry);
|
|
103
|
+
/**
|
|
104
|
+
* Выполняет render-операцию .
|
|
105
|
+
*/
|
|
106
|
+
render(frame: NovaRenderFrame): NovaRenderMetrics;
|
|
107
|
+
/**
|
|
108
|
+
* Выполняет внутреннюю операцию measure text.
|
|
109
|
+
*/
|
|
110
|
+
measureText(params: NovaText): {
|
|
111
|
+
width: number;
|
|
112
|
+
height: number;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Освобождает runtime resources и снимает связанные ссылки.
|
|
116
|
+
*/
|
|
117
|
+
destroy(): void;
|
|
118
|
+
/**
|
|
119
|
+
* Выполняет внутреннюю операцию draw render item.
|
|
120
|
+
*/
|
|
121
|
+
private drawRenderItem;
|
|
122
|
+
/**
|
|
123
|
+
* Вычисляет schema content version.
|
|
124
|
+
*/
|
|
125
|
+
private resolveSchemaContentVersion;
|
|
126
|
+
/**
|
|
127
|
+
* Возвращает retained dirty indices for schema batch.
|
|
128
|
+
*/
|
|
129
|
+
private resolveSchemaDirtyIndices;
|
|
130
|
+
/**
|
|
131
|
+
* Переносит dirty indices исходного semantic batch на дочерний layer batch.
|
|
132
|
+
*/
|
|
133
|
+
private applyLayerDirtyIndices;
|
|
134
|
+
/**
|
|
135
|
+
* Выполняет внутреннюю операцию draw schema batch.
|
|
136
|
+
*/
|
|
137
|
+
private drawSchemaBatch;
|
|
138
|
+
/**
|
|
139
|
+
* Выполняет внутреннюю операцию draw plain rect schema batch.
|
|
140
|
+
*/
|
|
141
|
+
private drawPlainRectSchemaBatch;
|
|
142
|
+
/**
|
|
143
|
+
* Рисует cacheable schema rect batch из собственного GPU buffer.
|
|
144
|
+
*/
|
|
145
|
+
private drawResidentRectSchemaBatch;
|
|
146
|
+
/**
|
|
147
|
+
* Создает resident GPU resources для schema rect batch при первом использовании.
|
|
148
|
+
*/
|
|
149
|
+
private ensureRectSchemaBatchCache;
|
|
150
|
+
/**
|
|
151
|
+
* Освобождает resident resources schema rect batch.
|
|
152
|
+
*/
|
|
153
|
+
private disposeRectSchemaBatchCache;
|
|
154
|
+
/**
|
|
155
|
+
* Выполняет внутреннюю операцию draw non overlap layered schema batch.
|
|
156
|
+
*/
|
|
157
|
+
private drawNonOverlapLayeredSchemaBatch;
|
|
158
|
+
/**
|
|
159
|
+
* Вычисляет non overlap layered batch.
|
|
160
|
+
*/
|
|
161
|
+
private resolveNonOverlapLayeredBatch;
|
|
162
|
+
/**
|
|
163
|
+
* Обновляет cached semantic child arrays свежими item references из mutable source schema.
|
|
164
|
+
*/
|
|
165
|
+
private refreshNonOverlapLayeredBatch;
|
|
166
|
+
/**
|
|
167
|
+
* Выполняет внутреннюю операцию build rect batch.
|
|
168
|
+
*/
|
|
169
|
+
private buildRectBatch;
|
|
170
|
+
/**
|
|
171
|
+
* Выполняет внутреннюю операцию build plain rect batch.
|
|
172
|
+
*/
|
|
173
|
+
private buildPlainRectBatch;
|
|
174
|
+
/**
|
|
175
|
+
* Обновляет rect batch.
|
|
176
|
+
*/
|
|
177
|
+
private updateRectBatch;
|
|
178
|
+
/**
|
|
179
|
+
* Обновляет plain rect batch.
|
|
180
|
+
*/
|
|
181
|
+
private updatePlainRectBatch;
|
|
182
|
+
/**
|
|
183
|
+
* Выполняет внутреннюю операцию draw texture schema batch.
|
|
184
|
+
*/
|
|
185
|
+
private drawTextureSchemaBatch;
|
|
186
|
+
/**
|
|
187
|
+
* Выполняет внутреннюю операцию build texture batch.
|
|
188
|
+
*/
|
|
189
|
+
private buildTextureBatch;
|
|
190
|
+
/**
|
|
191
|
+
* Обновляет texture batch.
|
|
192
|
+
*/
|
|
193
|
+
private updateTextureBatch;
|
|
194
|
+
/**
|
|
195
|
+
* Вычисляет texture batch item.
|
|
196
|
+
*/
|
|
197
|
+
private resolveTextureBatchItem;
|
|
198
|
+
/**
|
|
199
|
+
* Проверяет culled marker для texture batch.
|
|
200
|
+
*/
|
|
201
|
+
private isCulledTextureBatchItem;
|
|
202
|
+
/**
|
|
203
|
+
* Создает signature для culled text без rasterize.
|
|
204
|
+
*/
|
|
205
|
+
private createCulledTextSignature;
|
|
206
|
+
/**
|
|
207
|
+
* Создает rect signature.
|
|
208
|
+
*/
|
|
209
|
+
private createRectSignature;
|
|
210
|
+
/**
|
|
211
|
+
* Возвращает shader metadata schema item.
|
|
212
|
+
*/
|
|
213
|
+
private resolveShaderRenderMeta;
|
|
214
|
+
/**
|
|
215
|
+
* Создает signature для shader metadata, которая меняется только при смене конфигурации.
|
|
216
|
+
*/
|
|
217
|
+
private createShaderMetaSignature;
|
|
218
|
+
/**
|
|
219
|
+
* Проверяет plain rect.
|
|
220
|
+
*/
|
|
221
|
+
private isPlainRect;
|
|
222
|
+
/**
|
|
223
|
+
* Выполняет внутреннюю операцию draw primitive.
|
|
224
|
+
*/
|
|
225
|
+
private drawPrimitive;
|
|
226
|
+
/**
|
|
227
|
+
* Выполняет внутреннюю операцию draw rect.
|
|
228
|
+
*/
|
|
229
|
+
private drawRect;
|
|
230
|
+
/**
|
|
231
|
+
* Рисует border прямоугольника без rounded shader, когда radius равен нулю.
|
|
232
|
+
*/
|
|
233
|
+
private queueRectBorderLines;
|
|
234
|
+
/**
|
|
235
|
+
* Выполняет внутреннюю операцию draw border.
|
|
236
|
+
*/
|
|
237
|
+
private drawBorder;
|
|
238
|
+
/**
|
|
239
|
+
* Выполняет внутреннюю операцию draw text.
|
|
240
|
+
*/
|
|
241
|
+
private drawText;
|
|
242
|
+
/**
|
|
243
|
+
* Рисует текст как последовательность glyph quads.
|
|
244
|
+
*/
|
|
245
|
+
private drawGlyphText;
|
|
246
|
+
/**
|
|
247
|
+
* Возвращает left glyph quad с учетом transparent padding внутри atlas entry.
|
|
248
|
+
*/
|
|
249
|
+
private resolveGlyphQuadX;
|
|
250
|
+
/**
|
|
251
|
+
* Возвращает top glyph quad так, чтобы line box, а не вся padded texture, центрировался в text box.
|
|
252
|
+
*/
|
|
253
|
+
private resolveGlyphQuadY;
|
|
254
|
+
/**
|
|
255
|
+
* Возвращает horizontal padding glyph texture в logical px.
|
|
256
|
+
*/
|
|
257
|
+
private resolveGlyphPaddingX;
|
|
258
|
+
/**
|
|
259
|
+
* Возвращает vertical padding glyph texture в logical px.
|
|
260
|
+
*/
|
|
261
|
+
private resolveGlyphPaddingY;
|
|
262
|
+
/**
|
|
263
|
+
* Возвращает glyph entry из atlas или rasterize-ит новый glyph.
|
|
264
|
+
*/
|
|
265
|
+
private resolveGlyphAtlasEntry;
|
|
266
|
+
/**
|
|
267
|
+
* Выполняет rasterize одного glyph в alpha texture.
|
|
268
|
+
*/
|
|
269
|
+
private rasterizeGlyph;
|
|
270
|
+
private resolveGlyphDistanceFieldSource;
|
|
271
|
+
private resolveSdfPxRange;
|
|
272
|
+
private resolvePrebuiltMsdfGlyphAtlasEntry;
|
|
273
|
+
private resolvePrebuiltMsdfAtlasSource;
|
|
274
|
+
private isCanvasImageSource;
|
|
275
|
+
/**
|
|
276
|
+
* Кодирует single-channel runtime SDF в alpha channel glyph canvas.
|
|
277
|
+
*/
|
|
278
|
+
private encodeRuntimeSdf;
|
|
279
|
+
/**
|
|
280
|
+
* Загружает rasterized glyph в glyph atlas.
|
|
281
|
+
*/
|
|
282
|
+
private uploadGlyphAtlasEntry;
|
|
283
|
+
/**
|
|
284
|
+
* Возвращает страницу glyph atlas с местом под glyph.
|
|
285
|
+
*/
|
|
286
|
+
private resolveGlyphAtlasPage;
|
|
287
|
+
/**
|
|
288
|
+
* Создает пустую WebGL texture для glyph atlas page.
|
|
289
|
+
*/
|
|
290
|
+
private createEmptyGlyphAtlasTexture;
|
|
291
|
+
/**
|
|
292
|
+
* Освобождает старые glyph atlas pages под memory budget.
|
|
293
|
+
*/
|
|
294
|
+
private evictGlyphAtlasPagesFor;
|
|
295
|
+
/**
|
|
296
|
+
* Проверяет поддержку glyph path для text item.
|
|
297
|
+
*/
|
|
298
|
+
private isGlyphTextSupported;
|
|
299
|
+
/**
|
|
300
|
+
* Проверяет shaping cases, где glyph-atlas без HarfBuzz может разложить строку некорректно.
|
|
301
|
+
*/
|
|
302
|
+
private hasComplexGlyphText;
|
|
303
|
+
/**
|
|
304
|
+
* Возвращает true для Unicode ranges, требующих shaping, bidi или combining mark handling.
|
|
305
|
+
*/
|
|
306
|
+
private isComplexGlyphTextCodePoint;
|
|
307
|
+
/**
|
|
308
|
+
* Вычисляет эффективный режим текста с учетом item metadata и зон.
|
|
309
|
+
*/
|
|
310
|
+
private resolveTextRenderMode;
|
|
311
|
+
/**
|
|
312
|
+
* Выбирает text path в auto-режиме по форме строки, а не только по роли.
|
|
313
|
+
*/
|
|
314
|
+
private resolveAutoTextRenderMode;
|
|
315
|
+
/**
|
|
316
|
+
* Возвращает true для строк, где run-atlas дешевле или корректнее glyph-atlas.
|
|
317
|
+
*/
|
|
318
|
+
private shouldUseRunAtlasForAutoText;
|
|
319
|
+
/**
|
|
320
|
+
* Считает Unicode code points для coarse auto-routing эвристики.
|
|
321
|
+
*/
|
|
322
|
+
private countTextCodePoints;
|
|
323
|
+
/**
|
|
324
|
+
* Возвращает режим текста для продуктовой роли.
|
|
325
|
+
*/
|
|
326
|
+
private resolveTextRoleMode;
|
|
327
|
+
/**
|
|
328
|
+
* Нормализует режим текста из metadata.
|
|
329
|
+
*/
|
|
330
|
+
private normalizeTextRenderMode;
|
|
331
|
+
/**
|
|
332
|
+
* Нормализует роль текста из metadata.
|
|
333
|
+
*/
|
|
334
|
+
private normalizeTextRenderRole;
|
|
335
|
+
/**
|
|
336
|
+
* Возвращает scope bucket state для независимых ролей текста.
|
|
337
|
+
*/
|
|
338
|
+
private resolveTextRasterScope;
|
|
339
|
+
/**
|
|
340
|
+
* Возвращает context для измерения glyph.
|
|
341
|
+
*/
|
|
342
|
+
private measureContext;
|
|
343
|
+
/**
|
|
344
|
+
* Измеряет advance glyph.
|
|
345
|
+
*/
|
|
346
|
+
private measureGlyphAdvance;
|
|
347
|
+
/**
|
|
348
|
+
* Вычисляет texture raster scale.
|
|
349
|
+
*/
|
|
350
|
+
private resolveTextureRasterScale;
|
|
351
|
+
/**
|
|
352
|
+
* Вычисляет text raster scale.
|
|
353
|
+
*/
|
|
354
|
+
private resolveTextRasterScale;
|
|
355
|
+
/**
|
|
356
|
+
* Возвращает drawable text atlas item или откладывает растеризацию по frame budget.
|
|
357
|
+
*/
|
|
358
|
+
private resolveTextAtlasItem;
|
|
359
|
+
/**
|
|
360
|
+
* Подготавливает соседние text buckets в рамках оставшегося raster budget.
|
|
361
|
+
*/
|
|
362
|
+
private prewarmAdjacentTextBuckets;
|
|
363
|
+
/**
|
|
364
|
+
* Возвращает соседние raster scales для prewarm.
|
|
365
|
+
*/
|
|
366
|
+
private resolveAdjacentTextRasterScales;
|
|
367
|
+
/**
|
|
368
|
+
* Возвращает fallback entry другого scale для того же text run.
|
|
369
|
+
*/
|
|
370
|
+
private resolveTextFallbackEntry;
|
|
371
|
+
/**
|
|
372
|
+
* Создает drawable item из text atlas entry.
|
|
373
|
+
*/
|
|
374
|
+
private createTextAtlasDrawableItem;
|
|
375
|
+
/**
|
|
376
|
+
* Возвращает world-space quad для atlas entry с сохранением implicit box clip.
|
|
377
|
+
*/
|
|
378
|
+
private resolveTextAtlasQuad;
|
|
379
|
+
/**
|
|
380
|
+
* Записывает diagnostics по размеру rasterized run-atlas entry.
|
|
381
|
+
*/
|
|
382
|
+
private recordTextRasterDiagnostics;
|
|
383
|
+
/**
|
|
384
|
+
* Загружает rasterized text run в atlas page через texSubImage2D.
|
|
385
|
+
*/
|
|
386
|
+
private uploadTextAtlasEntry;
|
|
387
|
+
/**
|
|
388
|
+
* Возвращает atlas page с местом под rasterized text.
|
|
389
|
+
*/
|
|
390
|
+
private resolveTextAtlasPage;
|
|
391
|
+
/**
|
|
392
|
+
* Проверяет, поместится ли entry на существующую atlas page.
|
|
393
|
+
*/
|
|
394
|
+
private tryFitTextAtlasPage;
|
|
395
|
+
/**
|
|
396
|
+
* Создает пустую WebGL texture для text atlas page.
|
|
397
|
+
*/
|
|
398
|
+
private createEmptyTextAtlasTexture;
|
|
399
|
+
/**
|
|
400
|
+
* Освобождает старые text atlas pages под memory budget.
|
|
401
|
+
*/
|
|
402
|
+
private evictTextAtlasPagesFor;
|
|
403
|
+
/**
|
|
404
|
+
* Проверяет screen-space видимость rect.
|
|
405
|
+
*/
|
|
406
|
+
private isRectVisible;
|
|
407
|
+
/**
|
|
408
|
+
* Проверяет screen-space LOD для text run и обновляет diagnostics.
|
|
409
|
+
*/
|
|
410
|
+
private shouldDrawTextRun;
|
|
411
|
+
/**
|
|
412
|
+
* Проверяет, нужно ли скрыть text run по LOD.
|
|
413
|
+
*/
|
|
414
|
+
private shouldDropTextRunByLod;
|
|
415
|
+
/**
|
|
416
|
+
* Проверяет, включена ли policy-driven culling для text runs.
|
|
417
|
+
*/
|
|
418
|
+
private shouldCullTextRuns;
|
|
419
|
+
/**
|
|
420
|
+
* Проверяет, включен ли culling для texture stream.
|
|
421
|
+
*/
|
|
422
|
+
private shouldCullTextureItems;
|
|
423
|
+
/**
|
|
424
|
+
* Проверяет, включен ли viewport culling для geometry streams.
|
|
425
|
+
*/
|
|
426
|
+
private shouldCullGeometryItems;
|
|
427
|
+
/**
|
|
428
|
+
* Создает ключ viewport visibility для batches, зависящих от transform.
|
|
429
|
+
*/
|
|
430
|
+
private resolveBatchVisibilityKey;
|
|
431
|
+
/**
|
|
432
|
+
* Возвращает frame budget для rasterization с учетом resolved mode и interaction policy.
|
|
433
|
+
*/
|
|
434
|
+
private resolveTextRasterBudgetMs;
|
|
435
|
+
/**
|
|
436
|
+
* Проверяет, разрешен ли prewarm соседних buckets.
|
|
437
|
+
*/
|
|
438
|
+
private shouldPrewarmTextBuckets;
|
|
439
|
+
/**
|
|
440
|
+
* Возвращает max raster scale с учетом interaction policy.
|
|
441
|
+
*/
|
|
442
|
+
private resolveMaxTextRasterScale;
|
|
443
|
+
/**
|
|
444
|
+
* Проверяет, нужно ли заморозить bucket во время interaction profile.
|
|
445
|
+
*/
|
|
446
|
+
private shouldFreezeTextBuckets;
|
|
447
|
+
/**
|
|
448
|
+
* Выполняет внутреннюю операцию draw line.
|
|
449
|
+
*/
|
|
450
|
+
private drawLine;
|
|
451
|
+
/**
|
|
452
|
+
* Выполняет внутреннюю операцию draw circle.
|
|
453
|
+
*/
|
|
454
|
+
private drawCircle;
|
|
455
|
+
/**
|
|
456
|
+
* Выполняет внутреннюю операцию draw arc.
|
|
457
|
+
*/
|
|
458
|
+
private drawArc;
|
|
459
|
+
/**
|
|
460
|
+
* Выполняет внутреннюю операцию draw polygon.
|
|
461
|
+
*/
|
|
462
|
+
private drawPolygon;
|
|
463
|
+
/**
|
|
464
|
+
* Выполняет внутреннюю операцию draw icon.
|
|
465
|
+
*/
|
|
466
|
+
private drawIcon;
|
|
467
|
+
/**
|
|
468
|
+
* Выполняет внутреннюю операцию draw nine-slice image.
|
|
469
|
+
*/
|
|
470
|
+
private drawNineSliceImage;
|
|
471
|
+
/**
|
|
472
|
+
* Рисует процедурный pattern rect одним fullscreen-quad shader проходом.
|
|
473
|
+
*/
|
|
474
|
+
private drawPatternRect;
|
|
475
|
+
/**
|
|
476
|
+
* Рисует retained rect batch через specialized instanced stream.
|
|
477
|
+
*/
|
|
478
|
+
private drawRectBatch;
|
|
479
|
+
/**
|
|
480
|
+
* Рисует retained time-range segment batch, вычисляя x/width в shader uniforms.
|
|
481
|
+
*/
|
|
482
|
+
private drawTimeRangeSegmentBatch;
|
|
483
|
+
/**
|
|
484
|
+
* Рисует retained stripe batch через texture repeat stream.
|
|
485
|
+
*/
|
|
486
|
+
private drawStripeBatch;
|
|
487
|
+
/**
|
|
488
|
+
* Рисует retained icon batch через texture stream.
|
|
489
|
+
*/
|
|
490
|
+
private drawIconBatch;
|
|
491
|
+
/**
|
|
492
|
+
* Рисует retained text batch через retained text atlas.
|
|
493
|
+
*/
|
|
494
|
+
private drawTextBatch;
|
|
495
|
+
/**
|
|
496
|
+
* Выбирает text path для retained batch без полного прохода по всем строкам.
|
|
497
|
+
*/
|
|
498
|
+
private resolveTextBatchRenderMode;
|
|
499
|
+
/**
|
|
500
|
+
* Выбирает auto text path для retained batch.
|
|
501
|
+
*/
|
|
502
|
+
private resolveAutoTextBatchRenderMode;
|
|
503
|
+
/**
|
|
504
|
+
* Проверяет bounded sample batch-а для auto-routing.
|
|
505
|
+
*/
|
|
506
|
+
private shouldUseRunAtlasForAutoTextBatch;
|
|
507
|
+
/**
|
|
508
|
+
* Рисует retained text batch через glyph/MSDF atlas.
|
|
509
|
+
*/
|
|
510
|
+
private drawGlyphTextBatch;
|
|
511
|
+
/**
|
|
512
|
+
* Возвращает retained glyph text cache.
|
|
513
|
+
*/
|
|
514
|
+
private resolveGlyphTextBatchCache;
|
|
515
|
+
/**
|
|
516
|
+
* Создает retained glyph text cache.
|
|
517
|
+
*/
|
|
518
|
+
private createGlyphTextBatchCache;
|
|
519
|
+
/**
|
|
520
|
+
* Обновляет dirty ranges retained glyph cache, если topology glyph groups не изменилась.
|
|
521
|
+
*/
|
|
522
|
+
private updateGlyphTextBatchCache;
|
|
523
|
+
/**
|
|
524
|
+
* Создает retained glyph stream group.
|
|
525
|
+
*/
|
|
526
|
+
private createGlyphTextStreamGroupCache;
|
|
527
|
+
/**
|
|
528
|
+
* Записывает один glyph quad в retained buffers.
|
|
529
|
+
*/
|
|
530
|
+
private writeGlyphTextQuad;
|
|
531
|
+
private resolveGlyphTextStaticStride;
|
|
532
|
+
/**
|
|
533
|
+
* Рисует retained glyph text cache.
|
|
534
|
+
*/
|
|
535
|
+
private drawGlyphTextBatchCache;
|
|
536
|
+
/**
|
|
537
|
+
* Проверяет, что retained glyph cache не ссылается на evicted atlas pages.
|
|
538
|
+
*/
|
|
539
|
+
private isGlyphTextBatchCacheStale;
|
|
540
|
+
/**
|
|
541
|
+
* Проверяет, что retained run-atlas cache не ссылается на evicted atlas pages.
|
|
542
|
+
*/
|
|
543
|
+
private isTextStreamBatchCacheStale;
|
|
544
|
+
/**
|
|
545
|
+
* Проверяет, что retained source texture cache не ссылается на evicted textures.
|
|
546
|
+
*/
|
|
547
|
+
private isSourceTextureStreamBatchCacheStale;
|
|
548
|
+
/**
|
|
549
|
+
* Создает glyph quads для одного text run.
|
|
550
|
+
*/
|
|
551
|
+
private createGlyphTextQuads;
|
|
552
|
+
/**
|
|
553
|
+
* Возвращает shaped run из LRU cache.
|
|
554
|
+
*/
|
|
555
|
+
private resolveTextRunShape;
|
|
556
|
+
/**
|
|
557
|
+
* Повторяет старое поведение Canvas renderer: если строка не помещается в
|
|
558
|
+
* content-box, center/right превращаются в left, чтобы clip показывал начало.
|
|
559
|
+
*/
|
|
560
|
+
private resolveTextOverflowHorizontalAlign;
|
|
561
|
+
/**
|
|
562
|
+
* Ограничивает размер shaped run cache.
|
|
563
|
+
*/
|
|
564
|
+
private evictTextRunShapeCache;
|
|
565
|
+
/**
|
|
566
|
+
* Возвращает NovaText для item retained text batch.
|
|
567
|
+
*/
|
|
568
|
+
private createTextFromBatch;
|
|
569
|
+
/**
|
|
570
|
+
* Создает coarse visibility key для retained text batches.
|
|
571
|
+
*/
|
|
572
|
+
private resolveTextBatchVisibilityKey;
|
|
573
|
+
/**
|
|
574
|
+
* Проверяет, что texture все еще принадлежит соответствующему atlas pool.
|
|
575
|
+
*/
|
|
576
|
+
private isTextureAlive;
|
|
577
|
+
/**
|
|
578
|
+
* Проверяет, что retained texture batch ссылается на живую source или atlas texture.
|
|
579
|
+
*/
|
|
580
|
+
private isRetainedTextureAlive;
|
|
581
|
+
/**
|
|
582
|
+
* Проверяет, что source texture все еще принадлежит renderer texture cache.
|
|
583
|
+
*/
|
|
584
|
+
private isSourceTextureAlive;
|
|
585
|
+
/**
|
|
586
|
+
* Проверяет, что texture не была удалена в WebGL context.
|
|
587
|
+
*/
|
|
588
|
+
private isTextureBindable;
|
|
589
|
+
/**
|
|
590
|
+
* Закрепляет atlas page на текущий кадр, если retained cache рисует ее без нового resolve.
|
|
591
|
+
*/
|
|
592
|
+
private pinAtlasPageForTexture;
|
|
593
|
+
/**
|
|
594
|
+
* Возвращает retained icon stream cache.
|
|
595
|
+
*/
|
|
596
|
+
private resolveIconStreamBatchCache;
|
|
597
|
+
/**
|
|
598
|
+
* Создает retained icon stream cache.
|
|
599
|
+
*/
|
|
600
|
+
private createIconStreamBatchCache;
|
|
601
|
+
/**
|
|
602
|
+
* Обновляет geometry старого retained texture batch cache без пересоздания static texture groups.
|
|
603
|
+
*/
|
|
604
|
+
private updateTextureRectStreamBatchCacheGeometry;
|
|
605
|
+
/**
|
|
606
|
+
* Возвращает retained text stream cache.
|
|
607
|
+
*/
|
|
608
|
+
private resolveTextStreamBatchCache;
|
|
609
|
+
/**
|
|
610
|
+
* Создает retained text stream cache.
|
|
611
|
+
*/
|
|
612
|
+
private createTextStreamBatchCache;
|
|
613
|
+
/**
|
|
614
|
+
* Возвращает style object для text batch.
|
|
615
|
+
*/
|
|
616
|
+
private createTextBatchStyleBase;
|
|
617
|
+
/**
|
|
618
|
+
* Создает retained texture rect group cache.
|
|
619
|
+
*/
|
|
620
|
+
private createTextureRectStreamGroupCache;
|
|
621
|
+
/**
|
|
622
|
+
* Записывает dynamic geometry для retained texture rect group.
|
|
623
|
+
*/
|
|
624
|
+
private writeTextureRectGeometry;
|
|
625
|
+
/**
|
|
626
|
+
* Возвращает clipped rect для retained texture stream item.
|
|
627
|
+
*/
|
|
628
|
+
private resolveClippedTextureRect;
|
|
629
|
+
/**
|
|
630
|
+
* Возвращает per-item clip для text batch, если batch его содержит.
|
|
631
|
+
*/
|
|
632
|
+
private resolveTextBatchClip;
|
|
633
|
+
/**
|
|
634
|
+
* Записывает static uv/opacity для retained texture rect group.
|
|
635
|
+
*/
|
|
636
|
+
private writeTextureRectStaticData;
|
|
637
|
+
/**
|
|
638
|
+
* Рисует retained texture rect cache через instanced stream.
|
|
639
|
+
*/
|
|
640
|
+
private drawTextureRectStreamBatchCache;
|
|
641
|
+
/**
|
|
642
|
+
* Возвращает retained analytic stripe stream cache.
|
|
643
|
+
*/
|
|
644
|
+
private resolveStripeStreamBatchCache;
|
|
645
|
+
/**
|
|
646
|
+
* Создает retained analytic stripe stream cache.
|
|
647
|
+
*/
|
|
648
|
+
private createStripeStreamBatchCache;
|
|
649
|
+
/**
|
|
650
|
+
* Записывает dynamic stripe geometry.
|
|
651
|
+
*/
|
|
652
|
+
private writeStripeBatchGeometry;
|
|
653
|
+
/**
|
|
654
|
+
* Записывает static stripe material.
|
|
655
|
+
*/
|
|
656
|
+
private writeStripeBatchStaticData;
|
|
657
|
+
/**
|
|
658
|
+
* Рисует retained analytic stripe cache.
|
|
659
|
+
*/
|
|
660
|
+
private drawStripeStreamBatchCache;
|
|
661
|
+
/**
|
|
662
|
+
* Возвращает stripe descriptor для asset ref.
|
|
663
|
+
*/
|
|
664
|
+
private resolveStripeDescriptor;
|
|
665
|
+
/**
|
|
666
|
+
* Рисует stripe batch старым texture path, если fill не является stripe descriptor.
|
|
667
|
+
*/
|
|
668
|
+
private drawStripeTextureFallbackBatch;
|
|
669
|
+
/**
|
|
670
|
+
* Рисует retained particle batch через specialized instanced stream.
|
|
671
|
+
*/
|
|
672
|
+
private drawParticleBatch;
|
|
673
|
+
/**
|
|
674
|
+
* Рисует circle particles через analytic shader.
|
|
675
|
+
*/
|
|
676
|
+
private drawCircleParticleBatch;
|
|
677
|
+
/**
|
|
678
|
+
* Рисует sprite particles через texture instancing.
|
|
679
|
+
*/
|
|
680
|
+
private drawSpriteParticleBatch;
|
|
681
|
+
/**
|
|
682
|
+
* Выполняет внутреннюю операцию draw texture source.
|
|
683
|
+
*/
|
|
684
|
+
private drawTextureSource;
|
|
685
|
+
/**
|
|
686
|
+
* Возвращает texture entry для drawable asset/source.
|
|
687
|
+
*/
|
|
688
|
+
private resolveTextureEntry;
|
|
689
|
+
/**
|
|
690
|
+
* Создает cache для circle particle batch.
|
|
691
|
+
*/
|
|
692
|
+
private createCircleParticleCache;
|
|
693
|
+
/**
|
|
694
|
+
* Создает cache для sprite particle batch.
|
|
695
|
+
*/
|
|
696
|
+
private createSpriteParticleCache;
|
|
697
|
+
/**
|
|
698
|
+
* Создает cache для instanced rect batch.
|
|
699
|
+
*/
|
|
700
|
+
private createRectStreamBatchCache;
|
|
701
|
+
/**
|
|
702
|
+
* Записывает dynamic rect geometry.
|
|
703
|
+
*/
|
|
704
|
+
private writeRectBatchGeometry;
|
|
705
|
+
/**
|
|
706
|
+
* Записывает static rect paint/state attributes.
|
|
707
|
+
*/
|
|
708
|
+
private writeRectBatchStaticData;
|
|
709
|
+
/**
|
|
710
|
+
* Создает cache для GPU-resident time-range segment batch.
|
|
711
|
+
*/
|
|
712
|
+
private createTimeRangeSegmentBatchCache;
|
|
713
|
+
/**
|
|
714
|
+
* Записывает dynamic time-range segment geometry.
|
|
715
|
+
*/
|
|
716
|
+
private writeTimeRangeSegmentGeometry;
|
|
717
|
+
/**
|
|
718
|
+
* Записывает static time-range segment colors.
|
|
719
|
+
*/
|
|
720
|
+
private writeTimeRangeSegmentStaticData;
|
|
721
|
+
/**
|
|
722
|
+
* Записывает dynamic particle positions.
|
|
723
|
+
*/
|
|
724
|
+
private writeParticlePositions;
|
|
725
|
+
/**
|
|
726
|
+
* Записывает static circle particle attributes.
|
|
727
|
+
*/
|
|
728
|
+
private writeCircleParticleStaticData;
|
|
729
|
+
/**
|
|
730
|
+
* Записывает static sprite particle attributes.
|
|
731
|
+
*/
|
|
732
|
+
private writeSpriteParticleStaticData;
|
|
733
|
+
/**
|
|
734
|
+
* Выполняет внутреннюю операцию queue rounded rect.
|
|
735
|
+
*/
|
|
736
|
+
private queueRoundedRect;
|
|
737
|
+
/**
|
|
738
|
+
* Выполняет внутреннюю операцию queue plain rect.
|
|
739
|
+
*/
|
|
740
|
+
private queuePlainRect;
|
|
741
|
+
/**
|
|
742
|
+
* Выполняет внутреннюю операцию push rounded rect vertices.
|
|
743
|
+
*/
|
|
744
|
+
private pushRoundedRectVertices;
|
|
745
|
+
/**
|
|
746
|
+
* Записывает rounded rect vertices.
|
|
747
|
+
*/
|
|
748
|
+
private writeRoundedRectVertices;
|
|
749
|
+
/**
|
|
750
|
+
* Выполняет внутреннюю операцию push solid rect vertices.
|
|
751
|
+
*/
|
|
752
|
+
private pushSolidRectVertices;
|
|
753
|
+
/**
|
|
754
|
+
* Записывает solid rect vertices.
|
|
755
|
+
*/
|
|
756
|
+
private writeSolidRectVertices;
|
|
757
|
+
/**
|
|
758
|
+
* Выполняет внутреннюю операцию queue solid triangle.
|
|
759
|
+
*/
|
|
760
|
+
private queueSolidTriangle;
|
|
761
|
+
/**
|
|
762
|
+
* Выполняет внутреннюю операцию queue solid line.
|
|
763
|
+
*/
|
|
764
|
+
private queueSolidLine;
|
|
765
|
+
/**
|
|
766
|
+
* Выполняет внутреннюю операцию queue dashed line.
|
|
767
|
+
*/
|
|
768
|
+
private queueDashedLine;
|
|
769
|
+
/**
|
|
770
|
+
* Выполняет внутреннюю операцию queue texture quad.
|
|
771
|
+
*/
|
|
772
|
+
private queueTextureQuad;
|
|
773
|
+
/**
|
|
774
|
+
* Добавляет texture quad с CPU clipping и пересчетом UV без смены scissor.
|
|
775
|
+
*/
|
|
776
|
+
private queueClippedTextureQuad;
|
|
777
|
+
/**
|
|
778
|
+
* Выполняет внутреннюю операцию queue distance-field glyph quad.
|
|
779
|
+
*/
|
|
780
|
+
private queueDistanceFieldGlyphQuad;
|
|
781
|
+
/**
|
|
782
|
+
* Добавляет distance-field glyph quad с CPU clipping и пересчетом UV.
|
|
783
|
+
*/
|
|
784
|
+
private queueClippedDistanceFieldGlyphQuad;
|
|
785
|
+
/**
|
|
786
|
+
* Переключает WebGL output в offscreen framebuffer.
|
|
787
|
+
*/
|
|
788
|
+
private beginRenderTarget;
|
|
789
|
+
/**
|
|
790
|
+
* Возвращает WebGL output в предыдущий framebuffer.
|
|
791
|
+
*/
|
|
792
|
+
private endRenderTarget;
|
|
793
|
+
/**
|
|
794
|
+
* Рисует offscreen framebuffer texture как обычный texture quad.
|
|
795
|
+
*/
|
|
796
|
+
private drawRenderTarget;
|
|
797
|
+
/**
|
|
798
|
+
* Создает или обновляет WebGL texture/framebuffer для render target.
|
|
799
|
+
*/
|
|
800
|
+
private ensureRenderTargetTexture;
|
|
801
|
+
/**
|
|
802
|
+
* Обрезает destination rect и UV относительно clip rect.
|
|
803
|
+
*/
|
|
804
|
+
private clipTextureRect;
|
|
805
|
+
/**
|
|
806
|
+
* Выполняет внутреннюю операцию push texture quad vertices.
|
|
807
|
+
*/
|
|
808
|
+
private pushTextureQuadVertices;
|
|
809
|
+
/**
|
|
810
|
+
* Выполняет внутреннюю операцию push distance-field glyph quad vertices.
|
|
811
|
+
*/
|
|
812
|
+
private pushDistanceFieldQuadVertices;
|
|
813
|
+
/**
|
|
814
|
+
* Записывает texture quad vertices.
|
|
815
|
+
*/
|
|
816
|
+
private writeTextureQuadVertices;
|
|
817
|
+
/**
|
|
818
|
+
* Выполняет внутреннюю операцию push solid vertex.
|
|
819
|
+
*/
|
|
820
|
+
private pushSolidVertex;
|
|
821
|
+
/**
|
|
822
|
+
* Выполняет внутреннюю операцию push solid vertex to.
|
|
823
|
+
*/
|
|
824
|
+
private pushSolidVertexTo;
|
|
825
|
+
/**
|
|
826
|
+
* Сбрасывает накопленные операции в следующий слой runtime.
|
|
827
|
+
*/
|
|
828
|
+
private flush;
|
|
829
|
+
/**
|
|
830
|
+
* Выполняет внутреннюю операцию prepare rounded transform.
|
|
831
|
+
*/
|
|
832
|
+
private prepareRoundedTransform;
|
|
833
|
+
/**
|
|
834
|
+
* Выполняет внутреннюю операцию prepare solid transform.
|
|
835
|
+
*/
|
|
836
|
+
private prepareSolidTransform;
|
|
837
|
+
/**
|
|
838
|
+
* Выполняет внутреннюю операцию prepare texture transform.
|
|
839
|
+
*/
|
|
840
|
+
private prepareTextureTransform;
|
|
841
|
+
/**
|
|
842
|
+
* Выполняет внутреннюю операцию prepare distance-field transform.
|
|
843
|
+
*/
|
|
844
|
+
private prepareDistanceFieldTransform;
|
|
845
|
+
/**
|
|
846
|
+
* Сбрасывает накопленные операции в следующий слой runtime.
|
|
847
|
+
*/
|
|
848
|
+
private flushRounded;
|
|
849
|
+
/**
|
|
850
|
+
* Сбрасывает накопленные операции в следующий слой runtime.
|
|
851
|
+
*/
|
|
852
|
+
private flushSolid;
|
|
853
|
+
/**
|
|
854
|
+
* Сбрасывает накопленные операции в следующий слой runtime.
|
|
855
|
+
*/
|
|
856
|
+
private flushTexture;
|
|
857
|
+
/**
|
|
858
|
+
* Сбрасывает накопленные distance-field glyph операции в следующий слой runtime.
|
|
859
|
+
*/
|
|
860
|
+
private flushDistanceField;
|
|
861
|
+
/**
|
|
862
|
+
* Выполняет внутреннюю операцию upload array buffer.
|
|
863
|
+
*/
|
|
864
|
+
private uploadArrayBuffer;
|
|
865
|
+
/**
|
|
866
|
+
* Создает buffer.
|
|
867
|
+
*/
|
|
868
|
+
private createBuffer;
|
|
869
|
+
/**
|
|
870
|
+
* Создает rounded vao.
|
|
871
|
+
*/
|
|
872
|
+
private createRoundedVao;
|
|
873
|
+
/**
|
|
874
|
+
* Создает solid vao.
|
|
875
|
+
*/
|
|
876
|
+
private createSolidVao;
|
|
877
|
+
/**
|
|
878
|
+
* Создает texture vao.
|
|
879
|
+
*/
|
|
880
|
+
private createTextureVao;
|
|
881
|
+
/**
|
|
882
|
+
* Создает distance-field glyph vao.
|
|
883
|
+
*/
|
|
884
|
+
private createDistanceFieldVao;
|
|
885
|
+
/**
|
|
886
|
+
* Создает VAO для процедурного pattern rect.
|
|
887
|
+
*/
|
|
888
|
+
private createPatternRectVao;
|
|
889
|
+
/**
|
|
890
|
+
* Создает VAO для circle particle stream.
|
|
891
|
+
*/
|
|
892
|
+
private createParticleCircleVao;
|
|
893
|
+
/**
|
|
894
|
+
* Создает VAO для sprite particle stream.
|
|
895
|
+
*/
|
|
896
|
+
private createParticleSpriteVao;
|
|
897
|
+
/**
|
|
898
|
+
* Создает VAO для rect batch stream.
|
|
899
|
+
*/
|
|
900
|
+
private createRectBatchVao;
|
|
901
|
+
/**
|
|
902
|
+
* Создает VAO для GPU-resident time-range segment stream.
|
|
903
|
+
*/
|
|
904
|
+
private createTimeRangeSegmentBatchVao;
|
|
905
|
+
/**
|
|
906
|
+
* Создает VAO для retained texture rect stream.
|
|
907
|
+
*/
|
|
908
|
+
private createTextureRectBatchVao;
|
|
909
|
+
/**
|
|
910
|
+
* Создает VAO для retained distance-field glyph stream.
|
|
911
|
+
*/
|
|
912
|
+
private createDistanceFieldGlyphBatchVao;
|
|
913
|
+
/**
|
|
914
|
+
* Создает VAO для retained analytic stripe stream.
|
|
915
|
+
*/
|
|
916
|
+
private createStripeBatchVao;
|
|
917
|
+
/**
|
|
918
|
+
* Создает vao.
|
|
919
|
+
*/
|
|
920
|
+
private createVao;
|
|
921
|
+
/**
|
|
922
|
+
* Выполняет внутреннюю операцию bind attrib.
|
|
923
|
+
*/
|
|
924
|
+
private bindAttrib;
|
|
925
|
+
/**
|
|
926
|
+
* Привязывает instanced attribute.
|
|
927
|
+
*/
|
|
928
|
+
private bindAttribDivisor;
|
|
929
|
+
/**
|
|
930
|
+
* Загружает shared unit quad для instanced particle streams.
|
|
931
|
+
*/
|
|
932
|
+
private initializeParticleQuadBuffer;
|
|
933
|
+
/**
|
|
934
|
+
* Вычисляет texture buffer.
|
|
935
|
+
*/
|
|
936
|
+
private resolveTextureBuffer;
|
|
937
|
+
/**
|
|
938
|
+
* Вычисляет texture vao.
|
|
939
|
+
*/
|
|
940
|
+
private resolveTextureVao;
|
|
941
|
+
/**
|
|
942
|
+
* Создает texture from source.
|
|
943
|
+
*/
|
|
944
|
+
private createTextureFromSource;
|
|
945
|
+
/**
|
|
946
|
+
* Выполняет внутреннюю операцию rasterize text.
|
|
947
|
+
*/
|
|
948
|
+
private rasterizeText;
|
|
949
|
+
/**
|
|
950
|
+
* Вычисляет layout текста до выбора raster rectangle.
|
|
951
|
+
*/
|
|
952
|
+
private resolveTextRasterLayout;
|
|
953
|
+
/**
|
|
954
|
+
* Выбирает full-box или tight raster rectangle для run-atlas entry.
|
|
955
|
+
*/
|
|
956
|
+
private resolveTextRasterBounds;
|
|
957
|
+
/**
|
|
958
|
+
* Создает text key.
|
|
959
|
+
*/
|
|
960
|
+
private createTextKey;
|
|
961
|
+
/**
|
|
962
|
+
* Создает text key без raster scale для fallback между buckets.
|
|
963
|
+
*/
|
|
964
|
+
private createTextBaseKey;
|
|
965
|
+
/**
|
|
966
|
+
* Вычисляет source key.
|
|
967
|
+
*/
|
|
968
|
+
private resolveSourceKey;
|
|
969
|
+
/**
|
|
970
|
+
* Выполняет внутреннюю операцию source texture keys size.
|
|
971
|
+
*/
|
|
972
|
+
private _sourceTextureKeysSize;
|
|
973
|
+
/**
|
|
974
|
+
* Вычисляет border sides.
|
|
975
|
+
*/
|
|
976
|
+
private resolveBorderSides;
|
|
977
|
+
/**
|
|
978
|
+
* Обновляет scissor.
|
|
979
|
+
*/
|
|
980
|
+
private setScissor;
|
|
981
|
+
/**
|
|
982
|
+
* Выполняет внутреннюю операцию texture memory mb.
|
|
983
|
+
*/
|
|
984
|
+
private textureMemoryMB;
|
|
985
|
+
/**
|
|
986
|
+
* Возвращает memory bytes text atlas pages.
|
|
987
|
+
*/
|
|
988
|
+
private textAtlasMemoryBytes;
|
|
989
|
+
/**
|
|
990
|
+
* Возвращает memory bytes glyph atlas pages.
|
|
991
|
+
*/
|
|
992
|
+
private glyphAtlasMemoryBytes;
|
|
993
|
+
/**
|
|
994
|
+
* Возвращает число atlas pages, которые использовались в текущем кадре.
|
|
995
|
+
*/
|
|
996
|
+
private countPinnedAtlasPages;
|
|
997
|
+
/**
|
|
998
|
+
* Освобождает все text atlas pages.
|
|
999
|
+
*/
|
|
1000
|
+
private destroyTextAtlas;
|
|
1001
|
+
/**
|
|
1002
|
+
* Освобождает все glyph atlas pages.
|
|
1003
|
+
*/
|
|
1004
|
+
private destroyGlyphAtlas;
|
|
1005
|
+
/**
|
|
1006
|
+
* Выполняет внутреннюю операцию evict textures if needed.
|
|
1007
|
+
*/
|
|
1008
|
+
private evictTexturesIfNeeded;
|
|
1009
|
+
/**
|
|
1010
|
+
* Проверяет, что texture сейчас используется активной draw batch и не может быть evicted.
|
|
1011
|
+
*/
|
|
1012
|
+
private isTextureProtectedFromEviction;
|
|
1013
|
+
}
|