Browse Source

Merge pull request #273 from VaclavElias/static-analysis

feat: ndepend report updated
Vaclav Elias 1 year ago
parent
commit
aeea5b555b
100 changed files with 1091 additions and 66 deletions
  1. 0 12
      en/contributors/engine/ndepend.md
  2. 38 38
      en/contributors/engine/ndepend/NDependReport.html
  3. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/AbstractnessVSInstability.png
  4. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/ComponentDependenciesDiagram.png
  5. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/ComponentDependenciesMatrix.png
  6. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/TinyAbstractnessVSInstability.png
  7. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/TinyComponentDependenciesDiagram.png
  8. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/TinyComponentDependenciesMatrix.png
  9. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/TinyVisualNDependView.png
  10. 2 2
      en/contributors/engine/ndepend/NDependReportFiles/VisualNDependView.png
  11. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AbsoluteId.cs.html
  12. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AbstractObjectInstantiator.cs.html
  13. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AccelerometerSensor.cs.html
  14. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AccessorMetadata.cs.html
  15. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ActionHistoryViewModel.cs.html
  16. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ActivateOnCollectionChangedBehavior.cs.html
  17. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ActivateOnLogBehavior.cs.html
  18. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ActiveConnectorBehavior.cs.html
  19. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ActiveRenderStage.cs.html
  20. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddAssetPolicyBase.cs.html
  21. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddEntityComponentFileAssetPolicy.cs.html
  22. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddModelAssetPolicy.cs.html
  23. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddSceneAssetPolicy.cs.html
  24. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddSpriteSheetAssetPolicy.cs.html
  25. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddSpriteStudioModelAssetPolicy.cs.html
  26. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddTextureAssetPolicy.cs.html
  27. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddUIPageAssetPolicy.cs.html
  28. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AddVideoAssetPolicy.cs.html
  29. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AdditiveLightEffect.sdsl.cs.html
  30. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AdornerBase.cs.html
  31. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurEffect.sdfx.cs.html
  32. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurKeys.cs.html
  33. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurShader.sdsl.cs.html
  34. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionRawAOEffect.sdfx.cs.html
  35. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionRawAOShader.sdsl.cs.html
  36. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnchorAlias.cs.1.html
  37. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnchorEventEmitter.cs.html
  38. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AndroidDeviceEnumerator.cs.html
  39. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AndroidTracker.cs.html
  40. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AngleSingle.cs.html
  41. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetCompiler.cs.html
  42. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetDuration.cs.html
  43. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetType.cs.html
  44. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationBlender.cs.html
  45. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationChannel.cs.html
  46. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClip.cs.html
  47. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClipEvaluator.cs.html
  48. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClipResult.cs.html
  49. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurve.cs.html
  50. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectBlittableGroup.cs.html
  51. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectFloatGroup.cs.html
  52. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectGroup.cs.html
  53. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectQuaternionGroup.cs.html
  54. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectVector3Group.cs.html
  55. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectVector4Group.cs.html
  56. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedBlittableGroup.cs.html
  57. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedFloatGroup.cs.html
  58. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedGroup.cs.html
  59. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedQuaternionGroup.cs.html
  60. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedVector3Group.cs.html
  61. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedVector4Group.cs.html
  62. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationData.cs.html
  63. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationFromFileTemplateGenerator.cs.html
  64. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationInfo.cs.html
  65. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationKeyFrame.cs.html
  66. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationKeyValuePairArraySerializer.cs.html
  67. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationOperation.cs.html
  68. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationPreview.cs.html
  69. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationPreviewView.cs.html
  70. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationProcessor.cs.html
  71. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationThumbnailCompiler.cs.html
  72. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnimationViewModel.cs.html
  73. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/Annotations.cs.html
  74. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnonymousCommand.cs.html
  75. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AnonymousEventHandler.cs.html
  76. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/App.g.cs.html
  77. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AppHelper.cs.html
  78. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AppSettingsManager.cs.html
  79. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayCreationRequest.cs.html
  80. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayDescriptor.cs.html
  81. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayElementRemovalRequest.cs.html
  82. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayExtractionRequest.cs.html
  83. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayInitializerExpression.cs.html
  84. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayInsertionRequest.cs.html
  85. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayPool.cs.html
  86. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayTexLib.cs.html
  87. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/ArrayUpdateRequest.cs.html
  88. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyContainer.cs.html
  89. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyHash.cs.html
  90. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyRecompiler.SourceGroup.cs.html
  91. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyRecompiler.cs.html
  92. 11 0
      en/contributors/engine/ndepend/NDependReportFiles/src/Asset.cs.html
  93. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetBaseToDerivedRegistry.cs.html
  94. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetBoxedNode.cs.html
  95. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetBuildUnit.cs.html
  96. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetCloner.cs.html
  97. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetCollectionViewModel.cs.html
  98. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompilerContextExtensions.cs.html
  99. 7 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompilerRegistry.cs.html
  100. 14 0
      en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompositeBaseToDerivedRegistry.cs.html

+ 0 - 12
en/contributors/engine/ndepend.md

@@ -1,12 +0,0 @@
-# [WIP] Introduction to NDepend
-
-[NDepend](https://www.ndepend.com/) is a powerful static analysis tool designed to provide comprehensive code quality insights, enforce coding standards, and identify potential flaws in software projects. In the context of the Stride game engine, NDepend helps maintain high code standards by analyzing dependencies, measuring code complexity, and offering detailed reports on various metrics.
-
-By integrating NDepend into our development process, we gain valuable insights that enable us to optimize the architecture, improve code performance, and ensure maintainability. The tool provides:
-
-- **Dependency Graphs and Matrix**: Visualize code organization and interdependencies within the engine.
-- **Code Metrics**: Quantitative measures of code complexity which assist in identifying areas that may require refactoring.
-- **Compliance to Coding Standards**: Ensures that the codebase adheres to defined coding standards, which is crucial for maintaining consistency and quality across the engine.
-- **Code Quality Gates**: Define specific criteria that the code must meet before being deemed production-ready, enhancing the overall quality of the game engine.
-
-For detailed insights generated by NDepend for the Stride game engine, visit our [NDepend Report](ndepend/NDependReport.html).

File diff suppressed because it is too large
+ 38 - 38
en/contributors/engine/ndepend/NDependReport.html


+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/AbstractnessVSInstability.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:45abaeb2733a22adfe6914b3341ce3691dcd685726171631d617db28726e5575
-size 75325
+oid sha256:9e9629dbcd163ce469346667038e5b5371b9a296924852fdd57f86c95d199645
+size 75452

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/ComponentDependenciesDiagram.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:0b66f2aec55036b51472ad34636a32974907b19e2098ad19c6bc6ff2d4eabc79
-size 72734
+oid sha256:3bdcdf8a6624f459c69aae4d757e420a725f7b1e66e03561a42411b200d9f96d
+size 73181

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/ComponentDependenciesMatrix.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:c6b865b5dad260514bf160c290f85a6885279027828db94b28cd56d130d29285
-size 370866
+oid sha256:0b9deb08840eb8cde98f67dd9751dc684a83705dba7cbc84ed476996d9673d32
+size 370817

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/TinyAbstractnessVSInstability.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:9371f0c0c6d2a80a2ab117cf0f673ff191abd030013ad19546468a997a32baa4
-size 4738
+oid sha256:2984220f85a3987c3e11307a473e8353f5041eb5a4202ee4f98becab7f2da897
+size 4752

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/TinyComponentDependenciesDiagram.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:273c8683e21fe572622585da3143ab152ad2d83a77979a9ea1f4bfd94f9ae918
-size 5516
+oid sha256:b4d60167abd960114ef3bcec891c284b48e0c3fcceff47dfd4f301ffe546db7a
+size 5483

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/TinyComponentDependenciesMatrix.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:17d288c7a4fedc211941482fc56938faf8151ddaa5cd0863cbb13568b79536a0
-size 61277
+oid sha256:e92e4a05c8bbed37348096abd1eeb32fc92ef5be980dc27ef60144b6e061fa7b
+size 61286

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/TinyVisualNDependView.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:b7e669ed536247b8202846cdb4a91428be2e71a23d6e88a1c8f72b16e2e70acb
-size 86758
+oid sha256:7067f55242500886c77d10c97f199563be5542abc4a7e4962879c0054be26d61
+size 86815

+ 2 - 2
en/contributors/engine/ndepend/NDependReportFiles/VisualNDependView.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
 version https://git-lfs.github.com/spec/v1
-oid sha256:76b94b61d13e910a0535232f5d8fb9f7bdd46cd87c22fd14148878ea4fccdb0c
-size 3245652
+oid sha256:19ae6e3fb3f0e48927f0b4efeb2c970d3af936f55976fae03935863d78301264
+size 3245028

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AbsoluteId.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AbsoluteId.cs","relativePath":"../../../../stride/sources/core/Stride.Core.Design/AbsoluteId.cs","absolutePath":"D:/Projects/GitHub/stride/sources/core/Stride.Core.Design/AbsoluteId.cs","projectName":"Stride.Core.Design","line":"77","statement":"12","debt":"2h  2min","cov":"N/A","issues":[{"line":"6","ruleId":"ND1401","debt":"2h  0min","severity":"2","expl":"The <i>2 namespaces Stride.Core.IO and Stride.Core</i> form a <b>dependency cycle</b>: they all depend on each other. This cycle prevents <b>clean layered architecture</b> and reduces maintainability. To fix it, first address all issues stemming from the rule <i>Avoid mutually dependent namespaces</i>. Then read this rule documentation that explains how to use the <i>Dependency Inversion Principle</i> to fix cycles involving 3 or more namespaces."},{"line":"12","ruleId":"ND1914","debt":"2min  0s","severity":"1","expl":"The <i>structure AbsoluteId</i> should be declared as <i>readonly</i>. This way not only the intent is clearly expressed and some optimizations can be performed by the compiler and the runtime."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="1"  style="display:none">H4sIAAAAAAAEAK1W22rbQBB9N/gfJqYEqYTVQx5KE9sQEjc1tCnUeSstrKWRtam1q+6u6rrB/97R6mLJiZ2URATkzOXMmasdBHCpsrUWi8SCF/rAbia38EHlMuJWKAlcRmQhrRbz3CptwEuszcxZEETKSrRxY8qUXgRwDLXekE+EpxEjK9/hzMRShIQ5s3kkFMHqjG3xVqsVM6WFcQYsVOwu8/u9IIArYUoKGAEFRA02Qfg8vQVyQGmQwQzRCT9NLyc3swlLI4jFEkFIJ860usPQglbKQqw0pEoXSvqYlvz7vdwIuYDZ2lhMz5t/XR6M2CK7MAatIVW/J3mKJuMhtg36vft+D+gJiPPQ5GnK9Xq8FX3FTKNBaY3jxOdGLSknIH9pRSwoLxVTrRoBn1MGau6Yi6IbwAsKrBUl6Ib5dsUtdx3jofUGF1WIaTTwv5cWWT6nogEVNCfUrQGcwXTyKyd3CjrcyivgKrM92dXiqRRW8KX4iwY4SFwRbWO5pDpRZkNDTQo1xqM2sWDMdrCDx8GHGdc8haL0o4ErBHmPh4ETH7ItK3jAGP+EmLmBr9jpRZ5SCya1nDydI2l34gdjN9y76iYk6UMuJU3dXNkE5giYZnbNhkETtMWmas62Ot5FGQeqeCdwnYsIanh/69pqUPGIGLzKB0YjqGDYpAgOx8cNQqEsIEuN3wUpHptotXKtfFAV783gvkhXxXUof+OqUUsbmpvHizDw3TK1w9X5juqMz7v6Lw3vJoWWxaYNd2BOb5PdrSsWkm6P5UIWa9/es0NzWTesYl2/72GB9vyFdLaL767F/zFyY9IU6zE+zSGg+xdSY9QSVIaa052nofBal2GJsT1pnwr3hbF/9jTaXEvnxoqTsjRe6bGvU4eoHL0GlaPnc3F1FTJBLWykQgge1tYRrMBaVGi0UT9JpdnE0t85sUroF5tZN61rUUtfwlv9Rl18WXUSqKaMXk9SJxsQpl19mjFiXCGJ1yEnpIVrtB+5SS5VhN5+WrkMEwx/YtQV71i1EqivKevgw1s4ff/Ohx/b0nf0Oxdo87wcD6VY/JqhI3OrZu7DgRQr4nRoK+qb4L5muRl0y1296O8fQuZ/G9gJ$822$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AbstractObjectInstantiator.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AccelerometerSensor.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AccelerometerSensor.cs","relativePath":"../../../../stride/sources/engine/Stride.Input/AccelerometerSensor.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Input/AccelerometerSensor.cs","projectName":"Stride.Input","line":"19","statement":"3","debt":"4h  22min","cov":"N/A","issues":[{"line":"8","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AccelerometerSensor</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"8","ruleId":"ND1700","debt":"15min","severity":"1","expl":"The <i>class AccelerometerSensor</i> is not used within the context of analyzed code and may be a candidate for removal."},{"line":"15","ruleId":"ND1701","debt":"10min","severity":"1","expl":"The <i>constructor of AccelerometerSensor</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"6","ruleId":"ND2105","debt":"3h  57min","severity":"2","expl":"The <i>namespace Stride.Input</i> declarations are present in source files spread across multiple directories. <i>10 types GamePadLayout, GamePadLayout+MappedAxis, GamePadLayoutDS4, GamePadLayouts, GamePadLayoutXInput, GestureConfig, GestureConfigComposite, GestureConfigDrag, GestureConfigFlick and GestureConfigLongPress and 37 other types</i> are declared in source files out of <i>D:/Projects/GitHub/stride/sources/engine/Stride.Input</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="1"  style="display:none">H4sIAAAAAAAEAG1RwW7bMAy9G/A/EDkMMRBIh97arsDQZYCBNRcXuysynaiwRUOkEWRF/n203STrFl8kk4/vPT5ZC8/UH1PY7QWWvgCzWb/CDxpi7SRQBBdrRURJYTsIJYblXqTne2trkojSXKCG0s7CFzj3WWdqvKuNooqJpwpt8MpZyVAHUtrUmyvf4XAwPCN4AhhP5q0v8sxa+B54toA1qCAmkD3CS/kKOoCR0UCFOBV/ls/rTbU2XQ1NaBFCnMp9ojf0AolIoKEEHaWxqddu9p9neTZwiDs1OFo3ahDNi9PpEeH5YURE1yH3zuMZVcZ+kDx7zzPQL0TBFF0LvnXM8M17bDFRh1qu1KgK38N8WUF5oz3TfLCNXz9sdUf4peYp3Z0Z59d5hx3Kw1WUx7/TaPM8bTW8Rx66zqXj0+dyGYME14bfyOAg4kF5WFzU1aiZMntkzdQnbL4ubjhd2Kd5S/OPnP1f72OJGyzLcgqwoiGpME/HCsbX1ofgIwt2G4280Ni2jnF5QVxaK/jsblFcdf/K8TRf9Tj9AekKn1v2Ag==$94$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AccessorMetadata.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ActionHistoryViewModel.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ActivateOnCollectionChangedBehavior.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ActivateOnCollectionChangedBehavior.cs","relativePath":"../../../../stride/sources/presentation/Stride.Core.Presentation.Wpf/Behaviors/ActivateOnCollectionChangedBehavior.cs","absolutePath":"D:/Projects/GitHub/stride/sources/presentation/Stride.Core.Presentation.Wpf/Behaviors/ActivateOnCollectionChangedBehavior.cs","projectName":"Stride.Core.Presentation.Wpf","line":"65","statement":"13","debt":"16min","cov":"N/A","issues":[{"line":"8","ruleId":"ND1406","debt":"10min","severity":"0","expl":"The <i>namespace Stride.Core.Presentation.Behaviors</i> has a <i>Relational Cohesion</i> value of 0.52. This suggests that the types within this namespace are loosely coupled, potentially signaling an architectural concern."},{"line":"19","ruleId":"ND1805","debt":"1min  0s","severity":"1","expl":"The <i>field CollectionProperty</i> is used outside its parent type by the <i>no element</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose read-write accesses can be better controlled at debug-time."},{"line":"19","ruleId":"ND1901","debt":"2min  0s","severity":"2","expl":"The <i>static field CollectionProperty</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"8","ruleId":"ND2103","debt":"3min  0s","severity":"1","expl":"The source files containing the declarations of the <i>namespace Stride.Core.Presentation.Behaviors</i> are located in the directory <i>D:/Projects/GitHub/stride/sources/presentation/Stride.Core.Presentation.Wpf/Behaviors</i> that does not align with the namespace name."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="203"  style="display:none">H4sIAAAAAAAEAK1V34/aRhB+R+J/mN5DZatk/dC3HJx0vVyqk3pcVFAbKcrDYo/NJvautbsGkRP/e2fXNjYYEhQVIWF259f3zTfjKIIHVe60yNYWgjgENn9cwntVyYRboSRwmZCFtFqsKqu0gWBtbWneRlGirESbHkyZ0lkEv0J7b8gnwd8TRlahj7MQuYgp5sJWiVAUVpesi7fdbpmpLYw3YLFiX8pwPIoieCdMXQImQAlRg10jPD8tgRxQGmSwQPSHfz09PM4Xj6xIIBU5gpD+uNTqC8YWtFIWUqWhUNpd0mNR1z8eVUbIDBY7Y7FgDyrPyYFuDFuUGAuei2+Y3J6Y/StkorbmcPwsYq2MSi37yIuc/YFrvhFEXOfneaHwGtm9lMr67O5+PJK8QFPyGI+sPmg0KGu7LuB49DoeAX0i4mdqqqLgenfXHS0J9IobhDjnxnjIHFaNN1HCLfA8p9LBKuAEdMNtzSCZK4LruFYrT9p2jU4K9Neg3vAV0Rof6IF4zWWGhvXKiYb1TO2uxJJrXoCDObtZ3ty5Gt2xTzs11MFYYzq7uW/KeZFdFx58lqTF/7rc30R3EFNVKyrZWh6vqWCr2DQ6ZGrSl9WKZAJ8RSIipA0jVySZLu/gLfT/ERMkmyWdvsMSSYky3r14kupUTU8u9KU9fiI/K1KB5hR5V4pDlxxyOP2WqO2OnSSIhhkauMYpJu7V+aEJAV2Sw9HsjB37GzOaO9SBa5hKg84vnPi+0dnTXBGS3YDCcNIV5D6N+XWkU3iJW3hPLcSt0l/bip7Rcto2PDjjHoZ+hK5g/0+0BmgGjPt1/Pe0TLNQi9wvDqX9qlFA05hl9NjMibNU6emwxG5Pqvz6Dl3irtegzuf1mM8MLbyCRltpCZe7QFj/4XmFwbDn4S3sj2MaH3Nx2WUCG3dz7Lnv017qeo804tsokcCZZgWfqOB5leefB3MEyeSMFhu/xw0Nzr3ODGB4kZoN192im8G1mnOrvR9GpBAge8kTzwb8MgNJBYfHRiep2/Sq9Zp9pzdd8NthlDYCG6rjzewAb3h7Emp/DtMctz+BSbZe38fUBj+DqY1wBtNvP4dpf+XItxIw519w14ysVpYsyeXwGvHibiMHx+unM98IbSuew0qpHJ65jdc1qt4IXCDzKrE3G8DqI8bPzqSvdziKzTveuInTE/h/ynJC64PF8MciO6LycsObH/r+B4GIjaK+Cg==$907$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ActivateOnLogBehavior.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ActivateOnLogBehavior.cs","relativePath":"../../../../stride/sources/editor/Stride.Core.Assets.Editor/View/Behaviors/ActivateOnLogBehavior.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Core.Assets.Editor/View/Behaviors/ActivateOnLogBehavior.cs","projectName":"Stride.Core.Assets.Editor","line":"65","statement":"11","debt":"6min","cov":"N/A","issues":[{"line":"24","ruleId":"ND1805","debt":"1min  0s","severity":"1","expl":"The <i>field MinimumLevelProperty</i> is used outside its parent type by the <i>no element</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose read-write accesses can be better controlled at debug-time."},{"line":"24","ruleId":"ND1901","debt":"2min  0s","severity":"2","expl":"The <i>static field MinimumLevelProperty</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"17","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>ActivateOnLogBehavior.cs</i> should contain only one type declaration instead of <i>2 types ActivateOnLogBehavior`1 and TabItemActivateOnLogBehavior</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="79"  style="display:none">H4sIAAAAAAAEAKVVTY/iOBC9I/EfavvQIlLLOextBpDYhlkhQfdoQbNnJ6kknk3sjO3AsK3+71NOAiQh7Iy0HBCU68vv1Sv7Pjyr4qRFklqYhB6wl9UePqlSRtwKJYHLiDyk1SIordIGJqm1hfng+5GyEm18cWVKJz48wvncUEyEv0eMvLwqz05kIqScO1tGQlFaXbBrvuPxyEztYSoHFir2tfDGI9+HpTB1CxgBFUQNNkXYrvdAASgNMtghVsbN+nn1sluxPIJYZAhCVuZCq68YWtBKWYiVhlxpd0g/87r/8ag0QiawOxmLOXtWWUYBdGLYrsBQ8Ez8i9HHnttGyG99299CRupo7phZhafKWucVVGTXyJaCJ1IZK8Lh888aDUpbt/wHpvwgiBZyHY8kz9EUPMROwMIYtIatIkH8sS8Cj9ew8ehtPAL6+ITx1JR5zvVpfjXtCbiAG4Qw48ZUsHEImmiClVvgWUZ3AquAE1gHbmsWyF0RZI6vCAskymR4AhVUHBxTdJNFfw3qAw+IpfCCNqiYWiEyQ43x7GG9UckWjeEJPvit1jSGKA5oqCGJR8hrF0otwhRSblx+/FbyDKjTRCO1oiHDA2ZUKy+4dsBS167ZVrmtkCIv841zpHquGZsKc7k0a+Hl3wI2tacCKTnPwbExe9g/zB2Izuxy3WLRAqrqpl1r6l/SNTWKMqCBBx6QHAjvhpdFg/yrJLDO5E73c/jQOrrO83PKZYJR25EYITXsKWB56fC1arCu24xJ1YKuWQ6UysBgk3OpJFZDeHYbmKizeU3prYgFkfcT9FtwkX4L1PbEeiX82xoNSMaJJGxd6HOTAtplLsbZgCf7CxPaPKgn3daeKkJVPLkO554M3tO1CfdpnO7R4z1Vo/uJ6MWj0v+cq27RctqpvJedLTEoE8/7VZj/JNm74Xfyr4DO6ys0KqBpPIuGBq+Rk9uWSlf7lYaRnoWEfjbCbrTZU3dYL7Nfp6V7qQ4XV9+3LpAJWnijHm2pJfRBp3t+4VmJkyFavY/w3s1lqly7/wp6goM768a+t2GnabQ0+HR/dUDtlm2thy23YVrra/KiaMhPN7JbHWj6FzoxgN7dC4sYJrS664U4m8GdXLUDTSldyutm6CWsb94SK817zDPjRNv2ef8/fSyiCB4f4bdOoZ/3VRd5weOaXknDXmNH67S1+OcTjy3kafIdZnP4ztZmYTfIje2Q53nebeqBakNIWF32gRgAo/e3Gcf+Cux5X8bmzhO7kCDyIsP8/KifNdZai4ML5G3/7lZkrHTffc8Dh6Q77apzSJmNKuuHpIkcrNd5TDqLrA6aD7wUNyI5KBFd0kzuz//ismDqV4g431U4U7IbutpI09cPV2LVS9QK$1023$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ActiveConnectorBehavior.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ActiveConnectorBehavior.cs","relativePath":"../../../../stride/sources/presentation/Stride.Core.Presentation.Graph/Behaviors/ActiveConnectorBehavior.cs","absolutePath":"D:/Projects/GitHub/stride/sources/presentation/Stride.Core.Presentation.Graph/Behaviors/ActiveConnectorBehavior.cs","projectName":"Stride.Core.Presentation.Graph","line":"63","statement":"14","debt":"9min","cov":"N/A","issues":[{"line":"18","ruleId":"ND1306","debt":"6min","severity":"1","expl":"The <i>nested interface ActiveConnectorBehavior+IActiveConnectorHandler</i> is declared as <i>public</i> and is accessed outside its parent type by the <i>class NodeVertexControl</i>. Typically, types are nested to encapsulate private implementation details. Consider making it <i>private</i> or non-nested."},{"line":"27","ruleId":"ND1805","debt":"1min  0s","severity":"1","expl":"The <i>field SlotProperty</i> is used outside its parent type by the <i>no element</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose read-write accesses can be better controlled at debug-time."},{"line":"27","ruleId":"ND1901","debt":"2min  0s","severity":"2","expl":"The <i>static field SlotProperty</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="11"  style="display:none">H4sIAAAAAAAEAI1VXW+bMBR9j5T/cLdJFUiVedjbum7KmnSLtH5o6da9OviSuAMb2SYRqvrfdwkQCIE2KIpSc+7HOff4NgjgSqe5kau1Ay/0gd3OHuBaZ0pwJ7UCrgQhlDNymTltLHhr51L7KQiEdgpdtIcybVYBnEH93lKMwI+CEcrf5VnIWIaUc+EyITWlNSlr8m23W2ZLhN0BWKjZU+qPR0EAU2nLFlAAFUQDbo1wM38ACkBlkcECcXf4c341u13MWCIgkjGCVLvj1OgnDB0YrR1E2kCiTfGSfiZl/+NRZqVawSK3DhP2KJXQW3tRH9/I0GirI8f+8iRm33DNN5IU2QMWO8KMaCG7N2hRuTJxGzoeKZ6gTXmIwwHfDU/XTdh49DweAT0BKfHZZknCTf6lOXpYSwvLCg30O+HFTLTJgdS2sXYWrCYVuAMUK6S/HDcuQJpJqq0saloIuaIkEOokLWRmrZLBYc00W5LqYJHHNI4w5tbCJHRyg+QURSJrU/cOn2CKERqDoj76xi1+vjakwlabf7MYE+JdZa54Fs8Hg6vCgPOp0ekPIhTT0OfKoYlIuwbXo0l93AEFx6iKiazTwrzDoyrcRLQ6LJ6NlgLu1MQ5Hq5ReF1eO/X9i96gKZ4a9NKShYZWKlN4qSvWFFN6jyrM4Z5kQ+Mk2iO6trBZCAa50CrOW1FVUN4dZyXD/vVlTwz7RT3QzTHe+/7o9+fg8hR15A2o7O8BA24igMJtTS2/IQHJ59yjAfQmvFpztULht7U81KCH+oLEP5VogW1o6WWxYd5m0W6nf560rBzF0O3SG7o8tCW6Tpso8VNzQe7xB825pJvGekMu2sWKp1+/r61ob2KtDiWnpu5KnocGPaX50vG0K6mV3yp+q//hpvZXp6+pXhH6Sw9TkBtKWruk1v41k3mNUcpWQJz3mKdCzzZ0zydmZQGH+W+4adb6JQz6SRyRpnX3yC1IBzwurnkOJeOvhzAZgVcXYF0p4d0lqCyO4ewMBkFsbktP+YeZO0yqnuYR5GjPIUvp2uIxxBvcDDTCWPzhcYb+wfwHG+vu3LfS3+K2Sb/3/MnpXwaMVC/mV7bxQE8D7odnWKGjb4MuMwoGKX1HtyPUdU1nlfsX8EL/yYuMi9MizsmXhVBF4MsRm3IH7pZot9V9R+0N21e//X6gWnttVqLT5z9b4bFZzgo=$887$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ActiveRenderStage.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddAssetPolicyBase.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddAssetPolicyBase.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddAssetPolicyBase.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddAssetPolicyBase.cs","projectName":"Stride.Assets.Presentation","line":"116","statement":"9","debt":"1h  5min","cov":"N/A","issues":[{"line":"15","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>AddAssetPolicyBase.cs</i> should contain only one type declaration instead of <i>4 types AddAssetPolicyBase`2, CreateComponentPolicyBase`2, CreateEntitiesPolicyBase`2 and CustomPolicyBase`2</i>."},{"line":"13","ruleId":"ND2105","debt":"1h  2min","severity":"2","expl":"The <i>namespace Stride.Assets.Presentation.AssetEditors.EntityHierarchyEditor.ViewModels</i> declarations are present in source files spread across multiple directories. <i>10 types AddAssetPolicyBase`2, CreateComponentPolicyBase`2, CreateEntitiesPolicyBase`2, CustomPolicyBase`2, AddEntityComponentFileAssetPolicy, AddModelAssetPolicy`1, AddPrefabAssetPolicy, AddSpriteSheetAssetPolicy, AddSpriteStudioModelAssetPolicy and AddTextureAssetPolicy and 2 other types</i> are declared in source files out of <i>D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="454"  style="display:none">H4sIAAAAAAAEAO1Z3W/bNhB/D5D/4eCHwQYEaUDfGkdA6ribgTYtlqAvRR9o6Wyzk0iNpOIaQf73HUl92Irt2UmaBdiEJJbJ4++O9/E7SokiGMlipfh8YaCfDCC8Gt/Ae1mKlBkuBTCRkoQwik9LI5WG/sKYQr+NolQagWbWiIZSzSP4Bep5TWtSfJOGJDVwONc84wlhXpsy5ZJgVRG2eMvlMtReQjuBMJHh92JwehJFcMm1NwFTIIWowCwQPk5ugBag0BjCNaIb/DAZja+ux2GewoxnCFy44ULJ75gYUFIamEkFuVR2km5zb//pSam5mMP1ShvMzza/hiOZZbSeBHX4GwpUPOmKfODir3bMbZ+WKQwvtEaj90yF45STd8MvHJcfZYrZdlkhpHG2bsf6yGijdjPJg/lajTDccHwwPRZzLpBGT08Ey1EXLMHO0s8KNQqv3o95myvQ1e8cFVPJYtXdij49uTs9AbqKckrRAjalWDIKRZIxreEiTR3cZ0mTq3dM4/DGDQTgPxukGN7CZFPcA9truUCKp19Bcu5z+2yDV4s1AwHBbwxUlsQe6K7Fiygnh1wQKjepTCCK27lqm1MpM7hIEixM/2ZVUHLSn0ErtoZmLz6DvpWA83MQZZYNKGuVXILAJVyoeZmT869ofPzDIlIQ+jZScuYWDQZnm2gKTamEU0kifhcDC21H1mTvbciP3dSICYrCJzWhulOm34n/hEqhdXHBFBkedBwNzAeYYEYLnqU0yGcEoKkq/V1ApWnoN8UfAcjSgK1/SlhKTs3mGFhglmuQU1vVX7/VE+QqvdvJlVs6G6ht7HfyY1BZuW5TY09jyLrivZ7VZZ4ztYo3h695zjNGfCZJgigsUTg77x3h4qCTww98GpAng9aFQe2yQS+KgSgVltwsao4sLLXaNLQUOXROJoPA5tp5z/mDVoWdnUXbt+aXV2u9k3vxjdXj7oHTNqrKtNodOhmTZTClb2lKXE9GcOcCTMNh5PD2KfEGOh3u9pA1dXT9svob/IkrDUmprKXZCoiv+C0egudyxIO5W2C0qQVPvIv9bmxnlQmh64Ms9BnWiy/qZAP8UWSMC1sRFlUh09L3ORtB37q5JqstWXg/UhhLfZgb11K6F39ybMOoZisW0i43rK5KbhekrzYdD5PYqBKHURJbmqsy7ZbbAO9KMUiY2JoGZyAJQC25ptoj5BnLtIMmK2qF3cJDJCH5wqW1xp1KGhqmfTStbxuPfr2SjuG/wUGM2op329px5NribKPZdnYf4Va813De9k4/ojQ1OJJ5IQVt4bCGf8TxgNr3VhWv8pDQ5IS8RWUPWo/vrU+L/7M115qbziu48L07Wvd7ZIgreo3VCdqql3D3631vZ/u0V32IIe54wpHFu7BJiW4Wvlcyd/57/Dnmn88bu1TuP3k843HiMXvusN9/+LhQ9xUrmDSJRC4mra1OO+DSnB5I8cyOU3uyR/m68XEiQllmKdBjnLU5cVFJD25czxTEVslXYpt36Oh9b7c6uISet4Ud1VbqR9uf11U2NbzKpuL941a66GiqmSYGl8ywoY/LJWo+F0EVpbjjwpejxIcaX5YRj9vx/4TYJcSjmOvJzj6euJ6vEv4dZiu1kflPYbQ15FfMZLeSp3BRFNnKm3oYIU3Ggh5UFZtmOOw6yrlfbxyAv1DSSPUGXJLQ6XQ3d61bUivzgOGIaTPsOro/CG/kB65Nf9C8O2q0PBuVHeqfYM0vd5uW3rsH2coRj+Q1/eqJTds3KEnzHh/krI7ek17rtK909MId76Y45+IQzDoXevEO4U0a/RmB3kufD8rvWBa0w9WSAJq1kz+QpZ9Etmr/p/KgdA4q1JZF6edvV0gu3ssa$1389$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddEntityComponentFileAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddEntityComponentFileAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddEntityComponentFileAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddEntityComponentFileAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"58","statement":"13","debt":"3min  30s","cov":"N/A","issues":[{"line":"16","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddEntityComponentFileAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"16","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddEntityComponentFileAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="455"  style="display:none">H4sIAAAAAAAEANVVUW/aSBB+R+I/jKKqsiW0rnRvTZqKEughtSQ6uL5EfdjYA97W3nVn13AW4r/frO0acNJEle7lLBBmd2b2+2a+mY0imJiiIrVJHQRxCGIxXcHMlDqRThkNUidsoR2ph9IZshCkzhX2bRQlxml0685UGNpE8Bp+7lv2SfCPRLBVWMdZqkzFHHPpykQZDkuFOMbb7XbCNha2NhCxEd+KcDiIIrhRtoGACfCBSOBShM/zFbADaosCloj14qf5ZLpYTkWewFplCErXywWZbxg7IGMcrA1Bbshv8mve4B8OSqv0BpaVdZhfnv8VE5Nl7M+GVnxEjaTivsknpX8c12r67EYoxtais89siWmiOLvii8LdZ5Ng9rSt1sbVWB/FasPcEVrUjc2vg7XGy5hU8RjWVG+UxicBPB3eRxgOtMzRFjLG5yDVaw1X5qydctWfCklSnFb9FNjhYD8cAD9KOyQtM4gzaS2Mk6RxnZi8MJqDz7jOdeg7w3Ko4C1MCKXDzqBZ/yAtXjWsl6akGDu/ETy53GG5boC0ePwTsSivlE5ZBy4xMUTXxz2WmmOpsFTNFsknAx6MyWAiNWO/pTnrlVzQ4z9nCXUHQiGJcb+EC2SDnsNOUpUlvKjWHNCyutu3kU8ffxP8ZwSmdOAbievK1bJygyN/kswtmAffHvdff26MaWPDI6cT6v7ZSgJbQ1tVBcI7mPEJy24hqHGJJdKW2/OOzJaTQKMGbqMCTzd8L2aKrLulG1zLMnNBeHl+jlpDcHrOO9BlloXnRj1s/mlJMLBXFwvTCqctl2e/JpPD3mvWrIOemsID1FPNT456guwb2H9Tdri4fHwWoSuJTWVmsbd98J1xusCqWd3e3LJAU4y/Q2p2kEtdtbm0flL5qeSxWq8bl/K7B/H+PM6RX1NOMavHWPDqgqXQRoP9MXNiwVQPXgoG9vs3h8PF6KzQPdwtJUflKaMzNr/ZAL0c9xt0xvWoZfHfdcX/RLwn6fa7l33FOKpeVHvrP+braSv9EG2yy3PGSR3jCQi+iG2/Fo81e/o3li5OX0TQ6Zov6iKTFXDZ/R3bSOwlxr84/kxv9zw9P+CCHb6eCs0TRm4Cvl9imE91mbNwHjK88myv+5W9XxhXh4B5p5ZencH263506mrfymf8vM5akr2AYkXVR3RX814ZGjVPGNJfaE3GjXMdsMbY1EO3vkOOgg9OAIgZg7uTLg3Pe7X94c+/yONLUOYJ$921$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddModelAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddModelAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddModelAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddModelAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"28","statement":"1","debt":"3min  30s","cov":"N/A","issues":[{"line":"14","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddModelAssetPolicy&lt;TModelAsset&gt;</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"14","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddModelAssetPolicy&lt;TModelAsset&gt;</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="456"  style="display:none">H4sIAAAAAAAEAI1TwWrbQBC9G/wPcyo2lNWht9g1JK5DDI0Jseml9LDVju0N0qzYHUWYkH/vaDeRHKUNHQwrv3nz5s1olWWwdNXJ28ORYZJPQW1WO7h2NRnN1hFoMsIg9vZ3zc4HmByZq3CRZcYxIe87qnL+kMEneM0HqTH4xShhTaPO1hY2F80t18Y6kfWV6vWaplEhMUIkqNyph2o6HmUZfLMhWUAD0hA98BHhdr0DKUAKqGCLGMHv6+Vqs12p0sDeFgiWIlx594A5g3eOYe88lM63SXksk//xaDyqg6WDGGytKzGI6jIE5DD7d0qtjJXNqC36R/HyP9QfFptbZ7D4O5fIcbT0TutFJta+S67oYAmH6D226xJg1s5HusRQ6RwHinceA1LqmrBkVSwTWz7dWPTa58fTcIIwHj2NRyBhidGTLiAvdAhwaUwkRLE7J6/pNN/1yAIuYOlRMy5dWTmS5ol0pQOeEz9DPLqGb0QWqXUbzRHlfZ4lpcGLwLoHE/+pL8vkcs0tSbFl43LIziR/bhxv6qL41UNyi1hukdxC94i+3SCkBXVTDKe69q6MrSeDTa4Zy24qqLQX8ofDgm6PaW/mbIw2PHLtCQgbiFWdhbe0QVUbycLX+KEL/x73skvK8QaLCr1KE3XoPNIXk6GdNp5n/f/n9CiH/P4AfDQLg2kE$508$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddSceneAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddSceneAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/SceneEditor/ViewModels/AddAssetPolicies/AddSceneAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/SceneEditor/ViewModels/AddAssetPolicies/AddSceneAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"88","statement":"42","debt":"7min","cov":"N/A","issues":[{"line":"15","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddSceneAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"13","ruleId":"ND2105","debt":"7min","severity":"2","expl":"The <i>namespace Stride.Assets.Presentation.AssetEditors.SceneEditor.ViewModels</i> declarations are present in source files spread across multiple directories. <i>class AddSceneAssetPolicy</i> is declared in source files out of <i>D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/SceneEditor/ViewModels</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="358"  style="display:none">H4sIAAAAAAAEALVXW08bOxB+R+I/THmgiRqcI/UNCBXNoW0kbiJVXxAPZnfCut2sU9tLGrX89zNje5PNZlOozjkWiMQef/7mPvT7MNSzhVEPmYNO0gVxefYZPuiySKVTugBZpCRROKPuS6eNhU7m3Mwe9vupdgW6yVJUaPPQh32ozi3dSfFtKkiq63HGKlcJYY5dmSpNsGYmVnjz+VzYIGG9gEi0+Drr7u70+/C3soECpkAPogGXIVyMPgNdwMKigDGi3zwfDc8ux2dimsJE5Qiq8Nszo79i4sBo7WCiDUy14UP6OA38d3dKq4oHGC+sw6kY6jynC3RixUcs0KjkqCFyrorvqz2vL10zKE6tRWfFWarIZuKLwvmFTjFvly0K7TwD23p+9sORgluPLyRpxxokG+cVi8Ipp3Db8bVBi0VgEPYC7Xhx8UmhkSbJFk1tXgRY1313p5BTtDOZ4Is5jMm7uPHy7s7P3R2gpQqHppA5JLm0Fk7T1F/wENeaYmMBhzAsrdPT8PW9tHi8kumB/7xEPgmwEZ1Xn6LvWBUZ+d+lOoH+yeqMYspRiFBM6kc0rBDca53DUBbE5MqMKDCN6zTsOKLQWT4IM2lI8yYPkIEdwQwzlae0qSYEYCls46ceK0+/Kf7ogS4dcIaQM8jCVj5gj5Hl1IK+57i/vasOTs2D7a50qKnK61EaSErDnG44UwaRoLiaUwoQrUCUz+qurUOQwS7JLodgWRKkTzM2BNlJThyj5DlgjMr1u2pCVaj+/ACKkqR//QqawnGdXYzQIdUg110HaqjFK+pPKu2Rg0AX+QJkSpwiUaepSmnKJhM29o42MQy60hQwkbnFxvHTpiav6lxXQSfo+fd47e16NelEV7MLl75zpsTu8yq9nE5NeYop1tVlyrYrGlGZQ+3kiRO4+vKHWfGoVQqns1m+CFn4spQY3aBMr8hNq1J83EjXkCfrufCFRLV5CzNtFd/5X4O9BuFlCaOG+C4UsyXSNpRa2EeUEPfdbS4/qjsjOORfJJ3PrIPBttTazO+PpFOip1Nq5nvcUPfCszQdULdNqMTCPHBwZsE1icItNXoGbq4rSZdJ50VkbsjNCza9Az3xzdpSn4Csig7RYnL/OBO1ZHGiM1xthISy3U3aFxSQAT9w4NGAGTmkCYSmBWNpPsApS5G1eixaRDPyxjoeDQ4okww6zCdYnZVf8Xg+fYnSWJOmldaB1Rxfk1mIha/mfjKrbHSPkHA7IC9Vl6LPwuUe5OheW2JBbvNTDokoE5SiLhlnoaASj3fe9WKTGevEjh350BishbgYRgrCn1IF82837V3F9QrmZAB/wf5+Dfg4EGgJc14HB/50I9Z5+SdFqKHvVoxuvPfaCT395/7bZhXf9WM12mqberL5ux7G3vp7d+JqMuHKMViWsRYIDmn5jQKnNLW4BqrruZYppn/86A1+L9G6c7pNwdfxXUh8oMEeXadNhzdvKg9tMfRa07ilCnVJVe2u3ivUo3REnGe/BEZjdBslvpHdS5QX9QdFneWZcSeTNht7Uxc4h0/hWxOoE4COfhNDLMEh1Hyy5dnq6dBu6GW+E6O5xczzjP+R6UTpV1t7Q8srvDgLo5KC/5eTlP8RrDljPIPEq0KKqcbM20KjWvdkoW9bzp/at5dWid14q12efpvgcYyJfNcnmfiHfv4BGnOKsAIP$1257$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddSpriteSheetAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddSpriteSheetAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddSpriteSheetAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddSpriteSheetAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"42","statement":"6","debt":"3min  30s","cov":"N/A","issues":[{"line":"14","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddSpriteSheetAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"14","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddSpriteSheetAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="458"  style="display:none">H4sIAAAAAAAEAKVVTW/aQBC9I/EfRhwqkNC6Um9JiJRS0iA1NApJL1EOG3vAG9m71u44FFX5753ddfgw+ahUC4SZnXnvzcwzJAmMTbW2apkT9NMBiNnkBs5NrTNJymiQOuMMTVY91GSsg35OVLmjJMkMaaTFJlUYu0zgE7ycO67J8EsmOGsQcOaqUCljzqnOlGFYW4kt3mq1Ei5muJAgUiMeq0G3kyTwTbkoATNgQrRAOcLl9Aa4ALVDAXPEEPwxHU9m84koM1ioAkHpEK6secSUwBpDsDAWSmP9Id+WUX+3UzullyzPCxcsD8WZc0hOTDLFzYs52iemc8cfp/5SuLo0GRav52ptKLAeYDUwVxYd6pjzNliTPK+sImwfTvRS6YPodyurXKUHvNfox8qBBs0ndDtalugqmeJ78kIs9s39a1K0vlBopU3zdXscrtv50+0AX0oTWi0LSAvpHJxlWSSe54gUIK8ML3cNRzC2KAnHpqyMZtYY/yodnrRLhrAT2ZCeRsaG2F8Je+pE6Zw7psykkJxuz9gpxE5hp5kntL5reDCmgLHULPKnnbLdLPVbjU4Jyw0hVNKy0NfVgIxKGWycqyLjoFowjGNLNndDPx1+Z/h7CKYm8O7nXfEynFzi0OPL0oF58J6+u385OLNLN9h2stNwmPgC+oE7bkzcrCuE0WhXpA+J2+lgv7CF46+GEEbQi+XgfD2Qx1QObqe948Mqi1RbDQtZOGwdP+9/3eLH1sV5eE77PZ4akIE/n597w722W3gNFdl6l+nZm/pfTHA3MzSri+L+XV9ED2yM2TbquTVlGPX/muXtnTZtalw15RvyD1cY86+seVL+B3W0A+KFBx2HVa8ABbCw/VH4r2Dya1wgN5XiBRYVWhEHs4nuPren/XaLO8va+7q/x+aDX38BYr0bZMUG$684$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddSpriteStudioModelAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddSpriteStudioModelAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddSpriteStudioModelAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddSpriteStudioModelAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"26","statement":"1","debt":"3min  30s","cov":"N/A","issues":[{"line":"13","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddSpriteStudioModelAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"13","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddSpriteStudioModelAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="459"  style="display:none">H4sIAAAAAAAEAIWTwWrbQBCG7wK9w5yKDWF16C1JDamrEEPjhij0UnpQtSNrg7QrZkcxpuTdO9p15NgJ6SCQNPPPv9+sVlkGS9fvyGwahlk1B7XOH+DaDVaXbJyF0mpRWCbzZ2BHHmYNc+/Ps0w7tsj1JFWONhl8gpe6lx6Nn7US1Tz4FKY1lXgWPGjjxJZ6dfDbbrfKR4UPAlU59djP0yTL4JvxEQE1yIJIwA3C7eoBpAGtRwUFYkh+Xy3zdZGrTkNtWgRjQ7on94gVAznHUDuCztFYlMcu8qdJmgze2I0AjuhKAFFdeY/sVa6NjK8KpCdZ0F+8K7XWcfB6U9+73BF6tFGjfhrc3jqN7ak4txtj8TRb9GQY496pH3Xd/k9zP1g23ahJE1t26Puywo+AQi4OKgNLM+9uDFJJVbPbzz8x+zT5myYgYSwj2bKFqi29hyutX1MEcTC+c/KpdnAOS8KScem63llZO+a/lh4v3288gzf5CWMRGfYoY2RyWi6NbVBatKsgWxxqv9aO10Pb/j6k5FiwHAs5Vu4JadwaiJNPfKe81+S6wDU72aIVYzeBQV+SiD9ih3J0mR9YXk0xBiEPZMHi9shkAjlWnzSPUTSIDF/C/yv6e6xRmCq8wbZHUnGuKXu0+6F1MYuEZ8fWzxeH9+f4KDe5/gHpKYVPTQQ=$512$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddTextureAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddTextureAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddTextureAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddTextureAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"30","statement":"1","debt":"3min  30s","cov":"N/A","issues":[{"line":"14","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddTextureAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"14","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddTextureAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="460"  style="display:none">H4sIAAAAAAAEAIVU32/aMBB+j5T/4Z4mkCbnYW9th9QxuiKtCDWoL9MevPggrhI7si8wNPV/3zmGAKHaTkiGu8/fD8chy2Bqm73Tm5JgVIxBLGYreLCtUZK0NSCNYoQhp3+1ZJ2HUUnU+JssU5YM0rqHCus2GXyA49zzHoWflGDUuOPJdaUL5sypVdoyrWvEiW+32wkfEb4DiMKK12acJlkGX7WPFlABC6IDKhGe5ivgDWg8CsgRu+b3+XS2yGeiVrDWFYI2Xbtx9hULAmctwdo6qK0LQ/5aR/9pkiat12bDBoN1wQZR3HuP5MVMaY4vcnRbFvS3/4e+aNw9WYXV+1hjLHW6V1wHmhX+ptZdS83MRhscdr852ZS6uEI/Yzgtboi8cZo6ujQxskbfyAIHmkvWQxN9xV4Mw6EMado/anTSFeV+mNGnyZ80AS5tCJ2RFRSV9B7ulToE6eiWlp/XHm5g6lASTm3dWMOKsf9Ferw7h3+EbullLoaTSVQ8CIfK+KrcaVNyYlK2gGxymv1YWFq0VfXz1OI7QXwn+E7ZLbpwEBBz9r6GPh+crTvx0eBA5oR1bxMa6Rj8b/cgwzI+uTnLEcohYw0Y3EF8dL2JS9xgW6iIXzq71eFV+XxGEgIcbFzve4cq1AHPPOGfgA084xo5YIGPWDXoRDykvnvMORkNIx7r7bL1dnv6fRjxwp+/W8J5RJ8E$522$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddUIPageAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddUIPageAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddUIPageAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddUIPageAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"25","statement":"1","debt":"3min  30s","cov":"N/A","issues":[{"line":"12","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddUIPageAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"12","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddUIPageAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="461"  style="display:none">H4sIAAAAAAAEAH1TwW7bMAy9G8g/8DQkwCAfdmu6AG3mogHWIFjaXYYdVItJVNiiQdENgqH/PtpKnS7dRhiwRD6+9yjZeQ5zag7stzuBcTkBsyzu4Yba4Kx4CmCDU0QQ9o+tEEcY70SaeJHnjiSgbAaoId7m8AFe61F7HH5yRlGTnmftK18q51pa50lpuTEnvv1+b2JCxB5gSjJPzWSU5Tl88TFZQAcqiAyyQ7hb3IM2YIhoYI3YJ78u5sVyXZjawcZXCD706YbpCUsBJhLYEENN3BV1WSf/o2yUtdGHrRrsrBs1iOYqRpRoCud1fLNGflbBOP0rNASSnutd/cjysPhHYcUYMaRm893j/o4cVufgImx9wGlnNNgaY2NL/B9Rn0vOdYIgXg63HtlyuTscBxq04ij7NcpAwwdBDraCsrIxwpVzD4uV3WLPtiI98ANcwJzRCs6pbiioYMpf24iXb9AfIW0GlVmSOCp1kevtXvqwQ/biqIR8dqr9WJIs26r6eUrpNYpeo34G9IzcTQ5psMHJubMbpro3Mz47gYVgPRiDxrKC3xkG27VOTgbeWO+CUVoOEHCvnYPmn5izli46Dfjc/1kK/4YbVPUSb7FqkE2aYMgeT3Q2PvfSxcv0tH9JS33p8xvWNYaA2wM=$21$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AddVideoAssetPolicy.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AddVideoAssetPolicy.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddVideoAssetPolicy.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/EntityHierarchyEditor/ViewModels/AddAssetPolicies/AddVideoAssetPolicy.cs","projectName":"Stride.Assets.Presentation","line":"29","statement":"1","debt":"3min  30s","cov":"N/A","issues":[{"line":"16","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AddVideoAssetPolicy</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"16","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AddVideoAssetPolicy</i> is only used by the <i>class EntityHierarchyItemViewModel</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="462"  style="display:none">H4sIAAAAAAAEAI1TwW7bMAy9B8g/8DQkwCAfdmu6AF2WrgHaoJiLXoYdPItJVNikR8kNgqH/Plpq7dYbhhGGJZOPj08UnWWw4uYkbn8IMCvnYLbrO7jklmwRHBMUZBVBQdyPNrB4mB1CaPxZllkOhGHXQw3LPoN38BL3mmPxgzWKmkee3FWuVM48tNax0kpjBr7j8Wh8QvgIMCWbh2Y+nWQZfHY+SUALWhAFwgHhZnMHmoDk0UCOGJ3Xm9V6m69NbWHnKgRH0d0IP2AZQJgD7FigZumCuq2T/ulkOmm9oz3kJx+wXrz9NCuuKmVQqDdfkFBcOYZcO/o5+GIDNE3QXHiPwZu1ddpEk6M8qmz/H9B7h8cbtlj9HUvEIar/g+uZ5gatK8axNe0d4dh7ry9edF2gokbfFCWOyG4FPVIqmHxJpaql4MLpyqEUUh5OY/F+Ovk1nYCao4BCRQVlVXgPF9bGspHslvUyT3AGK8Ei4IrrhknrJf+nwuP5AH4PcelLvAotl6nWc8nOMp2hc0cHvbRguYRsOcS+bTls26r6Prh0WIJetQ4bP6J0LYB0wl7TWOOlcB2Lz0at2Ohc9CKhKUTB/9IORbfMBy2vTtGZYGiFgPAIMatX8BY2yuos51b0Sj/G/1kTvuIOVU2JV1g1KCadqPcmUWkqlrOxqs6eFsP3U9rqos9v3Y8XH1YE$513$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AdditiveLightEffect.sdsl.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AdornerBase.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AdornerBase.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/AssetEditors/UIEditor/Adorners/AdornerBase.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/AssetEditors/UIEditor/Adorners/AdornerBase.cs","projectName":"Stride.Assets.Presentation","line":"92","statement":"13","debt":"53min","cov":"N/A","issues":[{"line":"30","ruleId":"ND1400","debt":"15min","severity":"1","expl":"The <i>class AdornerBase&lt;TVisual&gt;</i> should not use the <i>class UIEditorGameAdornerService</i> because its parent <i>namespace Stride.Assets.Presentation.AssetEditors.UIEditor.Adorners</i> is at lower level than the <i>namespace Stride.Assets.Presentation.AssetEditors.UIEditor.Game</i> that contains the element used. This situation prevents <b>clean layered architecture</b> because both namespaces use each other."},{"line":"82","ruleId":"ND1400","debt":"25min","severity":"1","expl":"The <i>method InitializeAttachedProperties()</i> should not use the <i>3 fields AssociatedElementPropertyKey, AssociatedAdornerPropertyKey and AssociatedElementIdPropertyKey</i> because its parent <i>namespace Stride.Assets.Presentation.AssetEditors.UIEditor.Adorners</i> is at lower level than the <i>namespace Stride.Assets.Presentation.AssetEditors.UIEditor.Game</i> that contains the elements used. This situation prevents <b>clean layered architecture</b> because both namespaces use each other."},{"line":"49","ruleId":"ND1701","debt":"10min","severity":"1","expl":"The <i>getter of IsVisible</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"30","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>AdornerBase.cs</i> should contain only one type declaration instead of <i>2 types IAdornerBase`1 and AdornerBase`1</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="329"  style="display:none">H4sIAAAAAAAEALVWS4/aSBC+I/EfShNpBVLSPuQWHtIMQybW7iTRMuSy2kNjF9CR3W11t0HeUf77VtttbMDMI9JYCJt611efqwkCmKms0GKztTCIhsC+zh/gs8plzK1QEriMyUJaLVa5VdrAYGttZj4FQaysRLs+mDKlNwH8AbXekE+MH2NGVsMyzkIkIqKYC5vHQlFYnbEm3n6/Z6ayMKUBixT7mQ37vSCAW2GqEjAGSoga7BbhPnwAckBpkMECsRT+Fc7mXxdzlsawFgmCkKU40+onRha0UhbWSkOqtFPSY1rV3+/lRsgNLApjMWV/59KKFNlMpRnF0QvUO8plRge7skHSa2T3nHK4ONGZ/toYtIZ912hQ2ipVKZvHwiHKlmH1xO54iqfey5Ak/Z4klcl4hK+Peh0rLVGbfu+x3wO6hLSoJU+qh7ULGnqjG25wrHILDz+EyXkyrTzctd8i4eXl8AkofoIp5a5MHhvL2sbfHmGDdgS/XBu1yU6J2M2UrxIcDEdnqrm8pPlCzXfJF1u175IvM2InDn7Q6JX+CJkywmHlLJ3NoaqASDY2eZpyXUwbkQMEooQbU3KGeywhN0TEVVEya2yIeZHG9eSqBt1N0kPqaXMVTFkrU3CeamyLDDOueQpu2pMrj+PVdBwcVNOTEfIVvRecaF3V2B5jPUKaVdgl/53RdqBUi2caCWgDHCTuqUBjuSRmqXUbn1Ydjz7frwaZS+gc5G10jMd1+kAj8HMBL2TjoI1Wp/+GvhdEJt+qj2OMigR3W8bpPxgyaODoCEtbxRK1yL7V2uAyDeoK3zdR4aSSYRO9hby76hiTOsroWH93HIjsTkK37I9exyfGekdbpmT5M9A8P8EsX9GubvV9Wm7XovBOK6USCA0xRtBegMnULxdWSujQsAVMJtD8Yt509No2d9VLQLS1W2FqYr28vcML+YIt2JDnCcLU9yZA7X6Weye0dbmOt+tFOnkIZ1ze4Bdhb4ol0YpIs+aJwWOqvCxlvbVfndHqHC9x8597tFsVh2mWDJrHb5nb4oZdbzZ0Ahqxw1AmQtLBOfz3vMjm4HiutDaf2nQi7xjlW9dYHWK/W2ND+c4iTwn63PHYxdPSJ5RkwxPxH15by6Mtxt+1ylBbgeak+ndiDbfzm+VdZyO3mCH9l5NR0QRgC7RP7E/3H8evIb82vGvxJxbvT1fKcESMfUc5xPoNCvCKowLc0hiO3q7bMH6qXxbGw/MXl270+R+X4Rjn6gs=$929$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurEffect.sdfx.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AmbientOcclusionBlurEffect.sdfx.cs","relativePath":"../../../../stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionBlurEffect.sdfx.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionBlurEffect.sdfx.cs","projectName":"Stride.Rendering","line":"37","statement":"2","debt":"16min","cov":"N/A","issues":[{"line":"21","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ShaderMixins+AmbientOcclusionBlurEffect</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"21","ruleId":"ND1306","debt":"2min  0s","severity":"1","expl":"The <i>nested class ShaderMixins+AmbientOcclusionBlurEffect</i> is declared as <i>internal</i> and is accessed outside its parent type by the <i>no element</i>. Typically, types are nested to encapsulate private implementation details. Consider making it <i>private</i> or non-nested."},{"line":"29","ruleId":"ND1701","debt":"10min","severity":"1","expl":"The <i>method __Initialize__()</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"21","ruleId":"ND1801","debt":"0min  30s","severity":"1","expl":"In the context of analyzed code, the <i>class ShaderMixins+AmbientOcclusionBlurEffect</i> can be declared as <i>private</i>. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."},{"line":"29","ruleId":"ND2007","debt":"3min  0s","severity":"1","expl":"The <i>method __Initialize__()\'s name</i> should begin with an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="334"  style="display:none">H4sIAAAAAAAEAJVTUWvbMBB+D+Q/3PrkQOq8L91gyUoII7Qsoy9lhIt9ccRkyeikNNnYf9/JTlPHDYMIg+XTfd99uvs8GsEdBm9vCzLk0FP+ud8bjeCrBWM9UK48+K1i2ChNcLDBMenNh5hT5/2IZ5nNCV6Q4UQC6wMsvVMSX24xJwcLtVcGpjFz1mRZlzYU9oQDqfZaYwiVJmSJGfao9ZEvfVIcUC99yJVNHzH7hQVBumO1r9nQ5ODolnFHIpwAmW2mak0p55t9U/Nu9O7S/V5gZQpYHthTOT59NlWn1lE39p2M3EwC3YOZw2qrMu7Gm1a8C0fudIGitkTfhk3CZiOt+9TlTZuDcRRtsCSuMKN3qtJ5Ka3hfu9PvweylPHkDGqQdkoZqNB5JZ+Zlh4dx1RPiZv8I+wMeo75Uq4VGf+QZVoEWzPRwd2LsswDfIR5i3ISlJb9G2OLPK4qrLVI2lmVv9qDkhZ+KaaQK5ZxP2xrnVqRtvdiwfo9OKftVInrmJjW6ORIeHPpJk2Vm+EJMiP/iA7L5FL2NzqwTDIYP7gG8UTS0Ax1DFwFrBUKkK5C3ecFyb1cZYj5KuScH5zf2qKx4GAwPm/t3+jFduB5YfOgaW5UNIz6Te7neULXjvXsV6s3wGqVDLqsFwbaMsMCjTjeyS9QKPmJXXJxro1DZa6GXv5j4eTSHTtbecnzD3GyRy1EBQ==$520$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurKeys.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionBlurShader.sdsl.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AmbientOcclusionBlurShader.sdsl.cs","relativePath":"../../../../stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionBlurShader.sdsl.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionBlurShader.sdsl.cs","projectName":"Stride.Rendering","line":"24","statement":"1","debt":"13min","cov":"N/A","issues":[{"line":"21","ruleId":"ND1802","debt":"0min  30s","severity":"1","expl":"In the context of analyzed code, the <i>field Weights</i> can be declared as <i>internal</i>. Doing so <b>improves encapsulation</b> by constraining this field\'s accessibility to the smallest possible scope."},{"line":"19","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AmbientOcclusionBlurShaderKeys</i> is only used by the <i>class AmbientOcclusion</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."},{"line":"21","ruleId":"ND1902","debt":"10min","severity":"1","expl":"The <i>static field Weights</i> is typed with the <i>class ValueParameterKey&lt;T&gt;</i> that is mutable: its states can be modified at runtime. This can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="362"  style="display:none">H4sIAAAAAAAEAGVQXU/DMAx8r9T/YN5AYukP2ECCISGE+BBD8Oy17hqRJlWcbKsQ/x23GRPqrLzkfL47uyhggTG42YYseQxUXedZUcCdA+sCUKUDhEYz1NoQ9C56JlOfDZyR9z70SlcR7JDhKALrHlbBa8FXDVbk4UnvtYXlwLxPLOdVknDHORC3P49L6AwhC2Y5oDEHPfWhOaJZhVhpp16x/MINgdqy3o9qaCvwNGPckgQnQGZX6jGT4qreJ89FcbJ0nkXWdgOrngO18+M3uS6dpyn2RlY2E2DauPfYNbrkKZ5OcQIP2uoJJW2L4f/YbaxrOd3VVFelxnwIbbEl7rCkk1TqoZXTcJ595xlIaRvIWzQg5xQb6NAHLd/SyI3gpl1rsuGlLI2YO3trok95H6nnpHAQGqqLayMaBylPWDlrevhAE+kVvYQK4+SiNg7DNXyS3jSBZZf/XVbPtBtnDrzzi3ny+Mkzeb99p0J7ngI=$144$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionRawAOEffect.sdfx.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AmbientOcclusionRawAOEffect.sdfx.cs","relativePath":"../../../../stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionRawAOEffect.sdfx.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Rendering/Rendering/Images/AmbientOcclusion/AmbientOcclusionRawAOEffect.sdfx.cs","projectName":"Stride.Rendering","line":"37","statement":"2","debt":"16min","cov":"N/A","issues":[{"line":"21","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ShaderMixins+AmbientOcclusionRawAOEffect</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"21","ruleId":"ND1306","debt":"2min  0s","severity":"1","expl":"The <i>nested class ShaderMixins+AmbientOcclusionRawAOEffect</i> is declared as <i>internal</i> and is accessed outside its parent type by the <i>no element</i>. Typically, types are nested to encapsulate private implementation details. Consider making it <i>private</i> or non-nested."},{"line":"29","ruleId":"ND1701","debt":"10min","severity":"1","expl":"The <i>method __Initialize__()</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"21","ruleId":"ND1801","debt":"0min  30s","severity":"1","expl":"In the context of analyzed code, the <i>class ShaderMixins+AmbientOcclusionRawAOEffect</i> can be declared as <i>private</i>. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."},{"line":"29","ruleId":"ND2007","debt":"3min  0s","severity":"1","expl":"The <i>method __Initialize__()\'s name</i> should begin with an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="335"  style="display:none">H4sIAAAAAAAEAJVTXYvbMBB8D+Q/bO/JgZz93lwLd2kJoYQc59KXUsLGXjuismQkOR8t/e9dW76c7ZhChcHyamd2NLuOInjAyun7nBQZdJR+nE6iCD5pUNoBpcKBOwgLmZAEF10ZSzJ7V+c0eV/rs0SnBCe0cCWB/QViZwTH4wOmZGAjzkLBss5c+SxtQk+hrzjgaq815lBKQssxZR1K2fKF34StUMauSoUOnzH5iTlBeLTi3LChSsHQvcUjsXACtFYnotEU2jQ7+5oP0c2lp5PKCpVDfLGOisX101ddakPD2AspvhkHhgcrg+VBJHYY91bchGvucIOstkDXhT1VWcbWfRjyhv5gUYtWWJAtMaEbVeG6YGvsdPJ7OgFeQjkyCiWwnVwGSjRO8Gci2aO2TU2XrM9vYT1oH/NY7AUpt00SyYK1esHT4/YzS0scwHtYdzifKiF5/0bZYa9XWe0lazpqkb7OBwUdfMxTwXcs6v28K3apWdvZ8Qw271mfdlClXm1i2KCDlvBu9Cq+zN38ilmRe0aDRTCa/oUulptZKTf7L8jabo076Nx3dzZb9EX/qdvcDXzf6LSStFai7oX4ReZHP2HY6cbV3e4NsNsFsyHriFUdmzeoeJgMT1cu+P8wwbhjvvnsmKLTv8YjGLvlYMsvfv4CmVppsqEE$5$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AmbientOcclusionRawAOShader.sdsl.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnchorAlias.cs.1.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnchorEventEmitter.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnchorEventEmitter.cs","relativePath":"../../../../stride/sources/core/Stride.Core.Yaml/Serialization/AnchorEventEmitter.cs","absolutePath":"D:/Projects/GitHub/stride/sources/core/Stride.Core.Yaml/Serialization/AnchorEventEmitter.cs","projectName":"Stride.Core.Yaml","line":"144","statement":"36","debt":"2h  4min","cov":"N/A","issues":[{"line":"52","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AnchorEventEmitter</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"50","ruleId":"ND1401","debt":"2h  0min","severity":"2","expl":"The <i>2 namespaces Stride.Core.Yaml.Serialization.Serializers and Stride.Core.Yaml.Serialization</i> form a <b>dependency cycle</b>: they all depend on each other. This cycle prevents <b>clean layered architecture</b> and reduces maintainability. To fix it, first address all issues stemming from the rule <i>Avoid mutually dependent namespaces</i>. Then read this rule documentation that explains how to use the <i>Dependency Inversion Principle</i> to fix cycles involving 3 or more namespaces."},{"line":"52","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AnchorEventEmitter</i> is only used by the <i>class Serializer</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."},{"line":"54","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of AnchorEventEmitter</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="42"  style="display:none">H4sIAAAAAAAEAO1W0W7bNhR9D5B/uM1D4QCu3RYYsCVdAcWWY2G2ZEhKszzSEh1xk0lVlJJ6Q/9991JyLDlOkc4u8rARgRxRvOece0kest+HgcpWubhNCuhEp/D+7bufIEhYnt2wZQpvwEr5FybjnMO0LHh6fNTvg3nMeL4UWgslQWhIeM7nK7jNmSx43IVFzjmoBUQIdcu7UChgcgUZzzUGqHnBhBTyFhhEyG8AcXSRIJRWi+KeISHSAtNaRYIhJsQqKpdcFqwgzoVIuYZOkXA4CeqIk1NDFHNW6RQS6Pv6M9yLIlFlATnXRS4iwunioCgtY9Ky/pyKpahZKNwURxtABC81ZkOau7BUsVjQLzcpZuU8FTrpQiwIfo7l6oKmzohLisJ8+ioHzdNKHqIIzMHkvVFpxhFTRgUu6pJp6rlP1LKdkah0LcpcIjU3cbHCEhrmP3hUUA+FLFSaqntKM1IyFpSdPtvMZohD2FzdcZNbtR6kKlB6JYcmJtvMeP1JJyxNYc7rIiK/kAaOutfp5SRFF7gwBEshU7nh3k6719AytiHwRuG15dvgBDDzvU/O0B7CiRXg+0kXrp1w7F2FgCN8yw1vwBuB5d7Ab4477IL9+8y3gwA838A509nEsbHfcQeTq6HjXsIFxrpeCBNn6oQIHHqGtIZz7IAAp7Y/GOOrdeFMnPCma8BGTugS9sjzwYKZ5YfO4Gpi+TC78mdeYKOMIUK7jjvykcme2m7YQ2bsA/sTvkAwtiYTojN41hVm4pNWGHizG9+5HIcw9iZDGzsvbFRoXUzsig4THEwsZ9qFoTW1Lm0T5SFSlScNrZTC9dimbuK18G8QOp5LKQ08N/TxtYsZ++FD+LUT2F2wfCeg4ox8b1olSyXGKM8AYaxrV0hU/vYs4RB6vwrsB1AY2tYE8XDK3EfT2pjtN4dtBnNjYLhsGa79/E9ab9QzVIXLC0iKItNn/f4t7vly3ovUss9YOc9X/c0gA1XvalzaZA9bW6ne2mc/LBHz2Hbotz936fkLPd+9Nc935vkeLFkoITlYlMqP8WocWXnhwbx6bRoH82oENoCH8erayDZn1L/26m2fNpAv6dXk062j6H+v/s979UO6Da8+Pio1LcdgpQu+7A1wfXKzJXXvkkuO+/N8a8hEyM+bPtxiMccwXDpkrz37Dr1BnxOwZEuuM4YL9NGoAIFZKv4y2/v46O/jI8Am0LRyiaszStFw0PGiROUG0MYtiN/gDAYJWhaPm71VcI1BLcvFHXoVGgyLlUxXMEEr+KDMRvwI3CiEX0Hy+9aXzun5NzDGTCcBLz6Qqcjbj7i/BFujbH0zQA0oYz470uk4reQk/7L+/xQznTPNO82+DWIj1687mNA/cio43CkRA4V3LFJr2By5UFUN6L/doNRMfj0rjjsPg3sGpVklalU92yObY56pMIhYyvLvkngg5inLMpy2oGB58YL8toxfgj3gn0suI/5i6a8FvFD+M5aTkxlqyBovz2JuBXwX+bC+R2Hanaep0KxzvqQLAR3xpcR7D97GjJO0B+JFmLMogc4dy6EytE018TpQa/YW4SrjH7z2AHSs0zbclgxqYgGdLeBe5WnwCm2wRH2vX8OryjcGStLdUj8RsU33BCW1JygrxvPHMV/bXa2JqCs6SkudmILWZwFeznhlsr1vVJXfFZtKPq9eJgRPspb7Pj/3hvv3zGLd8vFT0rTtxzuKQI2nmjc1bfntPqK2ofZQtdOL99G2G3B/hU23OoC+Ftw+s7rTzfea3N2IB9B4qBLuxNtD32z3IfDdulo4z9TzyK6asK0jo33Y1D9f/wFijkT/9hU=$1361$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AndroidDeviceEnumerator.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AndroidTracker.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AngleSingle.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetCompiler.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetDuration.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationAssetType.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationAssetType.cs","relativePath":"../../../../stride/sources/engine/Stride.Assets.Models/AnimationAssetType.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Assets.Models/AnimationAssetType.cs","projectName":"Stride.Assets.Models","line":"97","statement":"12","debt":"10min","cov":"N/A","issues":[{"line":"29","ruleId":"ND1207","debt":"2min  0s","severity":"1","expl":"The <i>class DifferenceAnimationAssetType</i> is not instantiated in the context of the analyzed code. Should it be declared as a <i>static class</i> or is it a potential candidate for removal?"},{"line":"13","ruleId":"ND2003","debt":"5min","severity":"1","expl":"The <i>abstract base class AnimationAssetType\'s name</i> should be suffixed with <i>Base</i>."},{"line":"13","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>AnimationAssetType.cs</i> should contain only one type declaration instead of <i>3 types AnimationAssetType, StandardAnimationAssetType and DifferenceAnimationAssetType</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="4"  style="display:none">H4sIAAAAAAAEAM1XzW7bOBC+B8g7DHxYWIBXTrbbPdRJgCR2iwBNF4jcyxY90NLYYiuRAknFaxR59x2SsiRLihNge6iQGDLnf+abGXo6hVtZ7BTfpAbGcQDhp8US3stSJMxwKYCJhDiEUXxVGqk0jFNjCv1uOk2kEWjWNWso1WYKv8GerkkmwTdJSFyB0xPxjMekMzJlwiWpVUXY6Ntut6H2HNoxhLEMvxXB6cl0CnOuvQuYABlEBSZFuL9bAgmg0BhChOgOP97dLj5FizBPYM0zBC7ccaHkN4wNKCkNrKWCXCpLpNfc+396cnpSai42EO20wXx2+DW8lXkhBQpzLxPMGqqLk6gKw2ut0egh0iD73d8za1SwHHXBYtwTvZrQ2dGnJz9OT4CeL3NmmKsFi814dC24d9xxL3cFjoKvnrMoV5QWYCvteCHOmNbQF/DclfraxD3mK1R3G0Eufm1oXaV9dQtR5mBf4Ads0MzgyUs/2SC9eq6LjO1azsNtxova8U6IkSHYMJW8HKqP8Hl+ePeTwpePqGyNjoZ/efUMOayPbdizZ9Mz5+s1KhQEiWP5adhem6FjEr9KjhofqyT1DByLYhw07C237WPVzUvlcXcJArcdF/bEzyJOMf6OSVvZgEL7LARbZTSVLmHNMo2TPgehUpna0JLneCP/JX77FhVMhP+gkgNyC5EMSB16HH6UYoPa7HV11DzNmu9P7UROaaZe6DLPmdpdHR5/oNEDNB/tCPKTk5kUjHTvK6YRtCwVIZPVPZzbQQXbFAX4IceShBv+2OIJO7anw8YvHllW4tWyY1bhvh1iqmF4MfVsHdlSo0pk3Dle9uRh/BAA1+QwM0590rSbp88D2PIsgxUdsCwuM2YXD9swTrtpAkjssY0v25FqXWbGBk2LZk4FiuB3eIDxOApI3J5bC1XKrPagm4m+260eG785C1od9iVyit7TYqvoDnUHLPUUedhHPQr6TfrZ6oAbqqdXuZ/Z2g3uqj0c03g0CmY98Oy9jgqM+ZqjhlRubb2I0EClqf9Lcf55NuDkdYWjGvTWX7sWwX10XX6WvZm7/UCGgejb2hWssEWUaxdUg/mkmhWvxPUwNl9tZQLuWqQIgJZP25Hi7lRI/2tlLxC9Djue77dnw6CxQ7I2OwScF0bm4ZQ9qFBn3Q1k3/Wr3Q7blMcpJKhjuvWhn0OCmZKubL0cuZbdkgwTpgJg2FJHvAZVroGR8EoqJbdocyZzD1Mpv8MHSiAVY8MFLS0Vp9xQf5OxCdymrCBxOD8P/wrf1giDm4wyT6VohdIp/cGuPtzFaLfg8Pbr7dsjGI3IfjYwjn1CXAb9YZXAOGXWF1SvHcbDoP15ZocQ+sIN0T4Hlyhq+/PJK5u6da3quE3bIKbrvft9wXR3KVSDn4QkUVRrqsGdsbKlLllGy4ACStyPi3oBriqc/L+U/0qOHyvac/dW+xxe66hsf0zqgUB//wEH35Doig4=$1100$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationBlender.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationChannel.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClip.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClipEvaluator.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationClipResult.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationClipResult.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationClipResult.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationClipResult.cs","projectName":"Stride.Engine","line":"40","statement":"4","debt":"35min","cov":"N/A","issues":[{"line":"19","ruleId":"ND1905","debt":"15min","severity":"2","expl":"The <i>field DataSize</i> is assigned outside its parent type by the <i>3 methods CreateEvaluator(…), Compute(…) and AllocateIntermediateResult()</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose accesses can be better controlled at debug-time."},{"line":"32","ruleId":"ND1905","debt":"15min","severity":"2","expl":"The <i>field Data</i> is assigned outside its parent type by the <i>3 methods CreateEvaluator(…), Compute(…) and AllocateIntermediateResult()</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose accesses can be better controlled at debug-time."},{"line":"37","ruleId":"ND1905","debt":"5min","severity":"2","expl":"The <i>field Objects</i> is assigned outside its parent type by the <i>method Compute(…)</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose accesses can be better controlled at debug-time."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="149"  style="display:none">H4sIAAAAAAAEAK1UUWvbMBB+D+Q/3NNoYJMHe1u6wpampdC1MGdPow+KfUlUZEnoTjFZ2X/fWXZSmsKWwYIhQvfdd9/dd3ZRwMyHXTTrDcNZNQF1N1/AlU+u1my8A+1qQTiOZpnYR4KzDXOgj0VRe3bIqwNU+bgu4A3s4yQ5NX6olaAmmac01lTCWXKqjRfaGNQzX9u2inoEZYCqvHoMk/GoKODSUC8Ba5CCGIE3CF9vFiAJ6AgVlIj58vZmNr8r56qpYWUsgnH5OkT/iBVD9J5h5SM0PnZBOTa9/vFoPEpk3BrKHTE2auatlRSJkbpGh9FU0wMkd6e+B2ke47TLdbpBCrrCffCzMz01jUdP4xHIL6SlCIbKaiI4xGfWhG9IyXKPGsA5IZqtVABiQVYQUdfe2R0sd4w/HmDeBN5datbwCRy2/fX7h6xnTyHju0qcpNtE+BbaDTrwyzyM1lgLS2FPIfgow1Uv0vbFe7SU6w90RF/AOaWm0XF38fJ64VlbIPNTKFagpZa4mKpOCwH7XFmWSjwVk55D6oi8eM0+zNE4hq77UkqcKuoamUD8p+6/2wy9twGqjXYOLdRIVTShd/7vYvL9VtuEx/3/O/sxzdDorez/+WFfvljs3gE16xkvYDgQPMEaedr1NoVfJw6k7CygbM9rsVKdWS8tDv6AlgfWZitLxKbB070aNnZY1sPinmrbH1UOe5m/Ms67d/9Pdf+C32f+Tq50cH94CTqcTFme30bn8eVIBQ==$556$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurve.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectBlittableGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorDirectBlittableGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectBlittableGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectBlittableGroup.cs","projectName":"Stride.Engine","line":"23","statement":"4","debt":"9min","cov":"N/A","issues":[{"line":"10","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectBlittableGroup&lt;T&gt;</i> derives from <i>4 types AnimationCurveEvaluatorDirectBlittableGroupBase`1, AnimationCurveEvaluatorDirectGroup`1, AnimationCurveEvaluatorDirectGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"10","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectBlittableGroup&lt;T&gt;\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="151"  style="display:none">H4sIAAAAAAAEAJVTTW+bQBC9W/J/mFMFbbQcekvaSglxKqtNGgU3l6iHNQz2prCLZgdcq+p/77AY7Ci9FFlivfO+9gFJAqlr9mQ2W4Yoj0HdLVZw41pbaDbOgraFICyTWbfsyEO0ZW78eZIUji1yOUGVo00Cb2Cce+EU+L5QgoqDTmYqk4tmxm1hnMhSo456u91O+QHhA0DlTj038XyWJHBt/BABCxBDJOAtwu1yBUJA61FBhhg2vy7TxV22UHUBpakQjA3bDblnzBnIOYbSEdSO+qEs6yH/fNZ6YzeQ7T1jffHyr3poLZsaVerqRmQpQ+rE2h9x4bwyJ/zXnrrVEqO3ynvOfGZ1jb7ROY6oS2uGJH4++z2fgVxNu5bzQV5p72Gapy11uOh01Wp5JNeG5FxXlWHW6wo/k2ubD6tPcP4/hCvtUUiD68E8BCDHApbWXYfUx5T6vS4ROmcKuCcnFfh0q63FKiIs4bCGfLifQV8YCQiLlfSXNdqCxV2/PoOl5XsmqFwecsZH45MM/ZUh94zgMCkfZOJQ5ym60wQ/cX9DfcXwcWSo0IP6Mk4uXrPylggtL+UV+/WSOG2/cvseClGX/gFL6TCK+mrextF4Kng36XwrSy9fQyzSUz61lNfLP506/1CP8qzwJN+fYSk3+f0FM5kLCrUD$8$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectFloatGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorDirectFloatGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectFloatGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectFloatGroup.cs","projectName":"Stride.Engine","line":"53","statement":"16","debt":"9min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectFloatGroup</i> derives from <i>4 types AnimationCurveEvaluatorDirectBlittableGroupBase`1, AnimationCurveEvaluatorDirectGroup`1, AnimationCurveEvaluatorDirectGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"11","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="152"  style="display:none">H4sIAAAAAAAEAL1WXW/aMBR9R+I/3Kcp6Ydpt7e2tFopndBaVgm2l2kPJrkpbhM7sh0omvbfd+0QIMBo11WLEAn2PeceX5/r0GpBR+UzLe7HFoIoBNbvDuFaFTLmVigJXMYUIa0Wo8IqbSAYW5ubk1YrVlaiTRahTOn7FryDat4QJsYPMaOo0PMMRCoi4hzYIhaKaHXOlnzT6ZSZMsL4ABYp9pCHzUarBVfClBIwBkqIGuwY4bY3BAKgNMhggOgHb3qdbn/QZVkMiUgRhPTDuVYPGFnQSllIlIZMaTdJj1mpv9loNgoj5D0MZsZidrr46VfCSC+yW05kDhCZUweQPEOT8wirqI9SlHym2fjZbABdeTEilRCl3BhYzHcKPcHuhKcFp8JeCU3qrlPF7SetihxOdkdepsJaPkrRR19yg2eJA5+XKeeZfXatLAF84QxPENQEtZMKEyViuNMqQmM6Yy4lpoHGBObPEJX3A9qpLNcUhPFQZDjIuQSJU/d8AD1p76yGVEVea7hMvKLBXQO0DuEzLJjnNKGv5Wr0hGuICq1RehS0KwzrLEdP/4jpkUeeNkF+eGuuR5xda7eXddAE2edqZku2BapHfnHQxQDzI7sgHeocW4P4kQ115P7uk9WcvEuNxuuTgiis2xPLdY3se60Q+3D0g7mK0Vf0uC6rIulSj+6gOF6j2JDpbEId6vhQ5yotT5CElFO7uQOAe8f1eR9UjrrsEpiOUa6s4bxdaanze3eDW2NQaT1rL3EhXMARNU0Q+MBwxTulYDiE+dQKprWIrzi3RG0sVSR0VM490ltd63CWk1Pba527EULGGokorJOudYu79kope2FQdRftQpX4S5IYd7C2YcmvdEkdbHK5q+7W+vaeU/Uu6t1zCMdUUDLONzp58OCvOV8NLL32evB7Z6K1Pltb275f2zpud1LvhNWBX/WfmBr8d2/cCIlcv5k53PvqqxUpu6E8wQt266Ub85/K0XH/Bri0b1aQ7cfbfFXPr+hZGXas1dS916CvbC/LU8woCcbdpwhzpyrYUbf5I93o8xuhKWbWnAk=$785$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectGroup.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectQuaternionGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorDirectQuaternionGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectQuaternionGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectQuaternionGroup.cs","projectName":"Stride.Engine","line":"58","statement":"16","debt":"12min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectQuaternionGroup</i> derives from <i>4 types AnimationCurveEvaluatorDirectBlittableGroupBase`1, AnimationCurveEvaluatorDirectGroup`1, AnimationCurveEvaluatorDirectGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"11","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"9","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectQuaternionGroup\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="154"  style="display:none">H4sIAAAAAAAEANVW0U7bMBR9r9R/uE9TMiCB7Q0oaJQyVYOOKdVepj24yQ01JHZkOy3VtH/ftdM0TQtlAu1hVtW49j3Hx9fnOg1D6Mtiofjd1IAX+xCMBmO4kqVImOFSABMJRQij+KQ0UmnwpsYU+jgME2kEmnQVGkh1F8I7qOc1YRL8mAQU5TueiGc8Js7IlAmXRKuKoOGbz+eBriK0CwhiGdwXfrcThnDJdSUBE6AFUYGZItwMx0AAFBoDiBDd4PWwPxhFgyBPIOUZAhduuFDyHmMDSkoDqVSQS2UnqZtX+rudbqfUXNxBtNAG85PVT7eTgPRicMOIzAJifWIBguWoCxZjHfVJ8IpPdzu/uh2gVpQTUglxxrSG1Xy/VDMczFhWMkrsJVek7hv1UQma/axkWcDx7vCLjBvDJhm66Aum8bRhOKsWX2pwOpQ0hHIp1CxFkDNUVjTMJE/gVskYte5PmRCYeQpTWPYhrp77dGZ5oSgIkzHPMSqYAIFz29+HoTC3RkEmYyfYbxZe02BbhMYi3Aor5iWN77K6Hj1jCuJSKRQOBb0aE/Sb0ZNnMUNyy+M2yA0/udYDLq6UPdU2aIbBl3rmidVWqCE5x0JXA4Eb2QXpUw2ZFsSNbKmjOhg8GsXIxVRyrD3JicLYMzFMtch+tBKxB4c/A5sx+oofNmXVJAOq1h0URxsUWzKtTahWLR+qQmbVXZKScio8exUw57gRG4EsUFX1AvMpirU9nPVqLW3+NJOMZJJAr9Z62mtwPpzDIVWO57lAf807lWA4gOXUGiZcxdecT0RtbZWndGkuPTJc3+t4UZBTexvluxVCxprw2G+TblSLbQ1QqqAp8QrubcfbZqur7cr2MZ5Rls7bVXIAR5Q4Msh3umZw/1W8bwJX3nobwQdrnI3a2tjnntvnJm73wuaZcVkaeO81Z/Le9+obkEhrc3xNU02vQX+j3n63f2Km8e2euuYCmXq9qaJiiorHLKuIXmevf2yD/+c0+vbvDBPm5fP4a93PXs3LnL28rRe1mKmSc/tOhpE0w7zIMKdFMBk8xlhYVd6O5C279KDPH4h17ipiCg==$799$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectVector3Group.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorDirectVector3Group.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectVector3Group.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectVector3Group.cs","projectName":"Stride.Engine","line":"58","statement":"16","debt":"12min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectVector3Group</i> derives from <i>4 types AnimationCurveEvaluatorDirectBlittableGroupBase`1, AnimationCurveEvaluatorDirectGroup`1, AnimationCurveEvaluatorDirectGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"11","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"9","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectVector3Group\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="155"  style="display:none">H4sIAAAAAAAEANVWy27bMBC8G/A/7KmQ8pCS5pYnGscpjCZuABu5FD3Q0ipmIpECSdkxiv57l5RkW3LiFAl6qOCHTO7MDpezlMMQejJfKP4wNeBFPgTD/hiuZSFiZrgUwERMEcIoPimMVBq8qTG5Pg7DWBqBJlmGBlI9hPAJ6nlNmBiP4oCifMcz4imPiHNkiphLolV5sOKbz+eBLiO0CwgiGTzmfrcThnDFdSkBY6CEqMBMEW4HYyAACo0BjBDd4M2g1x+O+kEWQ8JTBC7ccK7kI0YGlJQGEqkgk8pO0m1W6u92up1Cc/EAo4U2mJ0sf7qVBKQXg1tGZBYQ6RMLECxDnbMI66gvgpd8utv51e0AXXkxIZUQpUxrWM73CjXD/oylBaPCXnFF6u7pLdXRVyWLHI63x16m3Bg2SdFFXzKNpxX8vExbZXcKlDQ054qnWYIgZ6isXJhJHsOdkhFq3ZsyITD1FCZQ3UNUfu/RbmW5oiCMxzzDUc4ECJzb+z0YCHNnFKQycmr9VeI1DfYaobEIl2HJXNH4rp7r0TOmICqUQuFQcFZjgt5q9ORVzIB88rwJcsMv5nrCxbWy+9kEzTD4Vs+8kG2JGpBnLHQ5ELiRbZAedY9pQNzIhjrqgP6zUYz8S83GmpOcKIzdE8NUg+xHoxC7cPAzsBWjj+ipLasm6VOfbqE4bFFsyLQ2oS61fKhymZanSMKsMd0hwJzjhmwIMkdVdgrMpyjW1nB+Vmtp8iepZCSTBHq11tOzFc6HCzigtvE8F+iveacUDPtQTa1hwmV8zflC1MZSeULHZeWRwfpax4ucnHrW6t2NEDLWhEd+k7TVLfZaAaUKqv4usd5msL1sazUt2dzDcyrRRbNF9uGQqkbuuKcDBvfexfshcGmsjxF8tq5pNVZrnbtunW3c9sTmlXFZGNjxqg3Z8b367CPG2hbfk0TTo89vddrv5k9MNX7cTTdcIFPvtFMJfp+f/vG+/yfl79n/LEyYtzfg70S/egRX1Xp7TW8KMVMl5/bZC0NpBlmeYkZJMO4/R5hbVd6WylW39EWvPwUNLydECg==$790$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorDirectVector4Group.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorDirectVector4Group.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectVector4Group.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorDirectVector4Group.cs","projectName":"Stride.Engine","line":"57","statement":"16","debt":"12min","cov":"N/A","issues":[{"line":"8","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectVector4Group</i> derives from <i>4 types AnimationCurveEvaluatorDirectBlittableGroupBase`1, AnimationCurveEvaluatorDirectGroup`1, AnimationCurveEvaluatorDirectGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"10","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"8","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorDirectVector4Group\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="156"  style="display:none">H4sIAAAAAAAEANVWy27bMBC8G/A/7KmQ8pCStqc80ThOYTRxA9jIpeiBllYxE4kUSMqOUfTfu6Qk25ITp0jQQwU/ZHJndricpRyG0JP5QvH7qQEv8iEY9sdwJQsRM8OlACZiihBG8UlhpNLgTY3J9VEYxtIINMkyNJDqPoQPUM9rwsT4KQ4oync8I57yiDhHpoi5JFqVByu++Xwe6DJCu4AgksFD7nc7YQiXXJcSMAZKiArMFOFmMAYCoNAYwAjRDV4Pev3hqB9kMSQ8ReDCDedKPmBkQElpIJEKMqnsJN1mpf5up9Bc3MNooQ1mx8ufbh0BqcXghhGVDY80zXc7gmWocxZhHfVF8JJNdzu/uh2gKy8mpBGilGkNy/leoWbYn7G0YFTWS65I2x29pfr8Vckih6PtsRcpN4ZNUnTRF0zjSQU/K9NW2Z0CJQ3NudJpliDIGSorF2aSx3CrZIRa96ZMCEw9hQlU9xCV33u0V1muKAjjMc9wlDMBAuf2fg8GwtwaBamMnFp/lXhNg71GaCzCZVgyVzS+q+d69IwpiAqlUDgUnNaYoLcaPX4RMyCXPG2C3PCzuR5xcaXsfjZBMwy+1TPPZFuiBuQZC10OBG5kG6RHvWMaEDeyoY78338yipF7qdVYc5IThbF7YphqkP1oFGIXDn4GtmL0ET22ZdUkferSLRSHLYoNmdYm1KOWD1Uu0/IMSZg1pjsCmHPckA1B5qjKToH5FMXaGs5Oay1N/iSVjGSSQK/WenK6wvlwDgfUNp7nAv0175SCYR+qqTVMuIyvOZ+J2lgqT+iwrDwyWF/reJGTU09bvbsRQsaa8Mhvkra6xV4roFRB1d8l1tsMtpdtraYlm3t4RiU6b7bIPhxS1cgdd3TA4N6beN8FLo31PoKP1jWtxmqtc9ets43bnti8MC4LAztetSE7vleffcRY2+J7kmh68PmtTvvd/Impxve76ZoLZOqNdirBb/PTP973/6T8PfuPhQnz+gb8negXj+CqWq+v6VUhZqrk3D57YSjNIMtTzCgJxv2nCHOryttSueqWvuj1B9jhUItCCg==$790$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedBlittableGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorOptimizedBlittableGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedBlittableGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedBlittableGroup.cs","projectName":"Stride.Engine","line":"17","statement":"1","debt":"9min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedBlittableGroup&lt;T&gt;</i> derives from <i>4 types AnimationCurveEvaluatorOptimizedBlittableGroupBase`1, AnimationCurveEvaluatorOptimizedGroup`1, AnimationCurveEvaluatorOptimizedGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"9","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedBlittableGroup&lt;T&gt;\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="158"  style="display:none">H4sIAAAAAAAEAJVSwW7bMAy9G8g/8DTYWyAfdmvXAW2WDQG2tqiz3RWLTlTYokDRDrph/z7abpLtOMGAKPLx8elZZQkrii/s9weBvC7A3K+38Jn64Kx4CmCDU0QQ9rteiBPkB5GYrsrSkQSU5gw1xPsS3sCpnrTH4XtnFFVMPJVvfa2clfTOk9JyNBe+4/Fo0oxIE8DUZJ5jscjKEj75NEtABzoQGeSA8G2zBW3AkNBAhTglv25W6/tqbToHjW8RfJjSkekZawEmEmiIoSMeixp2s/5F1icf9lC9JMHu+t+jeeqD+A7NirqotFwhDzo6XXDTfbXOqLlFFmyHKdoaT5Xb4OdJaZH9WmSgK/Y71Q91a1OCc33V84Drwba9Vcsfos71P9HdtV7E7lr8wtTHD9uPcPWfPXc2ofbNs18lTDKYRL1Rb2lAHsWqyck2CAN5B49MetG0OtgQsM0ZG3iNoZ73JYy2sILQbdWlKtoAdc+MQcbzEjZBHoWhpXqSu4SmJas/wtYqt7hI+UvVuL5PMsxtesJGlef5KOhtkZ944N1JgnlomqQvrYCbc+qH2oGVWJY5vL6Q/55D3fT7AyqFqvIGAw==$61$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedFloatGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorOptimizedFloatGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedFloatGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedFloatGroup.cs","projectName":"Stride.Engine","line":"39","statement":"7","debt":"12min","cov":"N/A","issues":[{"line":"8","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedFloatGroup</i> derives from <i>4 types AnimationCurveEvaluatorOptimizedBlittableGroupBase`1, AnimationCurveEvaluatorOptimizedGroup`1, AnimationCurveEvaluatorOptimizedGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"10","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"8","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedFloatGroup\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="159"  style="display:none">H4sIAAAAAAAEAL1UUWvbMBB+D+Q/3NOwuyA/7K1dBmuWjkCXBhz6rkjnRMWWxOmcNBv775PtpFla1gTW7TD4JH333Xd3QlkGI+e3ZJYrhkSlIKbjOdy42mrJxlmQVkeEZTKLmh0FSFbMPlxmmXZskYsnqHC0zOAd7M9DjNH4QYuISlue3JRGRc6ca21cpCUvDnybzUaEDhFagFBOPPi038sy+GJCJwE1xIRIwCuEb5M5xAC0AQXkiO3m7WQ0nuZjUWkoTIlgbLvtyT2gYiDnGApHUDlqDqNbdfr7vX6vDsYuId8Gxuqq2bCywuClwqi6qUd8tqbDh37vR78H0Xy9iCpAlTIEeDof1bTG8VqWtYyNu/NsKvMd9U3pJH8lV3u4PAm+Lg2zXJTYBlzLgB+LJv5Tl3iXv9VAjmN5bXuCLBDcGqkRDGtnNMzIKQxhtJLWYpkQFrDzQXX/QZxH5SmCUM9NhbmXFlRNhJab9QAmlmdMUDrVSh5AKwUKqaLk9CDlN1WNmSJerC6HiBRI3pUtwXzrEYbDZ014ARGjemFUekz6LEdjF0mr5yJN9grh/b44cVcUobmGQzjwO+qok5dcje1D7+NQcEa47rzBGeicJfH58LHV54On+Pg69W4eV8enP4+XWAb8+8ncGouS/s1oOu5zZvPG3f6P/Rs1T520/GYd/FNfThdzUgGvyG3A4gamjieVL7GKLwPq8aNC3whKXmnZzo2/+P0ClnVhGXQG$546$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedGroup.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedQuaternionGroup.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorOptimizedQuaternionGroup.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedQuaternionGroup.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedQuaternionGroup.cs","projectName":"Stride.Engine","line":"42","statement":"7","debt":"12min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedQuaternionGroup</i> derives from <i>4 types AnimationCurveEvaluatorOptimizedBlittableGroupBase`1, AnimationCurveEvaluatorOptimizedGroup`1, AnimationCurveEvaluatorOptimizedGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"11","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"9","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedQuaternionGroup\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="162"  style="display:none">H4sIAAAAAAAEANVUy27bMBC8G/A/7KmQUoM69JY0BRrXLQwkTgoZvdPkKmZAkcSSspMW/feuJD+aBImTFj2UECBSnJkdzUosChj7cEfmepkgUzmI2WQOn33jtEzGO5BOM8IlMosmeYqQLVMK8bgotE8OU7WDCk/XBbyB7X5kjsZ3WjAq73RKY41izTI12niWpSD2euv1WsQeETuAUF7chHw4KAr4ZGJvATVwQSRIS4SL6RyYgC6igBKxe3g+HU9m5UTUGipjEYzrHgfyN6gSkPcJKk9Qe2o3eVr3/oeD4aCJxl1DeRcT1ie7Zfcmgv2iuJAs1hJUPGkJTtYYg1S4RX10pteLw8GP4QB4hGbBLkFZGSPs9scNrXCykraRHOxlSKY231F/5SWSY8AX8k2A44OMM2tSkguLHeFMRny/F/nQW9g46dyQTxxEF2SUFYJfIbXWYeWNhivyCmMcL6VzaDPCCjZzUP19xJ2rAzEI9dzUWAbpQDVE6FK7HsHUpatEYL3qfI+gsl5y6lKx73xv5TdX7TAVf4J9DcESSMHbTmB+FxBOTx8k8Qgixs3CqPy+6IMa7dgTPYl9VD09e4xvR5vD1ts37gBeEa762eiFjDJJSq+jTJx+HWGGt8+X6HvwxKZvEhxl+0SO8mzbQ3i7K3RZVZF/6fzkvsjP+0u0Ef++o+fGoaQ/b2kZlkhGSdsLvbS5/6BV/1nw4/YUli4djv7FvuH0yZAPv9FBG2lJfg0O1zDzaVoHizWfR6gntwpDayh7JrfNlG98/QKcTOQZFAc=$581$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedVector3Group.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorOptimizedVector3Group.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedVector3Group.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedVector3Group.cs","projectName":"Stride.Engine","line":"42","statement":"7","debt":"12min","cov":"N/A","issues":[{"line":"9","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedVector3Group</i> derives from <i>4 types AnimationCurveEvaluatorOptimizedBlittableGroupBase`1, AnimationCurveEvaluatorOptimizedGroup`1, AnimationCurveEvaluatorOptimizedGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"11","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"9","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedVector3Group\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="163"  style="display:none">H4sIAAAAAAAEANVUTU/bQBC9R8p/mFNl02h94AalUknTKhIEJEfcN+sxWWTvrGbHCbTqf+/aTsKXINCqh64iedfz3pvnN46zDMbk79heLwUSk4KaTebwjRpXaLHkQLsiIpywXTRCHCBZivhwlGUFiUMpd1BFfJ3BB9jWQ+QUeFioiEo7ndxW1kTNXJrCUpRlr+711uu1Cj0idABlSN34dDjIMvhqQ28BC4gNkUGWCOfTOUQCuoAKcsTu5tl0PJnlE1UXUNoKwbrutme6QSPARAIlMdTEbTFu697/cDAcNMG6a8jvgmB9vDt2T6KiX1TnOoq1BBOOW4LTNQavDW5RX5zt9cJw8HM4gLh8s4guwVQ6BNjVxw2vcLLSVaNjsBdebG1/YHEVTRIffmdqPBzthZ9WVkQvKuwIpzrgp43C5775xkPng0lirYsw6BKBVsitaViRLeCSyWAI46V2DquEsYTNHkx/HcWZ1Z4jCIu5rTH32oFpmNFJex7B1MmlMFRkOtMjKCvSMW/dWkrvrTxw1S5bxpev76GiBLKnqhOY33mEk5MnMTyDqHGzsCZ9LPqkR7vuicRqk1PPTZ6D29WGsDV2FbPHS8ZVvxu9kZGLZnkfZeKK9xFmePt6i34ALxSpEThINnEcpMl2evBx1+WiLEP8G6fHjxV+PT5iFfDvZ3lmHWr+w2H25LdO8x/M5n9Ketx+arWT/Vm/zTScvBjv/sfZ60GWTGtwuIYZybT2Fdbxu4PF5Nagbw0lr4S22cZL/P0GlJJkofYG$573$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationCurveEvaluatorOptimizedVector4Group.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationCurveEvaluatorOptimizedVector4Group.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedVector4Group.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationCurveEvaluatorOptimizedVector4Group.cs","projectName":"Stride.Engine","line":"41","statement":"7","debt":"12min","cov":"N/A","issues":[{"line":"8","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedVector4Group</i> derives from <i>4 types AnimationCurveEvaluatorOptimizedBlittableGroupBase`1, AnimationCurveEvaluatorOptimizedGroup`1, AnimationCurveEvaluatorOptimizedGroup and AnimationCurveEvaluatorGroup</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"10","ruleId":"ND1312","debt":"3min  0s","severity":"1","expl":"The <i>method ProcessChannel(…)</i> throws <i>NotImplementedException</i>. Implement the missing functionality or refactor to remove this method or the usage of this exception class."},{"line":"8","ruleId":"ND2009","debt":"3min  0s","severity":"1","expl":"The <i>class AnimationCurveEvaluatorOptimizedVector4Group\'s name</i> is excessively long, which tends to reduce code readability."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="164"  style="display:none">H4sIAAAAAAAEANVUTWvbQBC9G/wf5lSk1KwO7SkfhcZ1iyFxAjK5r7WjeIO0s8yu7KSl/70jyXaahMRJSw9dDNrVvPfm6Y2sLIMx+Tu218sISZGCmk3m8JUaZ3S05EA7IwgX2S6aSBwgWcbow2GWGYoOY7mDKuLrDN7Bth6EY/CDUYJKO53cVrYQzTw2xpLIslf3euv1WoUeETqAKkjd+HQ4yDL4YkNvAQ1IQ2SIS4Tz6RyEgC6gghyxu3k2HU9m+UTVBkpbIVjX3fZMN1hEYKIIJTHUxG1RtnXvfzhognXXkN+FiPXR7tg9hxK3qM61SLXwIkh9OHC6xuB1gVvUZ2d7tTAc/BgOQJZvFuIRikqHALv6uOEVTla6arTEeuGjre13NFdikfjjN6bGw+Fe+GllY9SLCjvCqQ54vFH41DffeOh8MEWpdQEGXSLQCrk1DSuyBi6ZCgxhvNTOYZUwlrDZQ9FfRzKx2rOA0MxtjbnXDoqGGV1szyOYungZGSoqOtMjKCvSkrZuLaX3Vn5z1S5byqvX91Aigeyp6gTmdx7h5ORRDE8gatwsbJE+FH3Uo133RGK1yannJk/B7WpD2Bq7kuzxknHV70avZORRc3wbZeLM2wgzvH25RT+AZ4rURDhINnEcpMl2evB+1+WiLIP8idOjhwo/Hx6xCvj3szyzDjX/4TB78mun+Q9m8z8lPW4/tNrF/Vm/zjScPBvv/sfZ6yEumdbgcA0zitPaV1jLdwfN5LZA3xpKXghts5WL/H4BmtfwtfQG$573$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationData.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationFromFileTemplateGenerator.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationFromFileTemplateGenerator.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/Templates/AnimationFromFileTemplateGenerator.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/Templates/AnimationFromFileTemplateGenerator.cs","projectName":"Stride.Assets.Presentation","line":"55","statement":"21","debt":"19min","cov":"N/A","issues":[{"line":"14","ruleId":"ND1202","debt":"6min","severity":"1","expl":"The <i>class AnimationFromFileTemplateGenerator</i> derives from <i>4 types AssetFromFileTemplateGenerator, AssetFactoryTemplateGenerator, AssetTemplateGenerator and TemplateGeneratorBase`1</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"18","ruleId":"ND1805","debt":"1min  0s","severity":"1","expl":"The <i>field Id</i> is used outside its parent type by the <i>no element</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose read-write accesses can be better controlled at debug-time."},{"line":"18","ruleId":"ND1901","debt":"2min  0s","severity":"2","expl":"The <i>static field Id</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"16","ruleId":"ND2019","debt":"10min","severity":"1","expl":"There are fields with same name as <i>field Default</i> in the base classes: <i>2 types AssetFromFileTemplateGenerator and AssetFactoryTemplateGenerator</i>. Investigate this ambiguous situation. It might reveal an incorrect attempt to redeclare a field in a derived class."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="110"  style="display:none">H4sIAAAAAAAEAI1VbY/aOBD+jsR/GKHTKZF2TbXL9ardbk8sLxU6dlkVqvvSLyYZwL3ETm2nFK32v9/YSYAEtr0IEceeeTzzzONxtwsDle20WG8sBFEI7HG0gLHKZcytUBK4jMlCWi2WuVXaQLCxNjM33W6srES72psypddd+B2qdUM+MV7HjKxCjzMXiYgIc27zWCiC1Rk74G23W2YKC+MNWKTY1yxst7pdGApThIAx0IaowW4QHiYLIAeUBhnMEf3kdDIYPc5HLI1hJRIEIf10ptVXjCxopSyslIZUabdIw7SIv93KjZBrmO+MxfS2/skGKknInwwN+4gStYiaJlMhvx3mfPrkppH1jUFrfrLEFphmCbd41uis42TWnC6hHlSMicNptyRP0WQ8wobJk0aD0hZp77dut57bLaAny5fEKkQJNwb6UhT8jLVKx0RoZe9J4KQJuAGP+6pBgVqCH20gcQvGRRGBRh4rmez+z3ZDXPE8sXDnAX7tEISejMbm5cYfcxHDJC7B3FfQueqN3v4x7A0u31y9+fOyd//26vL+3Zj++vfX1+Ne77437nfOgqrvqB3RsFQqgYmZ51mmtKUiVVEF1WCIJtIi84fMns6FB+wj4tyj0eb6rA9zedxRNrcHj5dalFpZ0jCdoX2gk5HMU+JpmeB7X8UJAX+AARXEYiGXwL9OaH3imuRlkXpCth++HvZ3rv15NET1wZ4t+NqdJxvMVa4jdAU0T9xu/sZdeFtHECsISgSqVp4kYX39iJwlp45Qy+EoxFrhqtBE6gp1lFOpLk+JX8PjjJ9hqtZrakO1ZMq5l2bgDWw2x8SXYZbbLLeLXYaG9eM4sDRSq2Avab97eAFW5/izsDEusiyDnlKzPCpmcOpKTQ95tIGgqorrkp7bBqfPpxRTN17MhrMbMBuVJzFsEXiSqC1YBcYn5vttGZn+6xThKHBHoI/0E65di9+xsZBxRfhYaScIX/WQzVaOqfe+v9XqQhmSmzZ2psveEDS1U+nnsO2rEjqTsntOysz+4VrSyQ5+6zyqQz7+QvQXjOf1S+fZvV++dDrnYnIPXXjUIXI8s/zSLFxFH6/qXe3LCjI8VRcnigtLyQU/4O7DkbBJHsFnd9zoTkmXQmJQO5p6jXaqIq/FC/jBqnHoPgpxhmyhnN7OMk5SKQ4h3dniW47gLyTgqZJrU8gkIV9QqzKhM0WrCdydkk9crjF44P/iZw/66DCDwj9sRnFCYNkg6rD1flm+6Pcf7qFyYR4J$936$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationInfo.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationInfo.cs","relativePath":"../../../../stride/sources/tools/Stride.Importer.Common/AnimationInfo.cs","absolutePath":"D:/Projects/GitHub/stride/sources/tools/Stride.Importer.Common/AnimationInfo.cs","projectName":"Stride.Importer.Common","line":"16","statement":"1","debt":"13min","cov":"N/A","issues":[{"line":"13","ruleId":"ND1805","debt":"2min  0s","severity":"1","expl":"The <i>field AnimationClips</i> is used outside its parent type by the <i>3 methods LoadAnimation(…), GetAnimationDuration(…) and ProcessAnimations(…)</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose read-write accesses can be better controlled at debug-time."},{"line":"12","ruleId":"ND1905","debt":"5min","severity":"2","expl":"The <i>field Duration</i> is assigned outside its parent type by the <i>method ProcessAnimations(…)</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose accesses can be better controlled at debug-time."},{"line":"12","ruleId":"ND2000","debt":"3min  0s","severity":"1","expl":"The <i>instance field Duration</i> name does not adhere to usual .NET field naming conventions. It does not start with a lowercase letter, an underscore character followed by a lowercase letter or an <i>m_</i> expression followed by an uppercase letter."},{"line":"13","ruleId":"ND2000","debt":"3min  0s","severity":"1","expl":"The <i>instance field AnimationClips</i> name does not adhere to usual .NET field naming conventions. It does not start with a lowercase letter, an underscore character followed by a lowercase letter or an <i>m_</i> expression followed by an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="1"  style="display:none">H4sIAAAAAAAEAGWQwUoDMRCG7wv7DnOSFiQ5eLMqyLbKgvayfYF0M91GNjNhkkWK+O6mu621GHLIZL75+BOtoeJwENftE8zaOaj1agMvPJA1yTGBIZsJSuK2Q2KJMNunFOK91pYTYdr9ooql03AD537MMxbvrMrUvCy0hqWLkwct5CkUSHuE93oDvWuRIipoEMfLt7parZuV8hZ2rkdwNF4H4Q9sEwhzgh0LeJZjMx/9FKIsymKIjjpoDjGhX1yXquK+z4aMRvWKhOLaCzImVs/kJllcHG1kPMZgWjz3ax9YEkp2ec9UFl9lAXmFYZvfAW1vYoRfSZ3DTf0T9gfdOI9NMATLQUZ48Q9ZujGskcPD8fOou72oq96Fp+sywiMQfs7mJ9N3WeT9A3APAkDmAQ==$208$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationKeyFrame.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationKeyFrame.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationKeyFrame.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationKeyFrame.cs","projectName":"Stride.Engine","line":"31","statement":"11","debt":"17min","cov":"N/A","issues":[{"line":"28","ruleId":"ND1905","debt":"5min","severity":"2","expl":"The <i>field HasChanged</i> is assigned outside its parent type by the <i>method UpdateChanges()</i>. A field should be an encapsulated <i>implementation detail</i>. Consider making it <i>private</i> or refactor it as a property whose accesses can be better controlled at debug-time."},{"line":"28","ruleId":"ND1906","debt":"9min","severity":"2","expl":"The <i>instance field HasChanged</i> is assigned from the <i>4 methods setter of Value, setter of Key, setter of TangentType and UpdateChanges()</i>. Do reduce the number of methods that assign it. By now there is no clear and predictable pattern for how this state changes at runtime."},{"line":"28","ruleId":"ND2000","debt":"3min  0s","severity":"1","expl":"The <i>instance field HasChanged</i> name does not adhere to usual .NET field naming conventions. It does not start with a lowercase letter, an underscore character followed by a lowercase letter or an <i>m_</i> expression followed by an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="166"  style="display:none">H4sIAAAAAAAEAJ2TTW+bQBCG70j8h1EqVfYF8tFTXFeKHFu1muQCyqXqYQxjvCnsot0hFory3zuAP4hrpKoIod2Zd995ZoAwhJkpa6uyDcMoGUPwNI9hYSqdIiujAXUqCs1WrSo21sFow1y62zBMDWvi9UEaGJuF8Bn2eSdnUrpJA1GNW59I5SoRz4irVBmxtWVw9Ntut4HrFK4VBIkJXsqx74Uh3CvXIVAKUpAs8IbgcRmDHCDtKICIqA0+LGfzp2geFCmsVU6gdBsurXmhhMEaw7A2Fgpjm6Qsi47f9z6VFrMCYYtWK51BqhyuxCK6u/pyeQ3CsWgcC6zB6LwGQWUUfwQncslwXZLvVc1Oumz6D6RLmvie72ksyJWY0D5zp1VX2fnem++BXD/vkbEdNyb8ax9TrsyxHl38oHphxeVivEuV1UrahyRH5+Bgt5d9jb/BdkPSZQy3IPOrEu7O7aq1Fla9IjeSV8wnx3hL8kjFiuzo+nJf8CPPM+bVEaYHFEObgjfIiOVpiSur2wrwDq6NyQamzbOiCXxHN9ugzuTtTkFAqdG9N1M75VznBhl+Uz3AejXAKkM5R9rZSfKUtalwYJXN/7D230jcnNAcywcC3FtPh1TBg9KEdqDNm4E2dwbnWh2i6a9PhtADPQ7jI/0/D6VHv8y0/BR/E66Myc84dToxk/sPMmjx97AE$513$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationKeyValuePairArraySerializer.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationKeyValuePairArraySerializer.cs","relativePath":"../../../../stride/sources/engine/Stride.Engine/Animations/AnimationKeyValuePairArraySerializer.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Engine/Animations/AnimationKeyValuePairArraySerializer.cs","projectName":"Stride.Engine","line":"54","statement":"16","debt":"7min","cov":"N/A","issues":[{"line":"12","ruleId":"ND1207","debt":"2min  0s","severity":"1","expl":"The <i>class AnimationKeyValuePairArraySerializer&lt;T&gt;</i> is not instantiated in the context of the analyzed code. Should it be declared as a <i>static class</i> or is it a potential candidate for removal?"},{"line":"35","ruleId":"ND1311","debt":"5min","severity":"2","expl":"The <i>method Serialize(…)</i> shouldn\'t use the <i>extension method ReadBytes(…)</i> marked as <i>obsolete</i>. Removing this usage will facilitate smoother transitions to newer versions."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="167"  style="display:none">H4sIAAAAAAAEAM1VXW/aMBR9R+I/3KcpWStnWt9Gi8RoJ6GVrmrY9lD1wSQ3xFViR7YDYlP/+26cAKGErtVeFiFCnHPPOffDOAhgrIq1FovUghf5wG6uZvBFlTLmVigJXMaEkFaLeWmVNuCl1hbmUxDEykq0yRbKlF4E8A427w3FxHgWM0L5jicUmYiIM7RlLBTR6oLt+FarFTM1wjgAixR7LPx+LwjgUpjaAsZAgqjBpgjTyQwoAKVBBiGiW7yejK9uwiuWx5CIDEFIt1xo9YiRBa2UhURpyJWuXtLPvPbf7/V7pRFyAeHaWMwH+4/srpRW5MjGKi+IWIeolyRujuEm0qJWxSHMFYZoNHatMQoQPBO/nKtB5UryHE3BI9zgRlLUpk2/97vfA7qKck6lgCjjxsD2/Vdc/+BZibdc6JHWfL0hR30+G8InuOSWt9Y6Awl5/zCEVYpUsRkFUS/KyNa6jbyzoMWSW3wt5xAElWsf7NLd8AXU+HMhSVbYWEXBsCVVZ6uWqKuCwFKJGCZS2JrH2zGGmFHbqd/mYMnf8bWyqK5DY3ABU8znrut/TYyNNVIhvA7JwU7oqZ1rZ0K3Grdynsaku6+uPaDmj6cw0lEqljhVxJDT1ynsDRNND/K8ah/dXsg+Aa+KhouLNuN2MNHfxz8Lr65agv2kzqFH1tg1yoVN2+k3JWg/YmbwqPolmtfrC2khc5LUuMbMHfKY9uTZR++5jeoikwSVuDpe5Jrw4XgOXR0tpeEJPmvs/9TVN9V1yTVovqr2xn5hP68tGu+7S5aFxPUtOb4/PB/ew/Gp2AjFaKyQ9Tnktp/S6ynXJuUZG5lasWIZmbDg0vO7eBqzWwyrjruZ8lrc/zKUb9gS1UhGdFpaymWXe4fl6nDyKrQg5IcB3c7rwAGcnAj/MKBDzAke/Imx/bkjF/fi4bSZqWZ+Ogw9vTTwzY0+fwCccXunTAg=$713$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationOperation.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationPreview.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationPreviewView.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationPreviewView.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/Preview/Views/AnimationPreviewView.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/Preview/Views/AnimationPreviewView.cs","projectName":"Stride.Assets.Presentation","line":"54","statement":"17","debt":"26min","cov":"N/A","issues":[{"line":"18","ruleId":"ND1901","debt":"10min","severity":"2","expl":"The <i>static field watcher</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"18","ruleId":"ND1902","debt":"10min","severity":"1","expl":"The <i>static field watcher</i> is typed with the <i>class DependencyPropertyWatcher</i> that is mutable: its states can be modified at runtime. This can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"18","ruleId":"ND2001","debt":"3min  0s","severity":"1","expl":"The <i>static field watcher</i> name does not adhere to usual .NET field naming conventions. It does not start with an uppercase letter, an underscore followed by an uppercase letter or a <i>s_</i> expression followed by an uppercase letter."},{"line":"46","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>AnimationPreviewView.cs</i> should contain only one type declaration instead of <i>2 types ScaleFromSliderBehavior and AnimationPreviewView</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="198"  style="display:none">H4sIAAAAAAAEAKVVTW/bOBC9G/B/GOSwkLBe6rC3pg7gJE4bbOMGUdosUPTASGObrUQKJCXVaPvfOxIly5LlttgVDNsi33vzSU4QwJXKdlpstha8yAe2Wj7CjcplzK1QEriMCSGtFs+5VdqAt7U2My+CIFZWol3voUzpTQB/QLtviBPj3zEjlF/rhCIREWmGNo+FIlmdsU6vLEtmHMLUABYp9inzp5MggGthnAsYAxlEDXaLcHf7CERAaZBBiFgvvrm9Wq7CJUtjWIsEQch6OdPqE0YWtFIW1kpDqnS1SX9T5/90khshNxDujMX0vP/KnoSMVWlOLLM6Ryr55T671yIVVhTYQe9EpJVRa8v+5WnCLnHLC0G57rTqVJKGRuKjQWmdy8dWTyM1DlHLWFBJ2UJK5VBHOg2ClAqBJXtPXwSZTiRP0WQ8wha4MAat6Zs8ZJnp5Ot0AvRk+TOVDKKEGwNhxBO80SoNE1LRbeTwAtq/L2vIJdcXjt6oHCiZylwEGnmsZLKDa8yQOkRGu3utMtR2B059/zofwbAH3FCPofbOHPpsBnaXoVp77t3v3sedJoDEElrBO7ScDgb3ZJ4ks8aFqy2XG4x9//wgDC0KbrGN49i1J26jLXV86X7rAgxy4NTbn6+wQUvfGm2uJbQBvEL7nic5ev10+OfwHUxNCMcRMyiq1Rr4vWe973qhRNwP1OuieftcH794NhJhg14W1DsLvTGAfmfkoOLVU3ANz22fzOFkNeLzY55x+ZnvU4JshWUd8gDtkOwN36ncvsuokHTx/DnfW2ZOoLc/kGjKRdaqtjhZVs+Z8sfZ+7asnWzy9Jou04SYD9XbJafL705IkeZpV7Cf+fk/TfEv/83UaOcctEyP6CnXLqZKmp7Bb7WGWIMXKzoRyG7Niq+aKrfZ8eHbNxjddyHV+30KXMxhAOqbrB53zHrHsm04XaUNhhrw18DMSKvSefp8RbPVEtupBECXrIpElR53mNg7Kay5R/1I4BGNUsR221lfRDbnyVO1OAAfCYeWa1upH/g+6uoR8158waT1idjOh6CLp98Rvcb4UE+RZmxUU+PlgmzWw6RZvPg4MkSGoIpJE8RNpoO1owHSXFtjfO90l13jmueJDe0uwX+wGyBvC9SVxf3F34yLMflmVtxomqOl0p+PhsbPuL4/mkP6/AAKFfxJzgk=$881$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationProcessor.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationThumbnailCompiler.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnimationViewModel.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AnimationViewModel.cs","relativePath":"../../../../stride/sources/editor/Stride.Assets.Presentation/ViewModel/AnimationViewModel.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.Assets.Presentation/ViewModel/AnimationViewModel.cs","projectName":"Stride.Assets.Presentation","line":"32","statement":"4","debt":"28min","cov":"N/A","issues":[{"line":"13","ruleId":"ND1202","debt":"18min","severity":"1","expl":"The <i>class AnimationViewModel</i> derives from <i>8 types ImportedAssetViewModel`1, AssetViewModel`1, AssetViewModel, SessionObjectViewModel, DirtiableEditableViewModel, EditableViewModel, DispatcherViewModel and ViewModelBase</i>. A lengthy inheritance chain indicates a confusing design that can be challenging to manage and maintain."},{"line":"10","ruleId":"ND1406","debt":"10min","severity":"0","expl":"The <i>namespace Stride.Assets.Presentation.ViewModel</i> has a <i>Relational Cohesion</i> value of 0.5. This suggests that the types within this namespace are loosely coupled, potentially signaling an architectural concern."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="25"  style="display:none">H4sIAAAAAAAEAKVTTW/aQBC9I/Ef5lTZl/WhN4giIQIVUiBRob1EORjvGDbCO+7sOhRV/e8dr8F8lEZIXSFYZt68N288ThIYUrljs1p7iLIY1Gy0gDFVVqfekIXUakFYz2ZZeWIH0dr70vWSRJO36PMWqohXCXyCQ95JjcbPWgkqDjxzszGZcM59pQ0JLZfqyLfdbpVrEC4AVEbqrYy7nSSBB+OaFlCDCCKDXyNMJwuQArQOFcwRQ/BxMhzN5iNVaMjNBsHYEC6Z3jDzwEQecmIoiOukXIum/26n26mcsSuY75zHQj0a+6PfxoIdNXAOvVNT0rhxl0lxdEB8kFIjbWSUamAt+SB9C/q7wW1Q7dd92rRAV6YZXvT1zOjQNqzHkm7nV7cDcl4CrI3fDaxpzIf4/WuDKqulTBWyTeoctJC2CnowKUpieRYf0zVse+kT4r8po3OiYb0CXGU15jll8epRVq9sr/GRsz49WKYOo6v5E/nf9eTaXpi87IPsE70j1zOESehi743hy/EeXSesD6Ov2EIo/Yqrek93amysPtSOiceyh41FNaeKM4zVU77YlXgX7J7J3kexlLPzT/yAeVptfBT3b/fwTkbDt1JeSQy0Y6ai0YzOnw6k9feCpsgr/Le9xpe8MzPp9KVeO8ovmFT7d2EKnKY/TVEV8atquohOda5D+/8raezNknvo+UT3P/L5A+xgiuIQBQ==$526$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/Annotations.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"Annotations.cs","relativePath":"../../../../stride/sources/shaders/Stride.Core.Shaders/Ast/Hlsl/Annotations.cs","absolutePath":"D:/Projects/GitHub/stride/sources/shaders/Stride.Core.Shaders/Ast/Hlsl/Annotations.cs","projectName":"Stride.Core.Shaders","line":"31","statement":"2","debt":"42min","cov":"N/A","issues":[{"line":"12","ruleId":"ND1400","debt":"20min","severity":"1","expl":"The <i>class Annotations</i> should not use the <i>2 types ShaderVisitor and ShaderVisitor`1</i> because its parent <i>namespace Stride.Core.Shaders.Ast.Hlsl</i> is at lower level than the <i>namespace Stride.Core.Shaders.Visitor</i> that contains the elements used. This situation prevents <b>clean layered architecture</b> because both namespaces use each other."},{"line":"7","ruleId":"ND1406","debt":"10min","severity":"0","expl":"The <i>namespace Stride.Core.Shaders.Ast.Hlsl</i> has a <i>Relational Cohesion</i> value of 0.35. This suggests that the types within this namespace are loosely coupled, potentially signaling an architectural concern."},{"line":"12","ruleId":"ND2014","debt":"12min","severity":"2","expl":"The <i>class Annotations</i> shares the same name as the <i>5 namespaces Stride.Core.Annotations, Stride.Core.Annotations, Stride.Core.Translation.Annotations, Stride.Core.Assets.Editor.Annotations and Stride.Editor.Annotations</i>. This situation is ambiguous and can lead to complex compilation errors."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="152"  style="display:none">H4sIAAAAAAAEAI1STWvbQBC9C/QfhhyKddk99BY7Bsd1U0MaCjK5r6WRvUHaFTujGDf0v3f04Vp22xCxIGn2vTfvza7WsPT1MdjdnmGSJaCeVhv46huXG7begXG5IBwHu23YB4LJnrmmW61zzw65+ANVPuw0fILTPgknx8+5ElTS6aS2tJloptzk1otsqNVZ73A4KOoR1AFU5tVLncSR1vDFUm8Bc5CGGID3CN/XGxACOkIFKWJXfFwvV0/pSlU5FLZEsK4r18G/YMYQvGcofIDKh3ZTPqvefxw1ZN0O0iMxVtPLX7X0ZSl8AZJ6QIfBZmdIF1UgAVW6N2KP1LMlKwMTTBw5UyHVJsN/IhfE6ltJZRy9xRHIoyXwjJqqMuE4P5cWTpbzbHoTI6y+BNfNVqYCtQlsTQlZaYjGVLiFH554wcNI7w1hzxwM/MfEqbx2thW2P5HAgMODjJHYOMnni27YM5LDyAIWdzejvjd63ptRV230332GDCP2JDnvjny2z7MJ1mxLsXPX2XmU2zI7FeeTZHqG/2rP4wMZH5AJ5JZQ+24jvQ5yH/De1V9N2eBVcfOezjVhmMBlllHUN9ghT1uD0zbVEE7WbyK7j17UAw==$49$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnonymousCommand.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AnonymousEventHandler.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/App.g.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"App.g.cs","relativePath":"../../../../stride/sources/editor/Stride.GameStudio/obj/Debug/net8.0-windows7.0/App.g.cs","absolutePath":"D:/Projects/GitHub/stride/sources/editor/Stride.GameStudio/obj/Debug/net8.0-windows7.0/App.g.cs","projectName":"Stride.GameStudio","line":"84","statement":"5","debt":"2h  27min","cov":"N/A","issues":[{"line":"41","ruleId":"ND1401","debt":"2h  0min","severity":"2","expl":"The <i>9 namespaces Stride.GameStudio.View, Stride.GameStudio.ViewModels, Stride.GameStudio.Services, Stride.GameStudio.Remote, Stride.GameStudio.Plugin, Stride.GameStudio.Helpers, Stride.GameStudio.AssetsEditors, Stride.GameStudio.Layout and Stride.GameStudio</i> form a <b>dependency cycle</b>: they all depend on each other. This cycle prevents <b>clean layered architecture</b> and reduces maintainability. To fix it, first address all issues stemming from the rule <i>Avoid mutually dependent namespaces</i>. Then read this rule documentation that explains how to use the <i>Dependency Inversion Principle</i> to fix cycles involving 3 or more namespaces."},{"line":"41","ruleId":"ND2105","debt":"27min","severity":"2","expl":"The <i>namespace Stride.GameStudio</i> declarations are present in source files spread across multiple directories. <i>5 types GameStudioInternalSettings, MRUAdditionalData, MRUAdditionalDataCollection, MRUAdditionalDataCollection+MostRecentlyUsedFileEqualityComparer and StrideEditorSettings</i> are declared in source files out of <i>D:/Projects/GitHub/stride/sources/editor/Stride.GameStudio</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="7"  style="display:none">H4sIAAAAAAAEAM1WbW/bOAz+XqD/gci+pECjJM3rlt2ALGmG4rqhaLK7D9twYGzaFmJLhiSnyw397yclzavtYAfswwTDhvk8pEiKpP0qVRgmCF5E3kJnCVQY+7q5hmnKvmMSV6DyIwia/WaXvBpih2ptv9mo9XtBr9YN2q+7rX6r1e42ni2xNZw02r1mdzTqdW86o/fd3vhmcjPpNCe3ne64P+p1hs1+u39bubyo12u/dDmL8BYzI2shCVJoyH+3Fro1i7gGT/oET6hhR4D5ChCMlDHbUR8zYXhC8BcpzaV402YN1mq0mq9Z+6bRaDjejjuKUISkrQUwboeAxwQJrsDDTBNw4UmlyDMwpwiXXCpA4cMTj2MrgVhqAzzYWTMRbXy0lhTtnNy49rZeENuvTuHlRaa5CGG4xFiKsfQWg7yIjaQwSsa6BFuSMjZ3Reg9rmRmipBZRAntdaYrbSg5eWVjjqGwSePeKZP9zYUvn8rEbGhzl6Cx51nGyAVVgrMHxRNu+DLnbZ76yOfz8h3HaLAUk16WkDCle0ykSjS7E4ZCdTauO7Eoh9KDwzgBP6JaZGkpSj4vdX4NsqHg5zO+od0GgW2Q0jg3pLsEQwueJ63vrfF50oy+G5c7NOaMwU+2WcOzzk8jTMsrYBpRHA9cP11eCLSFnaJHMDWK+8Q+WMHUZD6X8OPywjX+4b3uet1O4gTV6t1eZKfxAV4/JqTZPOYepKgMxxi8GLV2GvAm1wdpapnryLab77dem1J8accLzO1MhH88W8m2Cu8l+uQPivgF7m7Fd4I7d/i/NJJJKoU1dKJXzyt+ybc6G9M8C0NSn6T4rEmN7IgcGpvLeWaoevUtr+wYY+meSWonsmIftlPzWLfyoEhbt9b5eJ/x2J+hXujKNVT6durbyV85NP+S5qXkflFw1avDlLrFA6ge5zBHcUuRyZQYHAPPx6/HZuAPMCqjE5WX6D8rbk1qmSmP7qU9bFKWL+jpgFCt1HPVOPC2kdRx++2/PtD509YQe6QY3fC7Otn7+O1VzAVBs+hvotDlgvJkLtJ9bt3n9fo0rJ9xwqcAs9gUQRH3fRJ75Pl/FvhhM93akb+CB8mFYT9f5dPZcBYpQv98Pf/GzaAd/6UnPiIX+SbI1Zk7ZbAVti3KIrx6erSuIgt7roBn/+CO5C/nah/PbiD/B6erlx/0Cg==$883$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AppHelper.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AppHelper.cs","relativePath":"../../../../stride/sources/core/Stride.Core.Design/Windows/AppHelper.cs","absolutePath":"D:/Projects/GitHub/stride/sources/core/Stride.Core.Design/Windows/AppHelper.cs","projectName":"Stride.Core.Design","line":"111","statement":"55","debt":"18min","cov":"N/A","issues":[{"line":"11","ruleId":"ND1305","debt":"5min","severity":"0","expl":"The <i>namespace Stride.Core.Windows</i> contains only the <i>3 types AppHelper, FileLock and GlobalMutex</i>. To prevent an excessive number of <i>using</i> clauses in client code, refrain from segregating classes into numerous small namespaces."},{"line":"40","ruleId":"ND1701","debt":"10min","severity":"2","expl":"The <i>method WriteMemoryInfo(…)</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"11","ruleId":"ND2103","debt":"3min  0s","severity":"1","expl":"The source files containing the declarations of the <i>namespace Stride.Core.Windows</i> are located in the directory <i>D:/Projects/GitHub/stride/sources/core/Stride.Core.Design/Windows</i> that does not align with the namespace name."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="23"  style="display:none">H4sIAAAAAAAEAN1XbW/bNhD+HiD/4SYMg7wE9LoWwZC+DK7rZB7iuJi99ENRFIp0ttlJpEZSdgTD/31HvdjWi/OCbShQIoBt3vHueHyeu0u3C30Zp4rPFwZcvwPsejCFC5mIwDNcCvBEQBrCKH6bGKk0uAtjYn3e7QbSCDSzrSqTat6FH6CUazoT4POAkVYnszPhIffJ5sQkAZdkVsVsZ2+1WjGda+hMgfmSfYk7x0fdLrzjOg8BAyCHqMAsEEbDKdABFBoZTBCzzathf3A9GbAogBkPEbjItmMlv6BvQElpYCYVRFJZIX2N8viPjxLNxRwmqTYYvaz+ZH0ZhnSeFDW7RIGK+3WVKy7+ru+NPOHNMUJh6pIp3u3tZckiJwpZTwhpspB0q3xwZ+jGhfj4SHgR6tjzsaL0gYtArvTx0fr4CGjFyS1lCrQ17IMfelpDL45/wzBGlasUmnZ9vJbmOgnDT7utqgH7GmL+8RNcounLKKLnpdtjT82129kd2jNpl0KTKAEDseRKCpsU1naeTf7isfusw6ayp5SXup2XOzsbe+cnxglvEx4GA6WkGqHW9CDu9iQM7nyMM6xj+e20PLdAz2LtNQhSPXyvpafgVgapVcRV9g5invlElQVfVeczQn1u+buG6RbzdlnzjB4MRVCc3U9KkZgDB2xm3e+dfqIUpZy4pAjIUqXnsN5/ikK+FW+cuosWm/nbgf0J9vXIZp479rvkwnXAOW3FSOcx1scTuEFloV4LdTwp9jfgrt19yVCfvXjLzZhQTQAQ85xs8Cs4d2cvHDinz1/OnM6m8wj375X0CS5UK/pU5Uwthq00Ez58HeeGyCmBytuMzxOVEfy8ceqD4gYzzX6m6FozD4e6BTEFuYUxu8hq2wUBzG3Jd8HGzNhU5qA9TDUuDCrhhSWzlpIHebQjpFKaDqmSuhXkw8pK1WHaUF0nFkKiqainaE6B6jusEKKsG608wqqR5NgPkwBBywhBzmwx13nhrlozKn2QRZaoGj3lL3JWE1l3BXp8axvEpBC7zmRwNehP4Ue4+GM8gv5w9LmGKqdJbbuoo6DnL8C13qKaeduOyghs8aNqN55N0xhf1QN5QyRpGm+5VMMntToK1KTWV92/ha0VctQt1u/xYFf+oFXkrUtv7Joa0Ybwt9248cIEm7gr16a5vbm3pPmesVfcYv3hqtkM2OlRnbeNAKTv24IXwGphxwSCj634BDjiheK4JBxmwK7MCI3LFCFWqFJtQTui7NP6aUx5LLY5gfqnlnT/C9zTIPH8589l6EbZMUi1vunXwH0bIi/f/wnrkxN+GHlfjy0A3zBfls0Gd5AwxdcnjHLveDZ9eyp9lU8Y5ZT2xg4Y+9y6f1BTqJPQFCw4bLRlbvufO8zjmUa9GAJc0n8+w+AA47/dJmSn5ypl4HUxRVvsUXtOsLUvlysHAOsFQV4s1mUqN6xGTppdq5725qQnsNSu0sfJScu5/5rGNFjxuaDXCBqGW0fAPCPVya/4oL9/AN+ZZZokEA==$1129$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AppSettingsManager.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AppSettingsManager.cs","relativePath":"../../../../stride/sources/core/Stride.Core/Settings/AppSettingsManager.cs","absolutePath":"D:/Projects/GitHub/stride/sources/core/Stride.Core/Settings/AppSettingsManager.cs","projectName":"Stride.Core","line":"86","statement":"24","debt":"34min","cov":"N/A","issues":[{"line":"11","ruleId":"ND1901","debt":"10min","severity":"2","expl":"The <i>static field settings</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"12","ruleId":"ND1901","debt":"18min","severity":"2","expl":"The <i>static field provider</i> should be declared as <i>readonly</i> because changing it can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"11","ruleId":"ND2001","debt":"3min  0s","severity":"1","expl":"The <i>static field settings</i> name does not adhere to usual .NET field naming conventions. It does not start with an uppercase letter, an underscore followed by an uppercase letter or a <i>s_</i> expression followed by an uppercase letter."},{"line":"12","ruleId":"ND2001","debt":"3min  0s","severity":"1","expl":"The <i>static field provider</i> name does not adhere to usual .NET field naming conventions. It does not start with an uppercase letter, an underscore followed by an uppercase letter or a <i>s_</i> expression followed by an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="50"  style="display:none">H4sIAAAAAAAEAK1WbWvbMBD+Hsh/uPZDcaA4P6BNIYRtBDYY7dh31T6nYrJkJDnFjPz3nWzL8YvSunRHSBzpXp97dHJpuDzAU2Us5nfLRdn8tZqnGO+UxvgRM4GJ5UrS9nIhWY6mYAkOlJ7QWjI0y8Xf5QJI1us13Jsyz5muHs5LP5hkBzRgXxCEYqkLpjJgRSF4wlwQMK0reOX2hXwgQqIx21zvt0Xh4/zU6kjB9fX6Ie4FXA8jFuUzuQVjyXMCiWDGQM9Jk4xudNu8azPNj8yit+tZdMndXdQOZUk6zUONoDcMQOSXv6E1/dJ7Pqli4JKCSWpBpnQNZQ+/eBRgHY5wr5FW/5jR8nfqCaYN9EzOQR/2GUjVVQg8LwTmKG3TTW4oyVKmt6DRlloawLyw1YziJoVMMx72t9+nMx+9bq+/Tg5ohwujfSc8g6hj49UGZCnEaqrmpCmuT4+p3iM6xvvMotXdVGXqpr97Ov89fYRIRBLjfmc19P9zighyZochsliXzq1rgaUlOv72hdZJp0BN1HjlQgCjPSIKWAUZl6nLfcisYQyWK5okLm2NB06zTBOL6bhjTgxBV3oKCUton9sPEyt4pMcLn2Zah9EspgUnihdqIVKxEB2Z9ihUdLBg2z4/1iDpKv5K2G6FiFaBaIE8nTifJmHyV1UQsJupT+Lck9+PfPQQ233lZ29t6XBzE9Z20mnH7beuKOJvJkqMLK2oLAo1bHULqrR19h672j5U+RvVT+B1IR20Q6eXjX3RV84w3pvtM4HGEvtmzV5qG6p2p2hI6jKxSkcuYPzFDdUm9Dv8mVGfl46RGwhDuqXXArr7lI53hIjFfTu66z5c6nhfpmR+S/sU3g4sn0Knog3msLk8WJ2YGSe2h83RUe/zo3onkGnTTKn0/BZUe2/nlxDmvQkeuxt8dKPSNewmY8/y8mtUl2Rgxg+n4lHxdHKnXZyCjvKTGRpmagDtDo3NZO6OC57cq6PmojD4kXgSX2Gm+/aRfujzD9hV/YVYCw==$754$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayCreationRequest.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayCreationRequest.cs","relativePath":"../../../../stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayCreationRequest.cs","absolutePath":"D:/Projects/GitHub/stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayCreationRequest.cs","projectName":"Stride.TextureConverter","line":"31","statement":"5","debt":"18min","cov":"N/A","issues":[{"line":"11","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ArrayCreationRequest</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"6","ruleId":"ND1406","debt":"10min","severity":"0","expl":"The <i>namespace Stride.TextureConverter.Requests</i> has a <i>Relational Cohesion</i> value of 0.11. This suggests that the types within this namespace are loosely coupled, potentially signaling an architectural concern."},{"line":"18","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of TextureList</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"25","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of ArrayCreationRequest</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"6","ruleId":"ND2104","debt":"7min","severity":"2","expl":"The source files that contain the declarations of the <i>namespace Stride.TextureConverter.Requests</i> are located in a directory that also contains the <i>class InvertYUpdateRequest</i> declared in a different namespace. Concerning this type, either change its namespace or its source file\'s directory."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="58"  style="display:none">H4sIAAAAAAAEAI1STY/aMBC9I/EfRhwquNiH3pYPaUVphbTdQ+EPeJMJeJXY7niylK747x0n0ASWw1pR4ozfPL83M1rD0ocj2d2eYZxNQD2vtvDd1y43bL0D43JBOCb7UrOnCOM9c4gPWueeHXLxH6o87TR8gct5lJwcv+ZKUJOGZ2NLmwnnhuvceqGloDq+w+GgYouIDUBlXr2GyXCgNXyzsZWAOciFSMB7hJ/rLUgCuogKNohN8Gm9XD1vVqrKobAlgnVNOJB/xYyBvGcoPEHlKR3Ktmr1Dwd1tG4Hm2NkrKbXv2rpy1LyBRjVD3RINhPIcOBMhTGYDMVWMqy2+IdrQinaGxIjqV/4u8bIcTh4Hw5AlhZDs1hXlaHjogudccAeMkLDCAa4JQNDZI5QkK96wVKKonqU+pozK02M8Jgyl4lPpF+ueID1edtCz8LSCvWLlBS8iE92Lqq2x4DQvN5hhyxvQhHh+ufq6q4pnOCUKnRhvmP7Et5Kg/qupGOG4WDLEoIPdZmKkZrYlEHdUOqPnGcTT0I1k36sK7PDBZw7k6Kti6lMhX1L5DH9NGo/pXftLFtT2r8YpR8ODzJIkY2TKfBFo3QWZRyljcV8dK8DI71o+/MJM008GDIVpGGbj7jzMVrclk7NdIP9WI17OsY3JepRTzqC3nik1a/jvJ8y7XCndisfef4Bmmt162YE$516$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayDescriptor.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayDescriptor.cs","relativePath":"../../../../stride/sources/core/Stride.Core.Reflection/TypeDescriptors/ArrayDescriptor.cs","absolutePath":"D:/Projects/GitHub/stride/sources/core/Stride.Core.Reflection/TypeDescriptors/ArrayDescriptor.cs","projectName":"Stride.Core.Reflection","line":"70","statement":"12","debt":"1h  22min","cov":"N/A","issues":[{"line":"49","ruleId":"ND1208","debt":"1min  30s","severity":"1","expl":"The <i>method GetValue(…)</i> can be declared as static because it doesn\'t use any instance member through the <i>this</i> reference."},{"line":"54","ruleId":"ND1208","debt":"1min  0s","severity":"1","expl":"The <i>method SetValue(…)</i> can be declared as static because it doesn\'t use any instance member through the <i>this</i> reference."},{"line":"64","ruleId":"ND1208","debt":"1min  0s","severity":"1","expl":"The <i>method GetLength(…)</i> can be declared as static because it doesn\'t use any instance member through the <i>this</i> reference."},{"line":"6","ruleId":"ND2104","debt":"7min","severity":"2","expl":"The source files that contain the declarations of the <i>namespace Stride.Core.Reflection</i> are located in a directory that also contains the <i>class DefaultNamingConvention</i> declared in a different namespace. Concerning this type, either change its namespace or its source file\'s directory."},{"line":"6","ruleId":"ND2105","debt":"1h  12min","severity":"2","expl":"The <i>namespace Stride.Core.Reflection</i> declarations are present in source files spread across multiple directories. <i>10 types FieldDescriptor, MemberDescriptorBase, MemberDescriptorExtensions, PropertyDescriptor, ArrayDescriptor, CollectionDescriptor, DictionaryDescriptor, ListDescriptor, NotSupportedObjectDescriptor and NullableDescriptor and 4 other types</i> are declared in source files out of <i>D:/Projects/GitHub/stride/sources/core/Stride.Core.Reflection</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="12"  style="display:none">H4sIAAAAAAAEAK1WUW8iNxB+j8R/mOOhWiTqbdS3XBI1IqRCustJAVWqTvdgdgfwddfe2l4IjfLfOx6zsHBAetWtEHhtzzffzHwek6YwMNXaqvnCQ5L1QDwOJ/Bgap1Lr4wGqXPaob1V09ob6yBZeF+5qzTNjdfoZ9utwth5Cj9Bs+7IJsdfc0G7eowzVoXKCHPs61wZgrWV2OGtVivh4g7HG0RmxNeq17lIU7hXLlLAHMghWvALhI+jCZABaocCxog8+WE0GD6Oh6LMYaYKBKV5urLmK2YerDEeZsZCaWxYpGEZ+Xcuaqf0HMZr57F8v33lOASxRfGnLAsxRqtkof5hK9rWudCyRFfJDPc2P+GsII+0qXPx0rkAelIK5drVZSnt+nY3dQc5usyqijLM3CQl3lq5Fi2zdN+uqqcUOmSFdA7uwub7HcYVfJqGaHdT0WhDo2V/YJmMJusKd+8PMqPvNczibx/CMnj66sPUmAKwVORlJuvC/yGLGl0fRh+xnKJ9lCWlj7SzRM1S0gcTvR2Z8FzBVDpMtp6ikyP4Z3Be9iHVDJJ3AUeMHAfaIylYswKNK4p8XpeEMHzOsAo4yW/d4XMVKkZV5/Qzhy57RDNLwluvxxU/9MJOfkfPXp6k/ivpwbsbuDyI8YBfeM4R6g6k1iRXV1eVsR5yResu5PLzyy+vX1gqwTO9Xr5+EfBJF+tmcwhit9/M4LIrJuaB1X6Mbky4eKiLgioX42zzfD0Me1hgYMuCuIEGsTWbtCH2zDfaM0u04bjATm8D6XEeBLcd3NweWRZMfK8SR45WM020HPcAzhWlIoxjgTHSFQc46XGg62WQ4O3kAKoBuU7j+jeBco7a+XqBOfr3+0k5E8DAIgUeY8C/a0VuCCm4L6gvRi6shYVye43jzYAs+tpqd3vXQlopvwBHGmgCi9N+IXXbw3XaGB9vKhvWPE6Ubqn39IGNiNFeRPsR3QZSZ5i08tdvYZ3S2Jl0PiF1aVxuEqqo2UNmrKUWbnQezo03vDJX1GHoisjxublFviu5lbSy5OZx02XDLksnKo8AVwuVLYIzCjTfcqHEsuE5NOYU0SK9jRI5lg3gKZymapP/F/uZshu+c8Jx41adbN7Zrg9BAoz3ZvmTJDZrNuyJLV60fqOpLI2ifxpvUOg3XPnAniZ0wGQLy2Z9OE/ojALv0aOlW2wjQV2HCzMUcXPiXBg3fwL68PNluGSUhyzeB3ljfsL6Rwj0v8jnh/M+I65QO1LCB9Rzv9ir6/fqKULsV23zQ59/AQgx0PQSCw==$955$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayElementRemovalRequest.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayElementRemovalRequest.cs","relativePath":"../../../../stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayElementRemovalRequest.cs","absolutePath":"D:/Projects/GitHub/stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayElementRemovalRequest.cs","projectName":"Stride.TextureConverter","line":"31","statement":"5","debt":"1min  30s","cov":"N/A","issues":[{"line":"11","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ArrayElementRemovalRequest</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"18","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of Indice</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"25","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of ArrayElementRemovalRequest</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="59"  style="display:none">H4sIAAAAAAAEAI1STY/aMBC9I/EfRhwquNiH3pYPqaK0Qmr3sPAHTDIBrxI7HU+gdMV/7zgOC+yHhBUljufNmzdvrDXMfX0ku90xDLMRqMfFGn74xuWGrXdgXC4Ix2Q3DXsKMNwx1+FB69yzQy5eocrTVsMXOMeD5OT4NVeCGrU8K1vaTDhX3OTWCy3V6sJ3OBxUSIjQAlTm1XM96ve0hu82JAmYgxREAt4h/F6uQRLQBVSwQmwPfy3ni8fVQlU5FLZEsK49rsk/Y8ZA3jMUnqDyFIOyrZL+fq8J1m1hdQyM1fj2V819WUq+AIP6iQ7JZgLp95ypMNQmQ2krNqzW+JcbQjFtj8RI6gn/NBg49Hsv/R7I0tLQJDRVZeg4uxx1OGAPhJXfp3Y40YFhMBBqzGxhxYTaB9sOqCBfSeQVRmSO6qqOvi2UlSYE+BZRixIrdPwUa5nyXP0Blt02JXSa46qbjbgNooxip2fB62ON0L5eYIssb0LR4q7j6oOKYzjBKVp45v/Al/PxehdnlcuswRc3vohbG+wMy9UbMv2erWvCOoZlImxVj+WC2L1hhBB/Wl13KVs6mYMp7T8MMgaHB6EObNxF6STIzcwIi+ngc98HepZmc0cL7XltyFQQb990kJwZzO51aaLb7PeufK5vGA1L3KNL2tXliKszdNoBx5foKW3lI89/lw033XUE$513$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayExtractionRequest.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayInitializerExpression.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayInitializerExpression.cs","relativePath":"../../../../stride/sources/shaders/Stride.Core.Shaders/Ast/ArrayInitializerExpression.cs","absolutePath":"D:/Projects/GitHub/stride/sources/shaders/Stride.Core.Shaders/Ast/ArrayInitializerExpression.cs","projectName":"Stride.Core.Shaders","line":"43","statement":"4","debt":"1h  54min","cov":"N/A","issues":[{"line":"12","ruleId":"ND1400","debt":"20min","severity":"1","expl":"The <i>class ArrayInitializerExpression</i> should not use the <i>2 types ShaderVisitor and ShaderVisitor`1</i> because its parent <i>namespace Stride.Core.Shaders.Ast</i> is at lower level than the <i>namespace Stride.Core.Shaders.Visitor</i> that contains the elements used. This situation prevents <b>clean layered architecture</b> because both namespaces use each other."},{"line":"7","ruleId":"ND2104","debt":"1h  22min","severity":"2","expl":"The source files that contain the declarations of the <i>namespace Stride.Core.Shaders.Ast</i> are located in a directory that also contains the <i>10 types ExpressionEvaluator, ExpressionResult, ScopeDeclaration, ScopeDeclaration+DeclarationList, SearchVisitor, ShaderCloner, ShaderWalker, StripVisitor, VisitorBase and LinkType and 6 other types</i> declared in different namespaces. For each of these types, either change its namespace or its source file\'s directory."},{"line":"7","ruleId":"ND2105","debt":"12min","severity":"2","expl":"The <i>namespace Stride.Core.Shaders.Ast</i> declarations are present in source files spread across multiple directories. <i>2 types GenericParameterType and TypeName</i> are declared in source files out of <i>D:/Projects/GitHub/stride/sources/shaders/Stride.Core.Shaders/Ast</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="65"  style="display:none">H4sIAAAAAAAEAI1U226bQBB9t+R/GPmhAslaKvUtdixFrhO5SvNQ/ANrGMxGsIt2lrgO8r93uDg4JE6NkIDZM2fOmdklCGBpioNVu9SBF/kgnlYbuDeljqVTRoPUMSO0s2pbOmMJvNS5gm6CIDZOo0veoMLYXQDf4LROnBPjj1gwym94QpWpiDlDV8bKMK0tRM+33+8FtQhqACIy4rnwx6MggJ+KWgkYAxdECy5F+L3eACegJhQQIjbBx/Vy9RSuRB5DojIEpZtwYc0zRg6sMQ4SYyE3tl7k17zVPx6VpPQOwgM5zGfvP8XSZBnnM5DEA2q0KhpC/mDSQXhlPNIyRypkhGy4bgVTWBRhKlk+iTty41E1HgFfATucU5nn0h4WfWj1t7BIVI+hJDbuDOtVLlPyFbmhIK2VB6iEEPiGpOnxjDN4T1qUW24XFNI6JTOIMkkEdzXLmnk5pF7RnlW9OZPQMnSCL4g+hXs2Agka96ybnNTcCpM005gTTyuymNxOLtefBItWoxhUDT6W7axdJvP8Hnzmor7WPDyC20boI2+0eZ+18PxZDz7WY73C/wM6At5iVD9ru6qucIWLJv4isxIHwc1FkiG6a8TQR2eygh26WS1s9okbpVPe1y42UfCR0bygrbcxrFe6zNHKbYbzJxPjApapymLLx/CLJlt0pdWtjC9bep2I+nfAJ29jwubl/4XbBHHfHHdvUlXV9+PxOJmeFn4Zpb3JlAONRH8w9+7B9z+6Zra1MwU=$557$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayInsertionRequest.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayInsertionRequest.cs","relativePath":"../../../../stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayInsertionRequest.cs","absolutePath":"D:/Projects/GitHub/stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayInsertionRequest.cs","projectName":"Stride.TextureConverter","line":"39","statement":"8","debt":"2min  0s","cov":"N/A","issues":[{"line":"11","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ArrayInsertionRequest</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"18","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of Indice</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"24","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of Texture</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"32","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of ArrayInsertionRequest</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="61"  style="display:none">H4sIAAAAAAAEAKVT247aMBB9R+IfRjxUIFX2Q9+WBamitIrU7kPhB7zJBLxKbNeeLKUr/r1jJ+Gyi1aotZDx5czxOTMTKWFh3d7rzZZgnE9APCzX8NU2plCkrQFlCkYY8vqxIesDjLdELtxJWVgySOURKqzfSPgA/X3gmAI/FYJRk8Sz0pXOmXNFTaEt03onTny73U6EFhESQORWPLnJcCAlfNGhlYAF8IPogbYIP7I1cACagAJWiOnwe7ZYPqyWoi6g1BWCNunYefuEOYG3lqC0Hmrr4yUv61b/cNAEbTaw2gfCenq5FQtbVRzPwCC+oUGvc4YMB0bVGJzKkW1Fw2KNv6nxyEl7Rk/oxU/81WCgMBy8DAfAQ7Kh+9DUtfL7+emowwFZlhU4FhQEh7kudQ7UskY36rhR3qu9OCOVl6x5pUKAzxGVJUZW379yB1m3bLGdtjhc88hZBcv6o6Ne2HrvENL0Ahsknj2yDHN+Ly4fm8IBDjFLPfUV6/3xehvdFVxO2G2R3XEeXBUTG8tncNfbFq/o5Fu+zoE2BFlLmSRPuQv0syKEEDdJ2c3a/kkBN0NWqw1C1xX/qSMzmrSq9B8M3AZREXcKKcMGbZnydB/4M8g9lrPR1bqP5Lxtixs8pHOnvKohdvls1NkfzV/n414m2HuxcW4DbyvyW8oupVdtjY+J7uI/puK3T01OHGddHkdflVkfNr2875pn1hGd3R7aJf/x7y+LLDlsRgU=$545$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayPool.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayPool.cs","relativePath":"../../../../stride/sources/engine/Stride.Particles/Sorters/ArrayPool.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Particles/Sorters/ArrayPool.cs","projectName":"Stride.Particles","line":"69","statement":"21","debt":"6min","cov":"N/A","issues":[{"line":"12","ruleId":"ND1908","debt":"3min  0s","severity":"0","expl":"The <i>public field Empty</i> is declared as readonly and holds an array. The slots within the array can be assigned by malicious client code potentially exposing a security vulnerability."},{"line":"8","ruleId":"ND2102","debt":"3min  0s","severity":"0","expl":"The source file <i>ArrayPool.cs</i> should contain only one type declaration instead of <i>2 types ArrayPool`1 and ConcurrentArrayPool`1</i>."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="50"  style="display:none">H4sIAAAAAAAEAJ1U72/aMBD9jsT/cOuHKpEqU2nfWsqEOlpVartqRPtSVZNxDnAb7Mg/YKzq/76zw4CQjo1FSCT2u3fvns/X6cClLpdGTqYOEpECux9kcKW9yrmTWgFXOSGUM3LknTYWkqlzpT3rdHLtFLrxGsq0mXTgGH7vW4rJ8WPOCJVGnqEspCDOofO51ERrSrbhWywWzFYIGwFMaPZcpu1WpwOfpa0kYA6UEA24KcLdTQYUgMoigyFiXLy9uRzcDwdslsNYFghSxeXS6GcUDozWDsbawEybsEmvs0p/u+WtVBMYLq3D2Xn9k13qoqB4Alp2jQqNFARptxSfoS25QCorFMweuHFSFGjZUBuHxrZbr+0W0FP6EakFUXBroW8MXz5oXXSzHiymSGIyOAMq0wtX4VdhMdTIOXcIBnmuVbEkQ6IWbpZdqdwJJefipZs9PvV68L0kWrgAhYt9uCSNBaxTVOqsIzfEJhFBYTAr3ZIIo2YWv0j1+/FzaZznBcy1pM4pkJsk3YC2SgpPVMpWqPPN3tse4iCoXxRakB8J1QRW/sQ/p5BjSAICunCaUicYvYjG9M3Ez1C5L959GX/laoKDHwLLYFYSzlSPY1h6Akd33joYUQtpK52cIzuqV15Lc3ER8hh03qjKuAZ2cwYg6F5Iuj9oz+uYFUFlUGaW1+i+8cJjTHIC2rut2BSOj7c+qVc9+dKDU/i0vfygyySlHgvlZ4+B6OkfPY+HeWUQk+A+D22w3/EICV4oXxTv2X5P6w3DK+L3zY177BbVxE1rJv+XvYHxQ9Pc7SQNk9M6RXgqhn6e70RuolbXcKMpSdMdLdsn5O105UL9ZGoHVJsjNJyFN4YsrU2Us0MHTMWp52jCFDv0lhHwBRI3lXbHpdemaavWHnGa2usUkX7HmLf9zbnWelB3HqI0SozEjTM5WN/fRuHBuppTs6lp9Ue/X8Og0PrpBw==$715$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayTexLib.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/ArrayUpdateRequest.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"ArrayUpdateRequest.cs","relativePath":"../../../../stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayUpdateRequest.cs","absolutePath":"D:/Projects/GitHub/stride/sources/tools/Stride.TextureConverter/Backend/Requests/ArrayUpdateRequest.cs","projectName":"Stride.TextureConverter","line":"39","statement":"8","debt":"2min  0s","cov":"N/A","issues":[{"line":"11","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class ArrayUpdateRequest</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"18","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of Indice</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"24","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>getter of Texture</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."},{"line":"32","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of ArrayUpdateRequest</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="62"  style="display:none">H4sIAAAAAAAEAKVT247TMBB9r9R/GPUBtRJyHnjbXqRVKSgS7AMtH+BNJq1XiW3syZaw6r8zdpI2hQUqYVWuLzPH55yZJAmsjW2c2h8IptkMxMNmBx9MrXNJymiQOucITU491mSch+mByPq7JMkNaaTiHCqM2yfwBvp7zzk5vssFR80izlaVKmPMLdW5MgzrrLjgHY9H4dsIHwNEZsSTnY1HSQLvlW8pYA78IDqgA8LndAecgNqjgC1iPPyUrjcP242ocihUiaB0PLbOPGFG4IwhKIyDyrhwycuq5T8e1V7pPWwbT1jNr7dibcqS8znQi4+o0amMQ8YjLSv0VmbIsoJgscPvVDtk057RETrxBb/V6MmPRy/jEfBIWNDC11UlXbO6HHVxQAZqy54iSPAWM1WoDKhFDWrkeSOdk40YgCbXqFkpvYf7EPU1IvZP3EHaLdvAjlgYtn5kS8Ew+SCnZ7VrLEKcXmCPxLND5qCH92Lw0hxOcAr+9LiviO6Pd4egK+dCgilisXqBbIVDWwZ3uzIOJf9J9kCG0gRpCx15z7kP1HPw1odNZHgzR43HntntDLgd0kruEbq++E8eqVakZKl+oOdGCIwUfy5SX7xbeP4QMofFcnJP3ABXlZ8kq7YrbhAQz610soLQ5MtJp32y+tWMRRLD/pYb5jbxX5V+Ba2z8vdGnp7d7XDexoq3T8wuAIP+DqMvxbJPm1/fdx2z7IAGt6d2yX/8+wmsfIShPQU=$548$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyContainer.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyHash.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AssemblyHash.cs","relativePath":"../../../../stride/sources/buildengine/Stride.Core.BuildEngine.Common/AssemblyHash.cs","absolutePath":"D:/Projects/GitHub/stride/sources/buildengine/Stride.Core.BuildEngine.Common/AssemblyHash.cs","projectName":"Stride.Core.BuildEngine.Common","line":"72","statement":"27","debt":"51min","cov":"N/A","issues":[{"line":"14","ruleId":"ND1700","debt":"15min","severity":"2","expl":"The <i>class AssemblyHash</i> is not used within the context of analyzed code and may be a candidate for removal."},{"line":"23","ruleId":"ND1701","debt":"10min","severity":"1","expl":"The <i>method ComputeAssemblyHash(…)</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"43","ruleId":"ND1701","debt":"13min","severity":"2","expl":"The <i>method ComputeAssemblyHash(…)</i> is not invoked within the context of analyzed code and may be a candidate for removal."},{"line":"16","ruleId":"ND1902","debt":"10min","severity":"1","expl":"The <i>static field Log</i> is typed with the <i>class Logger</i> that is mutable: its states can be modified at runtime. This can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."},{"line":"41","ruleId":"ND2001","debt":"3min  0s","severity":"1","expl":"The <i>static field assemblyToHash</i> name does not adhere to usual .NET field naming conventions. It does not start with an uppercase letter, an underscore followed by an uppercase letter or a <i>s_</i> expression followed by an uppercase letter."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="2"  style="display:none">H4sIAAAAAAAEAI1WbW/bNhD+HiD/4SoMgwQENIasRdHYBtw46YKlSRF73YehH2jpZLORSIOk4nmt//uOlCVLstyNMGBJvHt499wLbzCAa7XearFcWQjjCNjDzRxuVSETboWSwGVCEtJqsSis0gbClbVr824wSJSVaNNalCm9HMDPUO0b0knwMmEkFXmcmchETJgzWyRCEaxeswPeZrNhppQwXoDFin1dR+dngwFMhSlNwAToQNRgVwgf7+ZACigNMpgh+o/3d9c3D7MblieQigxBSP95rdVXjC1opSykSkOutNukx7y0//zs/KwwQi5htjUW86v2K7tWWUYIJGrYB5SoRdwVecJ0L9LdmePf9qpxgieHIDWyqeBLqYwVsbnq258R73yJXlvyHM2ax9iSeF+ILLmRSyHx/Ozb+RnQEtKiljwDY8m9GOKMGwMTYzBfZNvfuFmVcntxt9ZavHCLlYZGniiZbeFeLZfEOP3BCD5kasGz8hPRYMunMGgiB5E3tsIdUACHpshzrrfj9udrla8pqMaHaEWqkGqVU7YA3+PBghsKOqWNsAf7bymyn1EbFzd4wrjQhqKvgGfZQTPBNVKuyFigYR1zBv32DNdc8xwczaOgAgrGc7KuemPDgRfqamq0hZZmPIG0ICu8Myolx4SpdS8oLHFGyU0hdqY6l1pWDgcVTCMsxYKSvIqKqwPS3hPXZD2sXurjogNII8xu7VGckVftnUzFzxBWCHPlkKO2SAfLZ1sK4au2EpvrLeXHZ54VGB4IUIX1x0bRMUoPsFsvXFcuEUeUgxI34I6YoR1WTo/D6Oq0uqXy2yvOvOu+ZChvTyn18Xtw4mDNhYc+heKTYASPC9d67hJ2S8n9fkv5Ht7IWLk0YH/Mb9+6Oio/OzA2V6WNYRRFjZcTZ3RYnyRJw1DP9AlFqlw2xUWxDH+qq9fTCn99q5OdLHugYggj5v52X2A0pm0Hu/sS9CHv2p86r2V2d/Nu1+wWp7rQVPjGSjVbx/xin8fjDgn7SP9II2y3qM6hL0ok/6/ELo4TsZUdrWxzyU+Q5bfTxemK6YDB3PXLhTR1WPtKpyS25ZNbzQPZZO06TQ3DbqlPuahGR2q+4uz+xiU2m+lwXRir8km1O+xpyfXmcVF632rkVxQoMuK/+0ufH8FFENU+VZBsb0JfavaA3NOVeWTjrktHIxjN8urq0SiBPF5B6OjTmKKmro5JRZCj2k0jTTKfulJ0RtiNbw8fdOFMfJLSWBOj8TOD8ZNGw9hetfnj9PEdzGK6YjcrbsHdTrEt6DbaOuNSutlwo/QzeeNSlgY+N7oVUqS0b2Ej7Ao+lYdOueUzGoN4Jv5BXQ4GdehNT5K64Pfz4rsLjEYQ5CZWOhOLAL5/P0GiF6axiGtr/iR7wqAcsoKq3Fzlci0MDQePmros72ZYtU4fUdXGofqCT/4e/h2pyTyjHF3+skgv375+w5PLN7/i5esgihy/M7GUNK94nj6KWCujUlvd4c+4hTATz0hkk4XWDQj7sJHLmmzu5c0tGoutkAUe1apbjRtySylFFVs5w+4VT06Q3lcjP7r3CLl99bXa2XERdR7pj37/Aq5oRxFyDA==$1189$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyRecompiler.SourceGroup.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssemblyRecompiler.cs.html


File diff suppressed because it is too large
+ 11 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/Asset.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetBaseToDerivedRegistry.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AssetBaseToDerivedRegistry.cs","relativePath":"../../../../stride/sources/assets/Stride.Core.Assets.Quantum/AssetBaseToDerivedRegistry.cs","absolutePath":"D:/Projects/GitHub/stride/sources/assets/Stride.Core.Assets.Quantum/AssetBaseToDerivedRegistry.cs","projectName":"Stride.Core.Assets.Quantum","line":"71","statement":"32","debt":"2h  1min","cov":"N/A","issues":[{"line":"10","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AssetBaseToDerivedRegistry</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"8","ruleId":"ND1401","debt":"2h  0min","severity":"2","expl":"The <i>3 namespaces Stride.Core.Assets.Quantum.Visitors, Stride.Core.Assets.Quantum.Internal and Stride.Core.Assets.Quantum</i> form a <b>dependency cycle</b>: they all depend on each other. This cycle prevents <b>clean layered architecture</b> and reduces maintainability. To fix it, first address all issues stemming from the rule <i>Avoid mutually dependent namespaces</i>. Then read this rule documentation that explains how to use the <i>Dependency Inversion Principle</i> to fix cycles involving 3 or more namespaces."},{"line":"13","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of AssetBaseToDerivedRegistry</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="1"  style="display:none">H4sIAAAAAAAEAI1WTW/bOBC9G/B/mF4CCQjoQ2/N7gZtvmCgze7Gxl4We6Clsc2uTAokZdco8t9LUpJJSrQTIkBkcubxzZvhkLMZ3In6KNlmqyErciDPD0t4FA0vqWaCA+WlseBaslWjhVSQbbWu1afZrBSao16fTImQmxlcQb+ujE+JH0tirHKHs2AVKwzmQjclEwZW1sTjHQ4HoloL5QxIIcj3Op9OZjO4Z6qlgCWYDVGC3iJ8my/BOCBXSGCB6Ca/zu8enhcPZFfCmlUIjLvpWorvWGiQQmhYCwk7Ie2i+dy1/KeTRjG+gcVRadzdxD/Jnagq428MFXlCjpIV3sSFakwkpubI3w3lurGQ0wmnO1Q1LTCy+KwUatUbTic/pxMwg3GNktMKiooqBc7qC1W4FPeGwB7LF9xYZY7wCebJhRang7OjNstUI0ikpeDVsQX9S4oapT4+SVpvrVb+180F33vmFKHy+Nvc4TyLEq/Bf/8Bq5AV/A4cD+9wy3In1mnjZmXyfCH+7K0ocg8WiGGH3jJFIlvD8pwCrwlWe8FKaImgjNhlPiKnwzBMKFs7+32e4J5K5/0PrRo03HqkW/KCpoRwj06t0IWtIQtcjOpNVeWxjR0SdSN5JPXYnSmYz0vkmq0ZXVU4wPk5ho1y/m/P9z/DPQj4ZuzXR/oNdyuUTiEfLlDVSeeXExg9d290S5ZUblDDh1YHuLqCD1GCyT2uGWeuC8xV69n6/LmyTeMF1yiRFzhAvvZ5yRPqJpRJq+MRO6pWqiwbRpuH5dJZJhR4jadeh9m1KndIbXid0AG609ov3qQLMvKO0nTW1WZntPctmZsOexJZhYmK9zln+XZJmjaPtNhCZsnLHsBeDiM6gz3en1gLrdtSG3QQYsP4yvj/KMkj42WbO19WgfTXQac48Rye71DOfsezh7wf5mLVjDc4Ou79CJtMi9oV2RvdJmRz6WC1YFbd1LHyCbjud5+bm/6HF8QzCNfz1NG7kKWe6bsb3DsxewX90Q7afz7S0x3xwCBRhjY67GolO9VCF/WZHNjxml5KTI9bRfA5uugikcyNp0S1x0cpdvbSy4RjHhzYU3pTV95pUV6+/IKGEbucCt5c4FIc3Lvis9w0O0Px2cw//CiwtoWX2ReXWKdR8nM35yCEN+9Qtzo6WX2n7HpkmO/4nNgnNmXmVUnsov/11FqnKA2Zp58VA6OoQMlSHs0G7hBkvuuIRkcPkwFEF29gEbYG1/7DOokfT90/8/cLBM1MNnoM$939$</span>
+  </body>
+</html>

+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetBoxedNode.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AssetBoxedNode.cs","relativePath":"../../../../stride/sources/assets/Stride.Core.Assets.Quantum/Internal/AssetBoxedNode.cs","absolutePath":"D:/Projects/GitHub/stride/sources/assets/Stride.Core.Assets.Quantum/Internal/AssetBoxedNode.cs","projectName":"Stride.Core.Assets.Quantum","line":"98","statement":"40","debt":"2h  17min","cov":"N/A","issues":[{"line":"11","ruleId":"ND1001","debt":"1h  36min","severity":"1","expl":"The <i>class AssetBoxedNode</i> has 32 methods. This is too many suggesting the need to divide it into multiple smaller implementations, each focused on a single responsibility."},{"line":"11","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AssetBoxedNode</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"19","ruleId":"ND1205","debt":"10min","severity":"2","expl":"The <i>method of Item</i> hides a method declared in <i>base class ObjectNode</i> instead of <i>overriding</i> it. This results in a lack of <i>polymorphic</i> behavior at runtime and leads to confusion."},{"line":"11","ruleId":"ND1400","debt":"30min","severity":"1","expl":"The <i>class AssetBoxedNode</i> should not use the <i>4 types AssetPropertyGraph, IAssetMemberNode, IAssetObjectNode and IAssetNode</i> because its parent <i>namespace Stride.Core.Assets.Quantum.Internal</i> is at lower level than the <i>namespace Stride.Core.Assets.Quantum</i> that contains the elements used. This situation prevents <b>clean layered architecture</b> because both namespaces use each other."},{"line":"15","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of AssetBoxedNode</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="31"  style="display:none">H4sIAAAAAAAEAKVXS2/jNhC+B8h/mFMho4Z86C3ZpEgcNyu0m7Sxb8EeZHNic1cmBZJyYgT97x1S1oOyqDxqLLIS+T2GnCFFTiYwlfle8fXGQLQaQXw3W8AfshAsNVwKSAUjhDCKLwsjlYZoY0yuzyYTJo1A81RDY6nWE/gFqn5NHIa/sZhQI6cz5xlfkebcFIxLklV53Og9Pz/HukRoB4hXMv6Rj05PJhO44boMARmQISowG4RvyQKIgEJjDHNE1/hXMp3dzWfxlsETzxC4cM25kj9wZUBJaeBJKthKZTvpcVvGf3pSaC7WMN9rg9tz/zWeyiwjPgF1fIsCFV81EDdUgiiMr4SQxgnq3v4HfDro9Hb/U6TCFNb99ESkW9R5ukLfQGs0ugLGiTCoRJqdnryengD9+KEBVlmqNTj4tXxBdicZwhnUz2NIXOf90k6MbWm0rNBBz/5yxXepQejgZy8GKRkM8MUFXMOLJaWlYx093klzV2TZd0js+3XBM5tI0TyPQTpt2KVZQfHdFpzBmv6MoUVe7HO8Qb1SPKeKBFY/jpoI7O8MlqnGyNM/CJeavcxXXwRf4AIEPoeGHpkN16Nzn5RQwUw3qVjT1Px6AZG2UHLHEVxckmR8L1qQVndL59/QhP6tZI7K7G9Vmm/AfyvVvba+xCSux9XDNU2Reyip1Wsfy85CWTHfcLtE5Wh2+I9NcuwqpYq2lfvdSkZdwsjm5NH193ngDoWBmf37lbaMDNUX93Kl1voS7neo7EJwE0c+/1MBWZ/ATlLRzdHYXY940dHgfuJ+3J5CW2BVYls8B3N9nsvjNBXX6ASH8nI7HEDld+v5jYLjeUBbvYfBP+CqUJrvMNtHlVAQUO4LjCCzbW4+Y1Er0NZEfxfSId809sBB14pp11O0lDIDrg9tDMUYOub1AmzTfEaJe9PwT9x/ws+yPmV3gxnSxy80TNueMNrRShTr+rbpPrOh9MXgrBJteQeJ6GDF3X+Vjw859A2VCm26GB12e1W+uujqoXDWqhCH9mH8s/qdDL3fsEQP+27lDq8Eo+PKKlWsCoB3ja1j0LyjUZJblEAEVart59FuH1a5auuuwdb24cHCxdhVp0J+h3gbFdZuFVkiNnSysjUUEO3C3lSlEN4h6qHeFWmzhoZDbeE+qNtdcCwkXC+7wTXc5GIwZh8WDjmZiWKLKl1m+KUWu7Sl0dDLVDE6oeuoVRUBwGddXO4GTNr9vR7l/Cbl9yYJV0kNeCORC7UPitERtzDHq96jtIBDKf2a6qSnOsrmALGJJmHkZZ966qvuGrK3IR9rlGEHZtCjVNieyezeS44aylwgW6RqjaY3YVGXM/I5PbZuDw/diWK7H0shqPlo5bnPaugT/BYv8AEeDoaOhPyp3lur83BZ/93W32m2dvInuqvKGOrTcN+B7sOutO0cmyL7iGe5PzlPz82d/AwNoNKGV6DMtc+N7d5z0OFOusS5q9+5f69qDdeznneuWVHPzSs9ampdAnx2DzQ0690wqgtZFL5wWEh1CajuG1aVRkr//gO5ii+W4hE=$1151$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetBuildUnit.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetCloner.cs.html


File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetCollectionViewModel.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompilerContextExtensions.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AssetCompilerContextExtensions.cs","relativePath":"../../../../stride/sources/engine/Stride.Assets/AssetCompilerContextExtensions.cs","absolutePath":"D:/Projects/GitHub/stride/sources/engine/Stride.Assets/AssetCompilerContextExtensions.cs","projectName":"Stride.Assets","line":"85","statement":"25","debt":"20min","cov":"N/A","issues":[{"line":"10","ruleId":"ND1406","debt":"10min","severity":"0","expl":"The <i>namespace Stride.Assets</i> has a <i>Relational Cohesion</i> value of 0.64. This suggests that the types within this namespace are loosely coupled, potentially signaling an architectural concern."},{"line":"14","ruleId":"ND1902","debt":"10min","severity":"1","expl":"The <i>static field GameSettingsAssetKey</i> is typed with the <i>class PropertyKey&lt;T&gt;</i> that is mutable: its states can be modified at runtime. This can lead to runtime confusion and hinder code testability. In <i>Object-Oriented Programming</i>, <i>instance fields</i> are the preferred choice for holding modifiable states."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="4"  style="display:none">H4sIAAAAAAAEAKVXbW+jSAz+Hin/wcqHE0gR0Wq/tbt7yjW5qLp2qUpu9/MEDMwWZtDMEBqd+t/XvKV5gR5NUSUYj+fxY3tsp7MZ3Mhsp3gUG7B8G5zvyzX8LXMRMMOlACYC0hBG8U1upNJgxcZk+mo2C6QRaMK9qiNVNIM/oN3XdCbAz4FDWnaF4/GE+4TpmTzgkmBV5rziFUXh6FpDVwqOL51fmT0ezWaw4LqmgAGQQVRgYoT72zXQARQaHfAQK+Hd7c3yu7d00gBCniBwUYkzJX+hb0BJaSCUClKpyk36TGv+49F4lGsuIvB22mB6vV9WnjjEF5251mj0G1v0nWZkV3XpnMpWimUx90u88UiwFHXGfGx3a8Dx6L/xCOjJ8g05C9oQXR/8hGkNlUprscwTPpvls6GIkEe6PtccryAU3zKDLYZCFkiR7OBByQyV2f2Duy8rouGhMURTV/Df4ExEevAVBBb/c9KanMkmUzC7DGVovc3dtqug7JkfOX+GCis0Z0LLxLw7RODXb/vVwEGUykehyZVo9ZzGTY7aIUtWV0BKvu3pl37qNzKRyqvSvCp5tauPkN0yBbqhQ3lpSXfGxC7Frrqh3Bv88ohlMdFuq/TN2rucMFMWx6FfB5Fp7TmvLgwLwFZyagUXpWvakfjoVNIfpo5kej3JnHbgDnOvLek2fNXNPJEN8fSB+U8sor5Vv/u9ou54G0KBELMtAiOENC27bcIFgtyiKnvJFHJN3Y46H1faHAOUnZVaUtSQnGf8JOM8hP2tcLOyVx5EcK125OEPluRoTerGtXpFomqXuTnEtu1j8IMrZZ3GyV6KPHUemNJUHnXTOFOZHoEf9YwmOm5sUBVcN0EIMGR5YoBpCFmSbCi+b5d+Y6msm0V99iyfH7gbfZDVFWlXa3IesoNF/3XQBTd+DFaPdseJ8vEZRebQmvOTi0AW+mqI7r8/Hzr0DmJ56p2z4IqG8efFp0/XQwzMRaCobQwiw13vnWTcDMXqbukNonLHRf58kYFB8Cnz383/R548MdEB31z1HjgTK1lUQ3yuojxFYdzcuOEjExEun32sKt06bf8vPTedCm3tLtwruKeeQ9isqjBs5zmkaGIZ/Nk/Fss+WP0Qu5dBMxuPRB8dkP6Jha+nNp0FbvLouruc2m7wV86TgOyGPMpVdXRgcU0q9ElPLi4j1z4bGuZPfddr8ogJ0sflphuAi4zPs8yj/xs+YL1FuMj8GnU5wS+33gC8w/jL8XI/TY5wj+dF86K/3yz7rGqQDQ==$946$</span>
+  </body>
+</html>

File diff suppressed because it is too large
+ 7 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompilerRegistry.cs.html


+ 14 - 0
en/contributors/engine/ndepend/NDependReportFiles/src/AssetCompositeBaseToDerivedRegistry.cs.html

@@ -0,0 +1,14 @@
+<meta charset="UTF-8">
+<html>
+  <head>
+    <link rel="stylesheet" href="src.css"/>
+	 <script src="src.js"></script>
+    <script src="CommonIssuesData.js"></script>
+    <script>
+var issues='{"fileName":"AssetCompositeBaseToDerivedRegistry.cs","relativePath":"../../../../stride/sources/assets/Stride.Core.Assets.Quantum/AssetCompositeBaseToDerivedRegistry.cs","absolutePath":"D:/Projects/GitHub/stride/sources/assets/Stride.Core.Assets.Quantum/AssetCompositeBaseToDerivedRegistry.cs","projectName":"Stride.Core.Assets.Quantum","line":"43","statement":"15","debt":"4min  0s","cov":"N/A","issues":[{"line":"9","ruleId":"ND1203","debt":"0min  30s","severity":"1","expl":"No class derives from the <i>class AssetCompositeBaseToDerivedRegistry</i> and it is not publicly visible. It can be marked as <i>sealed</i>."},{"line":"9","ruleId":"ND1803","debt":"3min  0s","severity":"0","expl":"The <i>class AssetCompositeBaseToDerivedRegistry</i> is only used by the <i>class AssetCompositePropertyGraph</i> and seems to be an implementation detail of it. Consider declaring this type as <i>private</i> and <i>nested</i> into its parent type. Doing so <b>improves encapsulation</b> by constraining this type\'s accessibility to the smallest possible scope."},{"line":"11","ruleId":"ND1807","debt":"0min  30s","severity":"0","expl":"The <i>constructor of AssetCompositeBaseToDerivedRegistry</i> is declared as <i>public</i> but remains inaccessible beyond its assembly due to its parent type being declared as <i>internal</i>. Consider declaring this method as <i>internal</i>, which makes its actual accessibility scope explicit."}]}';
+ </script>
+</head>
+<body>
+    <span id="source" fid="3"  style="display:none">H4sIAAAAAAAEAO1UzW/aMBS/I/E/vF2mRELmsFu7Dm2UVpE22gHqZdrBxA9wldiR7cCiaf/7nh0ghKbtpl1nIeG8j9/7+j0PhzDWRWXkeuMgSmNg08kCbnSpBHdSK+BKkIVyRi5Lp42FaONcYS+GQ6GdQrc6mjJt1kN4Cwe9JR+B7wQjqzjgzGUmU8Kcu1JITbCmYA3ebrdjtrawwYClmj0Wcb83HMK1tHUKKIACogG3QfiSLIAcUFlkMEcMws/JeDKdT1guYCUzBKmCuDD6EVMHRmsHK20g18Yr6ZrX+fd7pZVqDfPKOswv259srLOM/MnQsltUaGTamIRSycQgyfo9xXO0BU/xVMM+WovOsq8lV67M+72f/R7QkcqhUTyDNOPWQrAa67zQVjr8xC0u9DVF26KY4dq3oYILSDoVNeAe15+C1NwhGORCq6yiPoYSuKne35ZSDOpwnWAfYBnECY2DqxQtXIHC3V9BRPHlC8kEx3ujCzSuujW82PgpNV+hl0fvckmj/pP2RK/hxg3qSa/8cRtpWcuWij7P6WD8qyO9rZYC6kTQtLKLkpDWVAsMjfWXAZwIRW3n788nuOUG9I7Yd8+No9xOnIiVzm8qKhf5b7vQdwfLB0nd0oYdBXvDKRH1dESHEHI/80RQjOgYcMRmSITGLUa00Xafvddco5VrFY+Yr3nEksZ/NAJPEzbJC1edhXqeOYfCDt9njnIF0ZszerKFqagFDzwrMWoKGIAu3TlcHLfx/DmD+9ZAfG8afcyv3oXnC4jajGtR2Z8zPNbNmYYop+x4hYNJImi0ciX5kp6/GVqdbfHG6NxjR3oZnkGPfBeuM1yhQSq0i41HpXmZl34gnS5wRZ0qsyym3TJ6V3fNrMvcs4/kkx8pFv49ifyjqVfdKHEXSTv2oO31fyP+bSMMutKoML4n/N3rntK4zbZOmnWPuM3q/R/9fgMmYdMbowg=$713$</span>
+  </body>
+</html>

Some files were not shown because too many files changed in this diff