A complete and cross-platform game engine designed for flexibility, performance and fast iteration.
This report summarizes scanner evidence for crownengine/crown, a C++ project with 2,464 GitHub stars. SynthScan examined 1,340,876 lines of code across 2562 source files, recording 4508 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 4492 finding(s).
Are imports declared and package/API names verified? 13 finding(s).
Are wrappers, guards, and repeated structures necessary? 7 finding(s).
Which changes need focused human review? 4508 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 4508 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/launcher/launcher.cpp | 1 | /* | COMMENT |
| LOW | …ols/level_editor/resources/theme/Adwaita/_drawing.scss | 21 | box-shadow: $shadows; | COMMENT |
| LOW | …ols/level_editor/resources/theme/Adwaita/_drawing.scss | 161 | // Button drawing function | COMMENT |
| LOW | …ols/level_editor/resources/theme/Default/_drawing.scss | 41 | // entries | COMMENT |
| LOW | …ols/level_editor/resources/theme/Default/_drawing.scss | 381 | // overshoot | COMMENT |
| LOW | tools/widgets/drag/infinite_drag_sampler.c | 1 | /* | COMMENT |
| LOW | tools/widgets/drag/infinite_drag_sampler.c | 21 | #endif | COMMENT |
| LOW | tools/widgets/drag/infinite_drag_sampler.c | 61 | #define wl_display_dispatch_queue_pending (*crown_wl_display_dispatch_queue_pending) | COMMENT |
| LOW | tools/widgets/drag/infinite_drag_sampler.c | 141 | #define XGrabPointer (*crown_XGrabPointer) | COMMENT |
| LOW | tools/widgets/drag/infinite_drag_sampler.c | 301 | X(PeekMessageW) \ | COMMENT |
| LOW | tools/widgets/gtk/config.h | 1 | // To make gtkcolorpicker* compile. | COMMENT |
| LOW | docs/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | docs/conf.py | 61 | COMMENT | |
| LOW | docs/_extensions/sphinx_sitemap/__init__.py | 1 | # Copyright (c) 2013 Michael Dowling <mtdowling@gmail.com> | COMMENT |
| LOW | 3rdparty/md5/md5.c | 101 | #define T2 0xe8c7b756 | COMMENT |
| LOW | 3rdparty/md5/md5.c | 121 | #define T22 0x02441453 | COMMENT |
| LOW | 3rdparty/md5/md5.c | 141 | #define T42 0xeaa127fa | COMMENT |
| LOW | 3rdparty/bgfx/tools/shaderc/shaderc_hlsl.cpp | 1 | /* | COMMENT |
| LOW | 3rdparty/bgfx/tools/shaderc/shaderc.cpp | 61 | // c - compute | COMMENT |
| LOW | 3rdparty/bgfx/tools/shaderc/shaderc.cpp | 81 | // metal<MSL version>-<SPIR-V version> | COMMENT |
| LOW | 3rdparty/bgfx/tools/shaderc/shaderc.h | 21 | #include <bx/endian.h> | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 61 | * helper macros. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 81 | * Use BGFX_STATE_BLEND_EQUATION(_equation) or BGFX_STATE_BLEND_EQUATION_SEPARATE(_equationRGB, _equationA) | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 121 | #define BGFX_STATE_POINT_SIZE_SHIFT 52 //!< Point size bit shift | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 181 | #define BGFX_STENCIL_TEST_LEQUAL UINT32_C(0x00020000) //!< Enable stencil test, less or equal. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 201 | COMMENT | |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 221 | #define BGFX_STENCIL_OP_PASS_Z_SHIFT 28 //!< Stencil operation depth pass bit shift | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 261 | #define BGFX_DISCARD_NONE UINT8_C(0x00) //!< Preserve everything. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 281 | #define BGFX_BUFFER_COMPUTE_FORMAT_8X2 UINT16_C(0x0002) //!< 2 x 8-bit values | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 301 | #define BGFX_BUFFER_COMPUTE_READ UINT16_C(0x0100) //!< Buffer will be read by shader. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 321 | #define BGFX_TEXTURE_RT_MSAA_X2 UINT64_C(0x0000002000000000) //!< Render target MSAAx2 mode. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 341 | #define BGFX_SAMPLER_U_SHIFT 0 | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 361 | #define BGFX_SAMPLER_MIN_SHIFT 6 | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 381 | #define BGFX_SAMPLER_COMPARE_NOTEQUAL UINT32_C(0x00060000) //!< Compare when sampling depth texture: not equ | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 441 | COMMENT | |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 461 | #define BGFX_RESET_FULLSCREEN_MASK UINT32_C(0x00000001) | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 481 | #define BGFX_CAPS_PRIMITIVE_ID UINT64_C(0x0000000000008000) //!< PrimitiveID is available in fragment | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 501 | | BGFX_CAPS_TEXTURE_COMPARE_RESERVED \ | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/defines.h | 521 | #define BGFX_CAPS_FORMAT_TEXTURE_MSAA UINT32_C(0x00004000) //!< Texture can be sampled as MSAA. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 141 | /// Notation: | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 481 | /// | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 501 | /// @remarks | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 521 | /// @remarks | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 541 | /// Not thread safe and it can be called from any thread. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 561 | /// | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 581 | /// found. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 601 | COMMENT | |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 721 | /// a default rendering backend will be selected appropriate to the platform. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 861 | uint32_t minResourceCbSize; //!< Minimum resource command buffer size. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 881 | /// - `BGFX_CAPS_FORMAT_TEXTURE_IMAGE_READ` - Texture format can be used as image | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 961 | uint16_t num; //!< Number of elements in array. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1101 | { | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1121 | /// - `BGFX_STATE_WRITE_*` - Enable R, G, B, A or Z write. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1161 | /// @param[in] _bstencil Back stencil state. If back is set to `BGFX_STENCIL_NONE` | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1181 | /// | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1201 | /// @param[in] _mtx Pointer to first matrix in array. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1241 | /// @param[in] _handle Uniform. | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1261 | COMMENT | |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1281 | /// | COMMENT |
| LOW | 3rdparty/bgfx/include/bgfx/bgfx.h | 1301 | /// | COMMENT |
| 4365 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | 3rdparty/bgfx/3rdparty/spirv-cross/spirv_glsl.cpp | 346 | // Sanity check the iteration count to be robust against a certain class of bugs where | COMMENT |
| MEDIUM | 3rdparty/bgfx/3rdparty/spirv-cross/spirv_glsl.cpp | 11903 | // Essentially, we can only remove one set of swizzles, since that's what we have control over ... | COMMENT |
| MEDIUM | 3rdparty/bgfx/3rdparty/spirv-cross/spirv_glsl.cpp | 12162 | // We can look at result type which is more robust. | COMMENT |
| MEDIUM | 3rdparty/bgfx/3rdparty/spirv-cross/spirv_cross.cpp | 3965 | // Essentially a map of block -> { variables accessed in the basic block } | COMMENT |
| MEDIUM | 3rdparty/bgfx/3rdparty/spirv-cross/spirv_hlsl.cpp | 1776 | // Sort input and output variables based on, from more robust to less robust: | COMMENT |
| MEDIUM | …3rdparty/spirv-tools/include/spirv-tools/optimizer.hpp | 765 | // Creates a graphics robust access pass. | COMMENT |
| MEDIUM | …dparty/bgfx/3rdparty/spirv-tools/source/diagnostic.cpp | 92 | case SPV_REQUESTED_TERMINATION: // Essentially success. | CODE |
| MEDIUM | …party/bgfx/3rdparty/spirv-tools/source/opt/ir_loader.h | 33 | // libspirv.h so that we can leverage the syntax checks implemented behind it. | COMMENT |
| MEDIUM | …dparty/bgfx/3rdparty/spirv-tools/source/opt/ccp_pass.h | 62 | // CCP lattice. Essentially, if all the operands in |phi| have the same | COMMENT |
| MEDIUM | 3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp | 5988 | // TODO: It would be more robust to do a full recursive verification of the types satisfying SPIR-V rules. | COMMENT |
| MEDIUM | …rty/glslang/glslang/MachineIndependent/ParseHelper.cpp | 9557 | // for the parameter to the constructor (passed to this function). Essentially, it converts | COMMENT |
| MEDIUM | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 8537 | // for the parameter to the constructor (passed to this function). Essentially, it converts | COMMENT |
| MEDIUM | …rty/glsl-optimizer/src/glsl/ir_print_metal_visitor.cpp | 977 | // take precision from it. This isn't fully robust now, but oh well. | COMMENT |
| MEDIUM | 3rdparty/bimg/3rdparty/tinyexr/tinyexr.h | 1554 | // TODO(syoyo): Add more robust out-of-bounds check in `rleUncompress`. | COMMENT |
| MEDIUM | 3rdparty/stb/stb_vorbis.c | 51 | // 1.10 - 2017-03-03 - more robust seeking; fix negative ilog(); clear error in open_memory | COMMENT |
| MEDIUM | …ullet3/src/BulletSoftBody/btDeformableCorotatedForce.h | 102 | PolarDecomposition(F, R, S); // this QR is not robust, consider using implicit shift svd | CODE |
| MEDIUM | …rc/BulletCollision/NarrowPhaseCollision/btConvexCast.h | 34 | //will need to digg deeper to make the algorithm more robust | COMMENT |
| MEDIUM | …BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp | 97 | // @@@ this needs to be made more robust | COMMENT |
| MEDIUM | …cs/ConstraintSolver/btGeneric6DofSpring2Constraint.cpp | 871 | // so it is much simpler (and more robust) just to simply use inf (with the proper sign) | COMMENT |
| MEDIUM | 3rdparty/bullet3/src/LinearMath/btMatrix3x3.h | 682 | ///extractRotation is from "A robust method to extract the rotational part of deformations" | COMMENT |
| MEDIUM | 3rdparty/ufbx/ufbx.h | 5027 | // Using this and robust linear interpolation will handle stepped tangents correctly | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 155 | // Step 1: Create the if merge block for structured modules. | COMMENT |
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 235 | // Step 2: Build a new preheader for |loop_|, use the old one | COMMENT |
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 361 | // Step 3: Duplicate |loop_|. | COMMENT |
| LOW⚡ | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 373 | // Step 4: Specialize the loop. // | COMMENT |
| LOW⚡ | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 380 | // Step 5: Connect convergent edges to the landing pads. // | COMMENT |
| LOW | …y/bgfx/3rdparty/spirv-tools/source/val/validate_id.cpp | 48 | /// NOTE: This function does NOT check module scoped functions which are | COMMENT |
| LOW | …fx/3rdparty/spirv-tools/source/val/validate_layout.cpp | 427 | // NOTE: This function does not handle CFG related validation | COMMENT |
| LOW | 3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp | 4020 | // Step 2: Construct a matrix from that array. | COMMENT |
| LOW | 3rdparty/bgfx/3rdparty/glslang/SPIRV/GlslangToSpv.cpp | 5959 | // NOTE: This function can handle any store request; if it's not special it | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7749 | // Step 1: If there's an exact match, use it. | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7752 | // Step 3: Re-select after type promotion is applied, to find proper candidate. | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7754 | // Step 1: If there's an exact match, use it. | COMMENT |
| LOW | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7810 | // Step 3: Re-select after type promotion, to find proper candidate | COMMENT |
| LOW | 3rdparty/ufbx/ufbx.h | 5585 | // NOTE: This function flips the normals if the determinant is negative. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 155 | // Step 1: Create the if merge block for structured modules. | COMMENT |
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 235 | // Step 2: Build a new preheader for |loop_|, use the old one | COMMENT |
| LOW | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 361 | // Step 3: Duplicate |loop_|. | COMMENT |
| LOW⚡ | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 373 | // Step 4: Specialize the loop. // | COMMENT |
| LOW⚡ | …3rdparty/spirv-tools/source/opt/loop_unswitch_pass.cpp | 380 | // Step 5: Connect convergent edges to the landing pads. // | COMMENT |
| LOW | 3rdparty/bgfx/3rdparty/glslang/SPIRV/SpvBuilder.cpp | 4020 | // Step 2: Construct a matrix from that array. | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7749 | // Step 1: If there's an exact match, use it. | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7752 | // Step 3: Re-select after type promotion is applied, to find proper candidate. | COMMENT |
| LOW⚡ | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7754 | // Step 1: If there's an exact match, use it. | COMMENT |
| LOW | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 7810 | // Step 3: Re-select after type promotion, to find proper candidate | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/_extensions/sphinx_last_updated_by_git.py | 307 | except KeyError: | CODE |
| HIGH | docs/_extensions/sphinx_last_updated_by_git.py | 210 | except subprocess.CalledProcessError as e: | CODE |
| HIGH | docs/_extensions/sphinx_sitemap/__init__.py | 56 | except BaseException: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | exporters/blender/blender-2-83.py | 19 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 20 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 21 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 277 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 277 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 278 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 278 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 313 | CODE | |
| LOW | docs/_extensions/sphinxext/opengraph/_social_cards.py | 3 | CODE | |
| LOW | docs/_extensions/sphinxext/opengraph/_meta_parser.py | 1 | CODE | |
| LOW | docs/_extensions/sphinxext/opengraph/__init__.py | 1 | CODE | |
| LOW | …_extensions/sphinxext/opengraph/_description_parser.py | 1 | CODE | |
| LOW | docs/_extensions/sphinxext/opengraph/_title_parser.py | 1 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | docs/_extensions/sphinxext/opengraph/_social_cards.py | 74 | # Define the file path we'll use for this image | COMMENT |
| MEDIUM | docs/_extensions/sphinxext/opengraph/_social_cards.py | 133 | # Create the figure objects and return them so that we re-use them later. | COMMENT |
| MEDIUM | 3rdparty/bx/3rdparty/ini/ini.h | 95 | #### Creating a new ini file | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rdparty/spirv-tools/source/val/validate_annotation.cpp | 331 | // TODO: Add validations for all decorations. | COMMENT |
| LOW | …rdparty/spirv-tools/source/val/validate_annotation.cpp | 368 | // TODO: Add validations for these decorations. | COMMENT |
| LOW | …rdparty/spirv-tools/source/val/validate_extensions.cpp | 3801 | // TODO: Add validation rules for remaining cases as well. | COMMENT |
| LOW | …ty/glslang/glslang/MachineIndependent/linkValidate.cpp | 233 | // TODO: implement support for geometry passthrough | COMMENT |
| LOW | …bgfx/3rdparty/glslang/glslang/HLSL/hlslParseHelper.cpp | 188 | // TODO: implement. | COMMENT |
| LOW | 3rdparty/bgfx/src/renderer_mtl.h | 1593 | uint32_t m_frameNum; // TODO: implement (currently stays 0) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …y/bgfx/3rdparty/spirv-tools/source/util/small_vector.h | 40 | // TODO: I have implemented the public member functions from |std::vector| that | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | exporters/blender/blender-2-83.py | 32 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 49 | CODE | |
| LOW | exporters/blender/blender-2-83.py | 86 | CODE | |
| LOW | docs/_extensions/sphinx_sitemap/__init__.py | 82 | CODE | |
| LOW | docs/_extensions/sphinxext/opengraph/__init__.py | 83 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/_extensions/sphinxext/opengraph/_social_cards.py | 171 | def create_social_card_objects( | CODE |
| LOW | docs/_extensions/sphinxext/opengraph/_social_cards.py | 315 | def _set_page_title_line_width() -> int: | CODE |
| LOW | docs/_extensions/sphinxext/opengraph/_social_cards.py | 319 | def _set_description_line_width() -> int: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | 3rdparty/bimg/3rdparty/lodepng/lodepng.cpp | 70 | lodepng source code. Don't forget to remove "static" if you copypaste them | CODE |
| LOW | …ulletDynamics/ConstraintSolver/btConeTwistConstraint.h | 317 | // note: don't forget to enableMotor() | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/_extensions/sphinxext/opengraph/_social_cards.py | 171 | CODE |