Skip to content

#15 Introduce Text Renderer - #145

Merged
Av3boy merged 27 commits into
devfrom
15-av-text-renderer
Sep 20, 2026
Merged

Av3boy merged 27 commits into
devfrom
15-av-text-renderer

#15 Fix build and refine dependency graph

bbe8b3b
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis succeeded Sep 20, 2026 in 15s

Annotations

Check warning on line 6 in SharpEngine.Core.Components/Properties/Textures/TextureRuntime.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Seal class 'Texture' or implement 'IEqualityComparer<T>' instead.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjhF2zUHyXSZnaz6&open=AaBxYjhF2zUHyXSZnaz6&pullRequest=145

Check failure on line 118 in SharpEngine.Text/Glyphs/Glyph.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 30 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwJNY9lWA-gfUawH&open=AaCYEwJNY9lWA-gfUawH&pullRequest=145

Check warning on line 172 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused local variable 'w'.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUawB&open=AaCYEwGXY9lWA-gfUawB&pullRequest=145

Check warning on line 46 in SharpEngine.Text/Glyphs/GlyphAtlasExtensions.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make sure that this accessibility bypass is safe here.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwJZY9lWA-gfUawJ&open=AaCYEwJZY9lWA-gfUawJ&pullRequest=145

Check warning on line 41 in SharpEngine.Text/Fonts/FontGlyphExtractor.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Merge this if statement with the enclosing one.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwLlY9lWA-gfUawe&open=AaCYEwLlY9lWA-gfUawe&pullRequest=145

Check warning on line 49 in SharpEngine.Text/Fonts/Font.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this 'TODO' comment.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwK1Y9lWA-gfUawQ&open=AaCYEwK1Y9lWA-gfUawQ&pullRequest=145

Check warning on line 175 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused local variable 'advance2'.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUawD&open=AaCYEwGXY9lWA-gfUawD&pullRequest=145

Check warning on line 109 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use PascalCase for named placeholders.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUav5&open=AaCYEwGXY9lWA-gfUav5&pullRequest=145

Check failure on line 22 in SharpEngine.Text/BitMapExtensions.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 22 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwctY9lWA-gfUawh&open=AaCYEwctY9lWA-gfUawh&pullRequest=145

Check warning on line 166 in SharpEngine.Text/TextRenderer.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Either log this exception and handle it, or rethrow it with some contextual information.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjZ92zUHyXSZnaze&open=AaBxYjZ92zUHyXSZnaze&pullRequest=145

Check failure on line 38 in Examples/MinecraftClone/Minecraft.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this unread private field '_terrain' or refactor the code to use its value.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjjA2zUHyXSZnaz9&open=AaBxYjjA2zUHyXSZnaz9&pullRequest=145

Check warning on line 46 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove unassigned field '_logger', or set its value.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUav4&open=AaCYEwGXY9lWA-gfUav4&pullRequest=145

Check warning on line 26 in SharpEngine.Text/TypographyGlyphExtractor.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this null-forgiving operator; nullable warnings are disabled here.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwLNY9lWA-gfUawW&open=AaCYEwLNY9lWA-gfUawW&pullRequest=145

Check warning on line 47 in SharpEngine.Text/TextTextureCache.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Handle the exception or explain in a comment why it can be ignored.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwKoY9lWA-gfUawO&open=AaCYEwKoY9lWA-gfUawO&pullRequest=145

Check warning on line 27 in SharpEngine.Text/TextRenderer.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this null-forgiving operator; nullable warnings are disabled here.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjZ92zUHyXSZnazb&open=AaBxYjZ92zUHyXSZnazb&pullRequest=145

Check warning on line 48 in SharpEngine.Text/TypographyGlyphExtractor.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this null-forgiving operator; nullable warnings are disabled here.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwLNY9lWA-gfUawX&open=AaCYEwLNY9lWA-gfUawX&pullRequest=145

Check warning on line 94 in SharpEngine.Text/Glyphs/Glyph.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this 'TODO' comment.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwJNY9lWA-gfUawG&open=AaCYEwJNY9lWA-gfUawG&pullRequest=145

Check warning on line 102 in SharpEngine.Text/TypographyGlyphExtractor.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this null-forgiving operator; nullable warnings are disabled here.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwLNY9lWA-gfUawc&open=AaCYEwLNY9lWA-gfUawc&pullRequest=145

Check warning on line 34 in SharpEngine.Text/Fonts/FontManager.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this 'TODO' comment.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwKFY9lWA-gfUawM&open=AaCYEwKFY9lWA-gfUawM&pullRequest=145

Check warning on line 172 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused local variable 'meshObj'.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUawA&open=AaCYEwGXY9lWA-gfUawA&pullRequest=145

Check warning on line 172 in SharpEngine.Text/Entities/TextElement.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused local variable 'h'.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwGXY9lWA-gfUawC&open=AaCYEwGXY9lWA-gfUawC&pullRequest=145

Check failure on line 34 in SharpEngine.Text/Fonts/Font.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this unread private field '_logger' or refactor the code to use its value.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwK1Y9lWA-gfUawS&open=AaCYEwK1Y9lWA-gfUawS&pullRequest=145

Check warning on line 164 in SharpEngine.Text/GeometryUtils.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Method has 8 parameters, which is greater than the 7 authorized.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjYK2zUHyXSZnazQ&open=AaBxYjYK2zUHyXSZnazQ&pullRequest=145

Check warning on line 147 in SharpEngine.Text/Glyphs/GlyphMetricsExtractor.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused local variable 'layout'.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaCYEwLBY9lWA-gfUawT&open=AaCYEwLBY9lWA-gfUawT&pullRequest=145

Check warning on line 14 in SharpEngine.Text/Glyphs/GlyphAtlas.cs

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fix this implementation of 'IDisposable' to conform to the dispose pattern.

See more on https://sonarcloud.io/project/issues?id=Av3boy_SharpEngine&issues=AaBxYjYb2zUHyXSZnazS&open=AaBxYjYb2zUHyXSZnazS&pullRequest=145