Skip to content

Latest commit

 

History

History
950 lines (879 loc) · 201 KB

File metadata and controls

950 lines (879 loc) · 201 KB

Metrics

Home

Static metrics are calculated from target-specific preprocessed MiniLang files inside the configured source roots. External imported modules, generated documentation, and excluded paths are not measured.

Project summary

Metric Value
Blank lines 791
Clone groups 13
Cognitive complexity 2120 (maximum per function: 113)
Comment lines 2834
Cyclomatic complexity 2148 (average: 3.25, maximum: 43)
Documentation coverage 97.77% (2674 of 2735 documentation items)
Duplicated lines 86 (1.3%)
Files 25
Functions 661
Maintainability index 5.77 / 100
Physical lines 10221
Source lines 6596
Statements 4880

Documentation coverage

Coverage is split by documentation contract so strong API summaries cannot hide undocumented parameters or data members.

Category Documented Total Coverage
API declarations 742 742 100%
Constants 59 84 70.24%
Enum variants 0 0 100%
Fields 337 372 90.59%
Globals 9 10 90%
Overall 2674 2735 97.77%
Parameters 1527 1527 100%

Halstead metrics

Distinct operators Distinct operands Total operators Total operands Vocabulary Length Volume Difficulty Effort Estimated defects
52 2349 29813 23002 2401 52815 593081.8 254.6 150997768.05 197.69

Files

File SLOC Functions Cyclomatic total / avg / max Cognitive total / max Duplication Halstead volume MI
src/minipixels.ml 394 105 198 / 1.89 / 27 120 / 44 0 (0%) 35021.51 0
src/minipixels/animation/animation.ml 108 17 36 / 2.12 / 10 27 / 16 0 (0%) 4060.52 25.53
src/minipixels/assets/assets.ml 122 16 36 / 2.25 / 5 21 / 4 0 (0%) 5376.9 23.52
src/minipixels/assets/pack.ml 177 13 66 / 5.08 / 26 62 / 25 0 (0%) 11164.07 13.74
src/minipixels/assets/png.ml 561 30 208 / 6.93 / 41 337 / 84 0 (0%) 41354.1 0
src/minipixels/assets/text.ml 104 12 42 / 3.5 / 16 37 / 19 0 (0%) 5742.3 24.03
src/minipixels/audio/audio.ml 598 69 194 / 2.81 / 29 152 / 35 0 (0%) 36112.66 0
src/minipixels/collision/collision.ml 67 7 19 / 2.71 / 8 17 / 12 0 (0%) 3296.15 32.98
src/minipixels/core/time.ml 41 4 8 / 2 / 4 4 / 3 0 (0%) 1201.07 42.18
src/minipixels/debug/debug.ml 47 4 16 / 4 / 10 13 / 9 0 (0%) 4365.48 35.89
src/minipixels/graphics/canvas.ml 593 55 184 / 3.35 / 21 197 / 33 18 (3.04%) 45425.95 0
src/minipixels/graphics/font.ml 88 5 58 / 11.6 / 43 59 / 42 0 (0%) 5226.68 23.75
src/minipixels/graphics/sprite.ml 138 13 46 / 3.54 / 12 35 / 11 0 (0%) 7279.86 20.09
src/minipixels/input/input.ml 283 27 69 / 2.56 / 11 45 / 10 0 (0%) 13982.41 8.21
src/minipixels/math/types.ml 242 48 72 / 1.5 / 5 25 / 4 0 (0%) 12140.72 9.72
src/minipixels/platform/linux.ml 504 33 170 / 5.15 / 27 164 / 32 13 (2.58%) 36596.86 0
src/minipixels/platform/windows.ml 618 47 133 / 2.83 / 9 101 / 13 13 (2.1%) 39600.32 0
src/minipixels/scene/scene.ml 199 24 66 / 2.75 / 9 49 / 12 0 (0%) 10519.19 12.81
src/minipixels/tools/fsutil.ml 61 7 34 / 4.86 / 7 31 / 7 8 (13.11%) 3453.67 31.71
src/minipixels/tools/generator.ml 822 51 220 / 4.31 / 35 324 / 113 12 (1.46%) 60187.9 0
src/minipixels/tools/json.ml 310 32 119 / 3.72 / 18 132 / 46 14 (4.52%) 15496.08 0.31
src/minipixels/tools/manifest.ml 241 19 84 / 4.42 / 22 78 / 28 8 (3.32%) 13037.39 7.93
src/minipixels/world/camera.ml 52 9 12 / 1.33 / 4 3 / 3 0 (0%) 1907.85 37.98
src/minipixels/world/entity.ml 20 1 1 / 1 / 1 0 / 0 0 (0%) 366.3 53.53
src/minipixels/world/tilemap.ml 206 13 57 / 4.38 / 25 87 / 56 0 (0%) 10505.32 13.7

Functions

Function Location LOC Statements Cyclomatic Cognitive Max nesting Halstead volume MI
minipixels.activeRenderer src/minipixels.ml:333 5 5 4 3 1 193.26 68.21
minipixels.animation src/minipixels.ml:466 1 1 1 0 0 46.51 88.19
minipixels.animation.animation.addFrame src/minipixels/animation/animation.ml:92 8 8 3 2 1 326.9 62.29
minipixels.animation.animation.Animation.addFrame src/minipixels/animation/animation.ml:33 3 1 1 0 0 88.81 75.81
minipixels.animation.animation.Animation.currentSprite src/minipixels/animation/animation.ml:76 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.pause src/minipixels/animation/animation.ml:53 3 1 1 0 0 36.54 78.52
minipixels.animation.animation.Animation.play src/minipixels/animation/animation.ml:38 3 1 1 0 0 36.54 78.52
minipixels.animation.animation.Animation.reset src/minipixels/animation/animation.ml:48 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.setLooping src/minipixels/animation/animation.ml:59 3 1 1 0 0 39.86 78.25
minipixels.animation.animation.Animation.setPingPong src/minipixels/animation/animation.ml:65 3 1 1 0 0 39.86 78.25
minipixels.animation.animation.Animation.stop src/minipixels/animation/animation.ml:43 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.update src/minipixels/animation/animation.ml:71 3 1 1 0 0 71.7 76.47
minipixels.animation.animation.create src/minipixels/animation/animation.ml:83 4 3 2 1 1 210.83 70.33
minipixels.animation.animation.currentSprite src/minipixels/animation/animation.ml:118 4 3 2 1 1 112.59 72.23
minipixels.animation.animation.fromSheet src/minipixels/animation/animation.ml:169 10 8 3 2 1 277.33 60.68
minipixels.animation.animation.reset src/minipixels/animation/animation.ml:103 5 3 1 0 0 81.41 71.24
minipixels.animation.animation.stepForward src/minipixels/animation/animation.ml:125 24 21 10 16 3 817.25 48.15
minipixels.animation.animation.stop src/minipixels/animation/animation.ml:111 4 2 1 0 0 55.35 74.53
minipixels.animation.animation.update src/minipixels/animation/animation.ml:154 9 8 5 5 2 428.77 60.08
minipixels.animationFromSheet src/minipixels.ml:472 1 1 1 0 0 98.99 85.89
minipixels.assetKindFromPack src/minipixels.ml:437 1 1 1 0 0 64.53 87.19
minipixels.assets.assets.add src/minipixels/assets/assets.ml:126 8 7 2 1 1 250.77 63.23
minipixels.assets.assets.addLazy src/minipixels/assets/assets.ml:139 9 9 3 2 1 317.29 61.27
minipixels.assets.assets.AssetRegistry.add src/minipixels/assets/assets.ml:29 3 1 1 0 0 88.81 75.81
minipixels.assets.assets.AssetRegistry.addLazy src/minipixels/assets/assets.ml:36 3 1 1 0 0 88.81 75.81
minipixels.assets.assets.AssetRegistry.get src/minipixels/assets/assets.ml:42 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.AssetRegistry.getSprite src/minipixels/assets/assets.ml:48 3 1 1 0 0 74.01 76.37
minipixels.assets.assets.AssetRegistry.has src/minipixels/assets/assets.ml:54 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.AssetRegistry.unload src/minipixels/assets/assets.ml:60 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.create src/minipixels/assets/assets.ml:67 7 3 3 2 1 317.29 63.65
minipixels.assets.assets.ensureCapacity src/minipixels/assets/assets.ml:77 17 16 2 1 1 662.76 53.13
minipixels.assets.assets.ensureSlot src/minipixels/assets/assets.ml:108 13 13 4 3 1 506.65 56.22
minipixels.assets.assets.get src/minipixels/assets/assets.ml:159 14 14 5 4 1 485.78 55.52
minipixels.assets.assets.has src/minipixels/assets/assets.ml:152 3 1 1 0 0 64.53 76.79
minipixels.assets.assets.slotOf src/minipixels/assets/assets.ml:98 6 6 3 2 1 209.59 66.37
minipixels.assets.assets.unload src/minipixels/assets/assets.ml:177 7 6 3 2 1 269.21 64.15
minipixels.assets.assets.unloadAll src/minipixels/assets/assets.ml:187 9 6 4 4 2 288.44 61.42
minipixels.assets.pack._openData src/minipixels/assets/pack.ml:66 43 48 15 23 3 2638.32 38.39
minipixels.assets.pack._readU64LE src/minipixels/assets/pack.ml:120 6 5 3 2 1 271.03 65.59
minipixels.assets.pack.clearCache src/minipixels/assets/pack.ml:244 4 2 1 0 0 69.76 73.82
minipixels.assets.pack.find src/minipixels/assets/pack.ml:189 7 8 4 3 1 275.1 63.95
minipixels.assets.pack.getBytes src/minipixels/assets/pack.ml:200 9 9 3 2 1 442.61 60.25
minipixels.assets.pack.getKind src/minipixels/assets/pack.ml:213 5 4 2 1 1 151.62 69.21
minipixels.assets.pack.hasRange src/minipixels/assets/pack.ml:52 3 1 1 0 0 148.68 74.25
minipixels.assets.pack.isPack src/minipixels/assets/pack.ml:58 4 3 2 1 1 235.02 70
minipixels.assets.pack.loadPng src/minipixels/assets/pack.ml:222 9 10 4 3 1 394.66 60.47
minipixels.assets.pack.open src/minipixels/assets/pack.ml:112 5 4 2 1 1 159.91 69.05
minipixels.assets.pack.openProtected src/minipixels/assets/pack.ml:133 52 45 26 25 1 3114.83 34.61
minipixels.assets.pack.packError src/minipixels/assets/pack.ml:44 3 1 1 0 0 46.51 77.78
minipixels.assets.pack.unload src/minipixels/assets/pack.ml:235 6 5 2 1 1 177.2 67.01
minipixels.assets.png.adler32 src/minipixels/assets/png.ml:287 9 6 2 1 1 255.41 62.06
minipixels.assets.png.alignBits src/minipixels/assets/png.ml:118 4 2 1 0 0 58.81 74.34
minipixels.assets.png.buildHuffman src/minipixels/assets/png.ml:125 28 24 10 12 2 1208.59 45.5
minipixels.assets.png.chunkIs src/minipixels/assets/png.ml:90 4 3 2 1 1 332.84 68.94
minipixels.assets.png.decode src/minipixels/assets/png.ml:529 76 92 41 54 3 5166.78 27.46
minipixels.assets.png.decodeSymbol src/minipixels/assets/png.ml:157 21 20 7 10 3 723.27 50.19
minipixels.assets.png.distanceBase src/minipixels/assets/png.ml:273 4 2 1 0 0 404.42 68.48
minipixels.assets.png.distanceExtra src/minipixels/assets/png.ml:280 4 2 1 0 0 352.53 68.9
minipixels.assets.png.dynamicTables src/minipixels/assets/png.ml:202 54 50 16 33 5 2591.99 36.16
minipixels.assets.png.encodeChunk src/minipixels/assets/png.ml:642 8 6 1 0 0 357.58 62.29
minipixels.assets.png.encodeRgba src/minipixels/assets/png.ml:655 40 40 9 8 1 2227.34 40.4
minipixels.assets.png.encodeStoredZlib src/minipixels/assets/png.ml:616 22 23 6 8 2 1044.39 48.77
minipixels.assets.png.fixedDistanceTable src/minipixels/assets/png.ml:193 6 5 2 1 1 125.1 68.07
minipixels.assets.png.fixedLiteralTable src/minipixels/assets/png.ml:180 11 14 6 5 1 452.78 57.88
minipixels.assets.png.hasRange src/minipixels/assets/png.ml:57 3 1 1 0 0 148.68 74.25
minipixels.assets.png.inflateStored src/minipixels/assets/png.ml:375 21 23 7 10 2 1081.9 48.97
minipixels.assets.png.inflateZlib src/minipixels/assets/png.ml:300 72 76 34 84 6 4242.15 29.51
minipixels.assets.png.integerCeilDivide src/minipixels/assets/png.ml:71 4 2 1 0 0 89.86 73.05
minipixels.assets.png.integerDivide src/minipixels/assets/png.ml:64 3 1 1 0 0 75.28 76.32
minipixels.assets.png.isPng src/minipixels/assets/png.ml:78 4 3 2 1 1 393.46 68.43
minipixels.assets.png.lengthBase src/minipixels/assets/png.ml:259 4 2 1 0 0 391.1 68.58
minipixels.assets.png.lengthExtra src/minipixels/assets/png.ml:266 4 2 1 0 0 304.4 69.34
minipixels.assets.png.load src/minipixels/assets/png.ml:608 5 4 2 1 1 194.51 68.46
minipixels.assets.png.paeth src/minipixels/assets/png.ml:401 12 15 7 6 1 420.69 57.14
minipixels.assets.png.paletteIndex src/minipixels/assets/png.ml:450 7 6 2 1 1 387.64 63.17
minipixels.assets.png.pngError src/minipixels/assets/png.ml:49 3 1 1 0 0 46.51 77.78
minipixels.assets.png.readBits src/minipixels/assets/png.ml:98 17 14 4 4 2 645.97 52.94
minipixels.assets.png.saveRgba src/minipixels/assets/png.ml:701 5 4 2 1 1 196.21 68.43
minipixels.assets.png.toRgba src/minipixels/assets/png.ml:466 59 55 24 68 7 2832 33.97
minipixels.assets.png.unfilter src/minipixels/assets/png.ml:419 25 29 13 28 3 1309.37 45.93
minipixels.assets.text.create src/minipixels/assets/text.ml:154 3 1 1 0 0 87.57 75.86
minipixels.assets.text.decodeCatalog src/minipixels/assets/text.ml:115 26 31 16 19 2 1801.63 44.19
minipixels.assets.text.hasRange src/minipixels/assets/text.ml:108 3 1 1 0 0 148.68 74.25
minipixels.assets.text.load src/minipixels/assets/text.ml:146 5 4 2 1 1 175.69 68.77
minipixels.assets.text.Localization.add src/minipixels/assets/text.ml:40 5 4 2 1 1 142.62 69.4
minipixels.assets.text.Localization.format src/minipixels/assets/text.ml:87 9 8 4 3 1 394.95 60.47
minipixels.assets.text.Localization.resolveCatalog src/minipixels/assets/text.ml:56 11 11 5 5 2 495.16 57.74
minipixels.assets.text.Localization.setLocale src/minipixels/assets/text.ml:48 5 4 3 2 1 144.95 69.22
minipixels.assets.text.Localization.text src/minipixels/assets/text.ml:70 13 11 5 6 2 394.73 56.85
minipixels.assets.text.TextCatalog.get src/minipixels/assets/text.ml:21 3 1 1 0 0 53.15 77.38
minipixels.assets.text.TextCatalog.has src/minipixels/assets/text.ml:27 3 1 1 0 0 53.15 77.38
minipixels.assets.text.textError src/minipixels/assets/text.ml:100 3 1 1 0 0 46.51 77.78
minipixels.audio.audio.AudioClip.play src/minipixels/audio/audio.ml:214 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioClip.setLooping src/minipixels/audio/audio.ml:209 3 1 1 0 0 50.19 77.55
minipixels.audio.audio.AudioClip.setVolume src/minipixels/audio/audio.ml:204 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioMixer.close src/minipixels/audio/audio.ml:333 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioMixer.mute src/minipixels/audio/audio.ml:293 4 2 1 0 0 91.38 73
minipixels.audio.audio.AudioMixer.playMusic src/minipixels/audio/audio.ml:309 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioMixer.playSfx src/minipixels/audio/audio.ml:304 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioMixer.setChannel src/minipixels/audio/audio.ml:329 3 1 1 0 0 106.61 75.26
minipixels.audio.audio.AudioMixer.setMasterVolume src/minipixels/audio/audio.ml:276 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.setMusicVolume src/minipixels/audio/audio.ml:288 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.setSfxVolume src/minipixels/audio/audio.ml:282 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.stopAll src/minipixels/audio/audio.ml:317 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioMixer.stopChannel src/minipixels/audio/audio.ml:322 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioMixer.unmute src/minipixels/audio/audio.ml:298 4 2 1 0 0 91.38 73
minipixels.audio.audio.AudioMixer.update src/minipixels/audio/audio.ml:313 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioState.mute src/minipixels/audio/audio.ml:146 4 2 1 0 0 79.95 73.41
minipixels.audio.audio.AudioState.playMusic src/minipixels/audio/audio.ml:161 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioState.playSfx src/minipixels/audio/audio.ml:156 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioState.setMasterVolume src/minipixels/audio/audio.ml:132 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.setMusicVolume src/minipixels/audio/audio.ml:142 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.setSfxVolume src/minipixels/audio/audio.ml:137 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.stop src/minipixels/audio/audio.ml:165 4 2 1 0 0 79.95 73.41
minipixels.audio.audio.AudioState.unmute src/minipixels/audio/audio.ml:151 3 1 1 0 0 36.54 78.52
minipixels.audio.audio.backendName src/minipixels/audio/audio.ml:427 3 1 1 0 0 22.46 80
minipixels.audio.audio.channel src/minipixels/audio/audio.ml:390 3 1 1 0 0 83.76 75.99
minipixels.audio.audio.chooseChannel src/minipixels/audio/audio.ml:691 8 6 3 3 2 271.03 62.86
minipixels.audio.audio.chunkIs src/minipixels/audio/audio.ml:605 4 3 2 1 1 313.82 69.12
minipixels.audio.audio.clip src/minipixels/audio/audio.ml:364 5 5 3 2 1 289.89 67.11
minipixels.audio.audio.clipFromBytes src/minipixels/audio/audio.ml:373 5 5 3 2 1 298.56 67.02
minipixels.audio.audio.close src/minipixels/audio/audio.ml:1020 4 3 2 1 1 77.71 73.36
minipixels.audio.audio.closeMixer src/minipixels/audio/audio.ml:982 19 16 7 8 2 620.12 51.61
minipixels.audio.audio.create src/minipixels/audio/audio.ml:357 3 1 1 0 0 65.73 76.73
minipixels.audio.audio.effectiveClipVolume src/minipixels/audio/audio.ml:422 3 1 1 0 0 105.49 75.29
minipixels.audio.audio.effectiveVolume src/minipixels/audio/audio.ml:413 4 3 2 1 1 144.43 71.48
minipixels.audio.audio.ensureBackend src/minipixels/audio/audio.ml:780 34 29 6 7 2 1225.77 44.16
minipixels.audio.audio.getU32 src/minipixels/audio/audio.ml:579 3 1 1 0 0 199.65 73.35
minipixels.audio.audio.getU64 src/minipixels/audio/audio.ml:586 3 1 1 0 0 110.41 75.15
minipixels.audio.audio.hasRange src/minipixels/audio/audio.ml:594 3 1 1 0 0 148.68 74.25
minipixels.audio.audio.mixBuffer src/minipixels/audio/audio.ml:738 26 24 9 12 2 1522.38 45.64
minipixels.audio.audio.mixer src/minipixels/audio/audio.ml:396 13 7 4 3 1 645.5 55.49
minipixels.audio.audio.mixerPlayMusic src/minipixels/audio/audio.ml:858 21 21 5 4 1 676.98 50.66
minipixels.audio.audio.mixerPlaySfx src/minipixels/audio/audio.ml:835 19 19 5 4 1 681.82 51.59
minipixels.audio.audio.mixerStopAll src/minipixels/audio/audio.ml:930 18 14 3 2 1 487.28 53.39
minipixels.audio.audio.mixVoice src/minipixels/audio/audio.ml:704 30 27 9 11 3 1601.68 44.13
minipixels.audio.audio.musicClip src/minipixels/audio/audio.ml:382 5 3 1 0 0 93.77 70.81
minipixels.audio.audio.normalizePan src/minipixels/audio/audio.ml:349 6 7 4 3 1 167.59 66.91
minipixels.audio.audio.normalizeVolume src/minipixels/audio/audio.ml:340 6 7 4 3 1 163.5 66.99
minipixels.audio.audio.playClip src/minipixels/audio/audio.ml:539 15 16 8 10 2 666.46 53.5
minipixels.audio.audio.playMusic src/minipixels/audio/audio.ml:511 3 1 1 0 0 36 78.56
minipixels.audio.audio.playMusicWithState src/minipixels/audio/audio.ml:528 7 8 4 3 1 313.82 63.55
minipixels.audio.audio.playSfx src/minipixels/audio/audio.ml:518 6 7 4 3 1 283.28 65.32
minipixels.audio.audio.playSound src/minipixels/audio/audio.ml:447 4 3 2 1 1 138.3 71.61
minipixels.audio.audio.playSoundBytes src/minipixels/audio/audio.ml:480 4 3 3 2 1 192.57 70.47
minipixels.audio.audio.playSoundBytesSync src/minipixels/audio/audio.ml:491 4 3 3 2 1 192.57 70.47
minipixels.audio.audio.playSoundLoop src/minipixels/audio/audio.ml:469 4 3 2 1 1 149.34 71.37
minipixels.audio.audio.playSoundSync src/minipixels/audio/audio.ml:458 4 3 2 1 1 138.3 71.61
minipixels.audio.audio.prepareClip src/minipixels/audio/audio.ml:612 49 56 29 35 3 3198.29 34.69
minipixels.audio.audio.prepareMixerFormat src/minipixels/audio/audio.ml:767 10 8 1 0 0 398.07 59.85
minipixels.audio.audio.putU32 src/minipixels/audio/audio.ml:559 7 6 2 1 1 347.11 63.51
minipixels.audio.audio.putU64 src/minipixels/audio/audio.ml:571 4 2 1 0 0 148 71.54
minipixels.audio.audio.refreshMixer src/minipixels/audio/audio.ml:924 3 1 1 0 0 34.87 78.66
minipixels.audio.audio.sampleAt src/minipixels/audio/audio.ml:666 22 24 10 11 2 1156.99 47.92
minipixels.audio.audio.setChannel src/minipixels/audio/audio.ml:971 8 7 4 3 1 356.7 61.89
minipixels.audio.audio.stopChannel src/minipixels/audio/audio.ml:957 8 7 4 3 1 289.51 62.53
minipixels.audio.audio.stopSound src/minipixels/audio/audio.ml:501 3 1 1 0 0 51.89 77.45
minipixels.audio.audio.supportsMultipleSfx src/minipixels/audio/audio.ml:436 3 1 1 0 0 22.46 80
minipixels.audio.audio.supportsVolumeControl src/minipixels/audio/audio.ml:441 3 1 1 0 0 22.46 80
minipixels.audio.audio.update src/minipixels/audio/audio.ml:1013 4 3 2 1 1 77.71 73.36
minipixels.audio.audio.updateMixer src/minipixels/audio/audio.ml:882 17 13 6 8 3 571.15 53.05
minipixels.audioBackend src/minipixels.ml:688 1 1 1 0 0 38.04 88.8
minipixels.audioClip src/minipixels.ml:660 1 1 1 0 0 64.53 87.19
minipixels.audioClipFromBytes src/minipixels.ml:664 1 1 1 0 0 64.53 87.19
minipixels.audioMixer src/minipixels.ml:675 1 1 1 0 0 46.51 88.19
minipixels.audioState src/minipixels.ml:648 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsMultipleSfx src/minipixels.ml:690 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsVolumeControl src/minipixels.ml:692 1 1 1 0 0 38.04 88.8
minipixels.bindKey src/minipixels.ml:603 1 1 1 0 0 97.67 85.93
minipixels.bindKeys src/minipixels.ml:609 1 1 1 0 0 96.21 85.98
minipixels.callIfFunction src/minipixels.ml:700 3 2 2 1 1 91.38 75.59
minipixels.callRender src/minipixels.ml:716 3 2 2 1 1 109.39 75.05
minipixels.callUpdate src/minipixels.ml:708 3 2 2 1 1 109.39 75.05
minipixels.camera src/minipixels.ml:476 1 1 1 0 0 64.53 87.19
minipixels.changeScene src/minipixels.ml:543 1 1 1 0 0 81.41 86.49
minipixels.clearAssetPackCache src/minipixels.ml:463 1 1 1 0 0 46.51 88.19
minipixels.collision.collision.circleCircle src/minipixels/collision/collision.ml:47 6 4 1 0 0 193.26 66.88
minipixels.collision.collision.circleRect src/minipixels/collision/collision.ml:59 7 5 1 0 0 356.62 63.56
minipixels.collision.collision.clipAxis src/minipixels/collision/collision.ml:99 15 15 8 12 2 421.82 54.89
minipixels.collision.collision.lineRect src/minipixels/collision/collision.ml:73 20 22 6 5 1 1132.39 49.43
minipixels.collision.collision.pointRect src/minipixels/collision/collision.ml:29 3 1 1 0 0 81.41 76.08
minipixels.collision.collision.rectRect src/minipixels/collision/collision.ml:36 3 1 1 0 0 64.53 76.79
minipixels.collision.collision.result src/minipixels/collision/collision.ml:118 3 1 1 0 0 83.03 76.02
minipixels.core.time.beginFrame src/minipixels/core/time.ml:43 7 5 1 0 0 200 65.32
minipixels.core.time.countUpdate src/minipixels/core/time.ml:53 4 2 1 0 0 89.62 73.06
minipixels.core.time.create src/minipixels/core/time.ml:35 4 3 2 1 1 179.85 70.81
minipixels.core.time.finishFrame src/minipixels/core/time.ml:61 12 11 4 3 1 366.8 57.96
minipixels.createConfig src/minipixels.ml:121 6 7 4 3 1 416.15 64.15
minipixels.createGame src/minipixels.ml:130 21 1 1 0 0 555 51.81
minipixels.debug.debug.captureHash src/minipixels/debug/debug.ml:73 3 1 1 0 0 46.51 77.78
minipixels.debug.debug.drawDigit src/minipixels/debug/debug.ml:22 12 18 10 9 1 1463.13 52.95
minipixels.debug.debug.drawNumber src/minipixels/debug/debug.ml:41 13 10 4 4 2 412.08 56.85
minipixels.debug.debug.drawStats src/minipixels/debug/debug.ml:58 12 10 1 0 0 1301.57 54.52
minipixels.designToRenderX src/minipixels.ml:269 1 1 1 0 0 53.77 87.75
minipixels.designToRenderY src/minipixels.ml:273 1 1 1 0 0 53.77 87.75
minipixels.drawRectWorld src/minipixels.ml:568 1 1 1 0 0 152 84.59
minipixels.drawRenderTarget src/minipixels.ml:410 1 1 1 0 0 98.99 85.89
minipixels.drawSpriteRotated src/minipixels.ml:419 1 1 1 0 0 152 84.59
minipixels.drawSpriteWorld src/minipixels.ml:575 1 1 1 0 0 114.22 85.46
minipixels.drawSpriteWorldEx src/minipixels.ml:586 1 1 1 0 0 191.82 83.88
minipixels.drawText src/minipixels.ml:621 1 1 1 0 0 132.83 85
minipixels.drawTextCentered src/minipixels.ml:628 1 1 1 0 0 114.22 85.46
minipixels.fillRectWorld src/minipixels.ml:559 1 1 1 0 0 152 84.59
minipixels.frameHash src/minipixels.ml:695 1 1 1 0 0 46.51 88.19
minipixels.Game.quit src/minipixels.ml:111 3 1 1 0 0 36.54 78.52
minipixels.graphics.canvas.blendPixel src/minipixels/graphics/canvas.ml:410 7 4 2 1 1 289.51 64.06
minipixels.graphics.canvas.blendPixelRaw src/minipixels/graphics/canvas.ml:381 11 10 5 4 1 846.49 56.11
minipixels.graphics.canvas.blitImage src/minipixels/graphics/canvas.ml:608 3 1 1 0 0 144 74.34
minipixels.graphics.canvas.blitRegion src/minipixels/graphics/canvas.ml:621 4 2 1 0 0 360.55 68.83
minipixels.graphics.canvas.Canvas.beginCamera src/minipixels/graphics/canvas.ml:226 4 2 1 0 0 77.71 73.5
minipixels.graphics.canvas.Canvas.blit src/minipixels/graphics/canvas.ml:115 3 1 1 0 0 112 75.11
minipixels.graphics.canvas.Canvas.blitRegion src/minipixels/graphics/canvas.ml:127 3 1 1 0 0 186.91 73.55
minipixels.graphics.canvas.Canvas.clear src/minipixels/graphics/canvas.ml:44 3 1 1 0 0 76.15 76.28
minipixels.graphics.canvas.Canvas.drawCanvas src/minipixels/graphics/canvas.ml:176 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.Canvas.drawCircle src/minipixels/graphics/canvas.ml:98 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.drawLine src/minipixels/graphics/canvas.ml:69 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawRect src/minipixels/graphics/canvas.ml:79 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawRectWorld src/minipixels/graphics/canvas.ml:198 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.drawSprite src/minipixels/graphics/canvas.ml:135 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.Canvas.drawSpriteEx src/minipixels/graphics/canvas.ml:147 3 1 1 0 0 186.91 73.55
minipixels.graphics.canvas.Canvas.drawSpriteRotated src/minipixels/graphics/canvas.ml:168 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.drawSpriteScaled src/minipixels/graphics/canvas.ml:157 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawSpriteWorld src/minipixels/graphics/canvas.ml:207 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.drawSpriteWorldEx src/minipixels/graphics/canvas.ml:220 3 1 1 0 0 207.45 73.23
minipixels.graphics.canvas.Canvas.endCamera src/minipixels/graphics/canvas.ml:232 4 2 1 0 0 55.35 74.53
minipixels.graphics.canvas.Canvas.fillCircle src/minipixels/graphics/canvas.ml:107 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.fillRect src/minipixels/graphics/canvas.ml:89 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.fillRectWorld src/minipixels/graphics/canvas.ml:187 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.getPixel src/minipixels/graphics/canvas.ml:59 3 1 1 0 0 91.38 75.73
minipixels.graphics.canvas.Canvas.resize src/minipixels/graphics/canvas.ml:240 3 1 1 0 0 91.38 75.73
minipixels.graphics.canvas.Canvas.setPixel src/minipixels/graphics/canvas.ml:52 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.clearCanvas src/minipixels/graphics/canvas.ml:333 23 20 4 6 3 938.73 48.94
minipixels.graphics.canvas.create src/minipixels/graphics/canvas.ml:248 5 3 1 0 0 307.6 67.2
minipixels.graphics.canvas.drawCanvas src/minipixels/graphics/canvas.ml:889 3 1 1 0 0 98.99 75.48
minipixels.graphics.canvas.drawCircle src/minipixels/graphics/canvas.ml:549 23 18 3 3 2 937.22 49.08
minipixels.graphics.canvas.drawLine src/minipixels/graphics/canvas.ml:515 27 25 8 10 2 953.64 46.84
minipixels.graphics.canvas.drawPixelFast src/minipixels/graphics/canvas.ml:423 14 13 7 6 1 739.34 53.97
minipixels.graphics.canvas.drawRect src/minipixels/graphics/canvas.ml:501 6 4 1 0 0 420 64.52
minipixels.graphics.canvas.drawRectWorld src/minipixels/graphics/canvas.ml:927 3 1 1 0 0 179.85 73.67
minipixels.graphics.canvas.drawSprite src/minipixels/graphics/canvas.ml:631 3 1 1 0 0 179.31 73.68
minipixels.graphics.canvas.drawSpriteEx src/minipixels/graphics/canvas.ml:742 37 33 20 32 4 2260.6 39.61
minipixels.graphics.canvas.drawSpriteFast1x src/minipixels/graphics/canvas.ml:676 55 46 11 25 6 4283.36 35.13
minipixels.graphics.canvas.drawSpriteRotated src/minipixels/graphics/canvas.ml:830 53 57 21 33 4 3914.59 34.41
minipixels.graphics.canvas.drawSpriteScaled src/minipixels/graphics/canvas.ml:788 33 37 13 17 3 2538.47 41.29
minipixels.graphics.canvas.drawSpriteWorld src/minipixels/graphics/canvas.ml:937 3 1 1 0 0 140.65 74.42
minipixels.graphics.canvas.drawSpriteWorldEx src/minipixels/graphics/canvas.ml:951 3 1 1 0 0 220.89 73.04
minipixels.graphics.canvas.fillCircle src/minipixels/graphics/canvas.ml:579 23 20 7 11 3 1074.46 48.13
minipixels.graphics.canvas.fillRect src/minipixels/graphics/canvas.ml:445 48 43 12 18 3 2445.58 37.99
minipixels.graphics.canvas.fillRectWorld src/minipixels/graphics/canvas.ml:915 3 1 1 0 0 179.85 73.67
minipixels.graphics.canvas.fillScaledPixel src/minipixels/graphics/canvas.ml:641 29 25 7 9 3 1259.8 45.45
minipixels.graphics.canvas.getPixel src/minipixels/graphics/canvas.ml:397 7 6 5 4 1 559.09 61.65
minipixels.graphics.canvas.hash src/minipixels/graphics/canvas.ml:957 8 5 2 1 1 153.73 64.72
minipixels.graphics.canvas.index src/minipixels/graphics/canvas.ml:326 3 1 1 0 0 104 75.33
minipixels.graphics.canvas.markDirty src/minipixels/graphics/canvas.ml:284 19 21 8 7 1 1046.51 49.89
minipixels.graphics.canvas.resetDirty src/minipixels/graphics/canvas.ml:306 7 5 1 0 0 125.02 66.75
minipixels.graphics.canvas.resetStats src/minipixels/graphics/canvas.ml:316 5 3 1 0 0 78.87 71.34
minipixels.graphics.canvas.resize src/minipixels/graphics/canvas.ml:259 18 19 6 5 1 750.39 51.68
minipixels.graphics.canvas.screenX src/minipixels/graphics/canvas.ml:896 3 1 1 0 0 51.89 77.45
minipixels.graphics.canvas.screenY src/minipixels/graphics/canvas.ml:903 3 1 1 0 0 51.89 77.45
minipixels.graphics.canvas.setPixel src/minipixels/graphics/canvas.ml:362 13 13 6 5 1 895.17 54.22
minipixels.graphics.font.drawGlyph src/minipixels/graphics/font.ml:73 25 20 8 13 4 966.62 47.53
minipixels.graphics.font.drawText src/minipixels/graphics/font.ml:106 8 6 3 2 1 285.29 62.7
minipixels.graphics.font.drawTextCentered src/minipixels/graphics/font.ml:121 3 1 1 0 0 175.14 73.75
minipixels.graphics.font.glyphBits src/minipixels/graphics/font.ml:11 45 85 43 42 1 2542.53 34.31
minipixels.graphics.font.textWidth src/minipixels/graphics/font.ml:60 5 5 3 2 1 195.4 68.31
minipixels.graphics.sprite.cacheFrames src/minipixels/graphics/sprite.ml:230 7 5 3 2 1 166.91 65.6
minipixels.graphics.sprite.Image.getPixel src/minipixels/graphics/sprite.ml:25 3 1 1 0 0 93.77 75.65
minipixels.graphics.sprite.imageGetPixel src/minipixels/graphics/sprite.ml:147 12 14 12 11 1 856.24 54.31
minipixels.graphics.sprite.imageIndex src/minipixels/graphics/sprite.ml:123 3 1 1 0 0 104 75.33
minipixels.graphics.sprite.imageSetPixel src/minipixels/graphics/sprite.ml:132 10 10 6 5 1 671.25 57.59
minipixels.graphics.sprite.newImage src/minipixels/graphics/sprite.ml:81 6 3 2 1 1 248.8 65.98
minipixels.graphics.sprite.pixelsAreOpaque src/minipixels/graphics/sprite.ml:92 10 9 4 4 2 310 60.2
minipixels.graphics.sprite.solidImage src/minipixels/graphics/sprite.ml:108 10 6 3 3 2 386.43 59.67
minipixels.graphics.sprite.spriteFromImage src/minipixels/graphics/sprite.ml:163 3 1 1 0 0 121.84 74.85
minipixels.graphics.sprite.spriteRegion src/minipixels/graphics/sprite.ml:174 3 1 1 0 0 140.65 74.42
minipixels.graphics.sprite.spriteSheet src/minipixels/graphics/sprite.ml:184 20 18 5 4 1 703.11 51.01
minipixels.graphics.sprite.SpriteSheet.getFrame src/minipixels/graphics/sprite.ml:71 3 1 1 0 0 76.15 76.28
minipixels.graphics.sprite.spriteSheetFrame src/minipixels/graphics/sprite.ml:208 19 20 6 5 1 1010.81 50.26
minipixels.image src/minipixels.ml:383 1 1 1 0 0 98.99 85.89
minipixels.input.input.actionSlot src/minipixels/input/input.ml:204 6 6 3 2 1 209.59 66.37
minipixels.input.input.addMouseWheel src/minipixels/input/input.ml:392 3 2 3 2 1 148.68 73.98
minipixels.input.input.beginPoll src/minipixels/input/input.ml:300 9 7 1 0 0 249.73 62.26
minipixels.input.input.beginUpdate src/minipixels/input/input.ml:312 17 13 3 3 2 535 53.65
minipixels.input.input.bindKeys src/minipixels/input/input.ml:238 9 10 4 3 1 363.11 60.72
minipixels.input.input.create src/minipixels/input/input.ml:141 26 13 1 0 0 1375.6 47.02
minipixels.input.input.endUpdate src/minipixels/input/input.ml:332 12 8 3 3 2 285.29 58.86
minipixels.input.input.ensureAction src/minipixels/input/input.ml:214 18 18 4 3 1 750.06 51.95
minipixels.input.input.ensureActionCapacity src/minipixels/input/input.ml:170 30 29 2 1 1 1339.39 45.61
minipixels.input.input.InputState.beginFrame src/minipixels/input/input.ml:92 3 1 1 0 0 58.81 77.07
minipixels.input.input.InputState.beginUpdate src/minipixels/input/input.ml:97 3 1 1 0 0 56.47 77.19
minipixels.input.input.InputState.bindKey src/minipixels/input/input.ml:127 3 1 1 0 0 108 75.22
minipixels.input.input.InputState.bindKeys src/minipixels/input/input.ml:135 3 1 1 0 0 106.61 75.26
minipixels.input.input.InputState.endUpdate src/minipixels/input/input.ml:102 3 1 1 0 0 56.47 77.19
minipixels.input.input.InputState.isDown src/minipixels/input/input.ml:108 3 1 1 0 0 71.7 76.47
minipixels.input.input.InputState.pressed src/minipixels/input/input.ml:114 3 1 1 0 0 71.7 76.47
minipixels.input.input.InputState.released src/minipixels/input/input.ml:120 3 1 1 0 0 71.7 76.47
minipixels.input.input.isDown src/minipixels/input/input.ml:399 5 4 2 1 1 144.95 69.35
minipixels.input.input.pressed src/minipixels/input/input.ml:422 5 4 2 1 1 180.94 68.68
minipixels.input.input.releaseAll src/minipixels/input/input.ml:366 6 4 3 2 1 195.04 66.59
minipixels.input.input.released src/minipixels/input/input.ml:431 5 4 2 1 1 180.94 68.68
minipixels.input.input.setActionState src/minipixels/input/input.ml:281 16 12 4 4 2 431.81 54.74
minipixels.input.input.setKeyboard src/minipixels/input/input.ml:354 9 7 1 0 0 343.38 61.29
minipixels.input.input.setMousePosition src/minipixels/input/input.ml:378 10 7 2 1 1 330.12 60.28
minipixels.input.input.syncLegacyAction src/minipixels/input/input.ml:264 12 20 11 10 1 660.82 55.23
minipixels.input.input.unbind src/minipixels/input/input.ml:251 8 7 2 1 1 253.82 63.19
minipixels.input.input.wasDown src/minipixels/input/input.ml:408 10 15 8 7 1 423.05 58.72
minipixels.inputDown src/minipixels.ml:590 1 1 1 0 0 64.53 87.19
minipixels.inputPressed src/minipixels.ml:594 1 1 1 0 0 64.53 87.19
minipixels.inputReleased src/minipixels.ml:598 1 1 1 0 0 64.53 87.19
minipixels.isGpuRenderer src/minipixels.ml:340 4 3 3 2 1 129.27 71.68
minipixels.lineRect src/minipixels.ml:519 1 1 1 0 0 114.22 85.46
minipixels.loadBytesFromPack src/minipixels.ml:433 1 1 1 0 0 64.53 87.19
minipixels.loadPng src/minipixels.ml:452 1 1 1 0 0 46.51 88.19
minipixels.loadPngFromPack src/minipixels.ml:449 1 1 1 0 0 64.53 87.19
minipixels.loadTextCatalogFromPack src/minipixels.ml:442 1 1 1 0 0 81.41 86.49
minipixels.localization src/minipixels.ml:445 1 1 1 0 0 46.51 88.19
minipixels.math.types.abs src/minipixels/math/types.ml:273 4 3 2 1 1 71.7 73.61
minipixels.math.types.alphaBlend src/minipixels/math/types.ml:405 13 14 4 3 1 938.26 54.35
minipixels.math.types.clamp src/minipixels/math/types.ml:265 5 5 3 2 1 118.03 69.84
minipixels.math.types.colorA src/minipixels/math/types.ml:377 3 1 1 0 0 39.86 78.25
minipixels.math.types.colorB src/minipixels/math/types.ml:371 3 1 1 0 0 57.36 77.14
minipixels.math.types.colorG src/minipixels/math/types.ml:365 3 1 1 0 0 57.36 77.14
minipixels.math.types.colorR src/minipixels/math/types.ml:359 3 1 1 0 0 57.36 77.14
minipixels.math.types.floorInt src/minipixels/math/types.ml:252 8 6 4 3 1 202.05 63.62
minipixels.math.types.Random.chance src/minipixels/math/types.ml:206 3 1 1 0 0 68.53 76.6
minipixels.math.types.Random.nextFloat src/minipixels/math/types.ml:200 3 1 1 0 0 33 78.82
minipixels.math.types.Random.nextInt src/minipixels/math/types.ml:195 3 1 1 0 0 62.27 76.89
minipixels.math.types.randomCreate src/minipixels/math/types.ml:445 5 5 3 2 1 143.06 69.26
minipixels.math.types.randomNextFloat src/minipixels/math/types.ml:474 3 1 1 0 0 46.51 77.78
minipixels.math.types.randomNextInt src/minipixels/math/types.ml:462 9 6 2 1 1 197.65 62.84
minipixels.math.types.randomStep src/minipixels/math/types.ml:453 4 2 1 0 0 112 72.38
minipixels.math.types.rect src/minipixels/math/types.ml:230 3 1 1 0 0 86.04 75.91
minipixels.math.types.rectangleContainsPoint src/minipixels/math/types.ml:317 3 1 1 0 0 175.76 73.74
minipixels.math.types.rectangleIntersects src/minipixels/math/types.ml:324 7 9 5 4 1 341.43 63.15
minipixels.math.types.recti src/minipixels/math/types.ml:239 3 1 1 0 0 133.22 74.58
minipixels.math.types.rgb src/minipixels/math/types.ml:353 3 1 1 0 0 78.87 76.18
minipixels.math.types.rgba src/minipixels/math/types.ml:337 11 13 5 4 1 580.48 57.26
minipixels.math.types.Timer.finished src/minipixels/math/types.ml:182 3 1 1 0 0 78.14 76.2
minipixels.math.types.Timer.reset src/minipixels/math/types.ml:171 3 1 1 0 0 36.54 78.52
minipixels.math.types.Timer.start src/minipixels/math/types.ml:160 4 2 1 0 0 57.36 74.42
minipixels.math.types.Timer.stop src/minipixels/math/types.ml:166 3 1 1 0 0 36.54 78.52
minipixels.math.types.Timer.update src/minipixels/math/types.ml:177 3 1 1 0 0 46.51 77.78
minipixels.math.types.timerCreate src/minipixels/math/types.ml:422 3 1 1 0 0 71.7 76.47
minipixels.math.types.timerUpdate src/minipixels/math/types.ml:429 13 9 4 4 2 311.78 57.7
minipixels.math.types.tintChannel src/minipixels/math/types.ml:384 3 1 1 0 0 74.01 76.37
minipixels.math.types.tintColor src/minipixels/math/types.ml:393 8 1 1 0 0 250.04 63.37
minipixels.math.types.transform2d src/minipixels/math/types.ml:246 3 1 1 0 0 69.19 76.57
minipixels.math.types.vec2 src/minipixels/math/types.ml:214 3 1 1 0 0 53.15 77.38
minipixels.math.types.vec2i src/minipixels/math/types.ml:221 3 1 1 0 0 53.15 77.38
minipixels.math.types.Vector2.operator *(Vector2,float) src/minipixels/math/types.ml:51 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator *(Vector2,int) src/minipixels/math/types.ml:43 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator +(Vector2,Vector2) src/minipixels/math/types.ml:20 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2.operator -(Vector2) src/minipixels/math/types.ml:35 3 1 1 0 0 108 75.22
minipixels.math.types.Vector2.operator -(Vector2,Vector2) src/minipixels/math/types.ml:28 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2.operator /(Vector2,float) src/minipixels/math/types.ml:67 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator /(Vector2,int) src/minipixels/math/types.ml:59 3 1 1 0 0 126.71 74.73
minipixels.math.types.vector2Add src/minipixels/math/types.ml:281 3 1 1 0 0 106.61 75.26
minipixels.math.types.Vector2Int.operator *(Vector2Int,int) src/minipixels/math/types.ml:99 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2Int.operator +(Vector2Int,Vector2Int) src/minipixels/math/types.ml:83 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2Int.operator -(Vector2Int,Vector2Int) src/minipixels/math/types.ml:91 3 1 1 0 0 140 74.43
minipixels.math.types.vector2Length src/minipixels/math/types.ml:301 3 1 1 0 0 144 74.34
minipixels.math.types.vector2Multiply src/minipixels/math/types.ml:295 3 1 1 0 0 91.38 75.73
minipixels.math.types.vector2Normalize src/minipixels/math/types.ml:307 5 4 2 1 1 181.52 68.67
minipixels.math.types.vector2Subtract src/minipixels/math/types.ml:288 3 1 1 0 0 106.61 75.26
minipixels.mixerPlayMusic src/minipixels.ml:683 1 1 1 0 0 62.27 87.3
minipixels.mixerPlaySfx src/minipixels.ml:679 1 1 1 0 0 62.27 87.3
minipixels.mixerStopAll src/minipixels.ml:686 1 1 1 0 0 44.38 88.33
minipixels.musicClip src/minipixels.ml:668 1 1 1 0 0 62.27 87.3
minipixels.openAssetPack src/minipixels.ml:422 1 1 1 0 0 46.51 88.19
minipixels.openProtectedAssetPack src/minipixels.ml:429 1 1 1 0 0 98.99 85.89
minipixels.platform.linux.clearKeyStates src/minipixels/platform/linux.ml:288 5 2 2 1 1 127.44 69.74
minipixels.platform.linux.clientHeight src/minipixels/platform/linux.ml:377 4 3 3 2 1 108 72.23
minipixels.platform.linux.clientWidth src/minipixels/platform/linux.ml:370 4 3 3 2 1 108 72.23
minipixels.platform.linux.close src/minipixels/platform/linux.ml:207 20 16 6 5 1 549.92 51.62
minipixels.platform.linux.convertNativeRegion src/minipixels/platform/linux.ml:480 14 10 3 3 2 661.37 54.85
minipixels.platform.linux.ensureImage src/minipixels/platform/linux.ml:469 9 9 5 4 1 666.81 58.74
minipixels.platform.linux.getI32 src/minipixels/platform/linux.ml:125 5 4 2 1 1 125.1 69.8
minipixels.platform.linux.getU32 src/minipixels/platform/linux.ml:120 3 1 1 0 0 203.13 73.3
minipixels.platform.linux.getU64 src/minipixels/platform/linux.ml:132 3 1 1 0 0 110.41 75.15
minipixels.platform.linux.hasFocus src/minipixels/platform/linux.ml:363 4 3 2 1 1 102.19 72.53
minipixels.platform.linux.isGpuRenderer src/minipixels/platform/linux.ml:237 3 1 1 0 0 27 79.44
minipixels.platform.linux.keysymToVirtualKey src/minipixels/platform/linux.ml:258 23 41 27 26 1 1316.62 44.82
minipixels.platform.linux.normalizeScaleMode src/minipixels/platform/linux.ml:144 5 5 4 3 1 121.11 69.63
minipixels.platform.linux.open src/minipixels/platform/linux.ml:158 40 33 6 5 1 2228.5 40.8
minipixels.platform.linux.pollEvents src/minipixels/platform/linux.ml:353 7 5 4 3 1 215.49 64.69
minipixels.platform.linux.present src/minipixels/platform/linux.ml:562 44 38 12 13 2 3025.68 38.16
minipixels.platform.linux.processEvent src/minipixels/platform/linux.ml:295 55 45 26 32 2 2672.16 34.54
minipixels.platform.linux.putU64 src/minipixels/platform/linux.ml:137 5 2 2 1 1 167.37 68.91
minipixels.platform.linux.rendererFallbackReason src/minipixels/platform/linux.ml:243 4 3 2 1 1 82.04 73.2
minipixels.platform.linux.rendererName src/minipixels/platform/linux.ml:230 4 3 2 1 1 82.04 73.2
minipixels.platform.linux.running src/minipixels/platform/linux.ml:200 4 2 1 0 0 30 76.39
minipixels.platform.linux.scaleGeneric src/minipixels/platform/linux.ml:524 34 33 10 12 3 1856.32 42.36
minipixels.platform.linux.scaleInteger src/minipixels/platform/linux.ml:496 26 19 9 12 3 1403.68 45.89
minipixels.platform.linux.seconds src/minipixels/platform/linux.ml:613 3 1 1 0 0 48.43 77.66
minipixels.platform.linux.setKeyState src/minipixels/platform/linux.ml:283 3 2 3 2 1 153.73 73.88
minipixels.platform.linux.setRenderSize src/minipixels/platform/linux.ml:386 10 10 6 5 1 383.78 59.29
minipixels.platform.linux.setTitle src/minipixels/platform/linux.ml:251 5 4 3 2 1 206.32 68.14
minipixels.platform.linux.sleepMs src/minipixels/platform/linux.ml:630 3 1 1 0 0 41.21 78.15
minipixels.platform.linux.ticks src/minipixels/platform/linux.ml:608 3 1 1 0 0 36 78.56
minipixels.platform.linux.updateInput src/minipixels/platform/linux.ml:435 4 2 1 0 0 59.79 74.29
minipixels.platform.linux.updateInputForWindow src/minipixels/platform/linux.ml:400 32 30 11 15 3 2096.21 42.43
minipixels.platform.linux.viewport src/minipixels/platform/linux.ml:441 26 24 6 9 3 976.73 47.39
minipixels.platform.linux.waitUntil src/minipixels/platform/linux.ml:619 8 7 3 3 2 277.33 62.79
minipixels.platform.windows.applyTextureFilter src/minipixels/platform/windows.ml:857 6 5 2 1 1 152.93 67.46
minipixels.platform.windows.clientHeight src/minipixels/platform/windows.ml:757 8 6 3 2 1 257.84 63.01
minipixels.platform.windows.clientWidth src/minipixels/platform/windows.ml:746 8 6 3 2 1 257.84 63.01
minipixels.platform.windows.close src/minipixels/platform/windows.ml:611 16 12 5 7 2 390.08 54.92
minipixels.platform.windows.consumeMouseWheel src/minipixels/platform/windows.ml:713 6 4 1 0 0 55.35 70.69
minipixels.platform.windows.createBitmapInfo src/minipixels/platform/windows.ml:506 14 12 1 0 0 518.06 55.86
minipixels.platform.windows.createPixelFormatDescriptor src/minipixels/platform/windows.ml:522 13 11 1 0 0 376.52 57.53
minipixels.platform.windows.ensureOpenGLTexture src/minipixels/platform/windows.ml:917 16 15 3 2 1 713.53 53.35
minipixels.platform.windows.getI32 src/minipixels/platform/windows.ml:443 5 4 2 1 1 125.1 69.8
minipixels.platform.windows.getU32 src/minipixels/platform/windows.ml:436 3 1 1 0 0 199.65 73.35
minipixels.platform.windows.getU64 src/minipixels/platform/windows.ml:452 3 1 1 0 0 110.41 75.15
minipixels.platform.windows.hasFocus src/minipixels/platform/windows.ml:674 4 3 2 1 1 102.19 72.53
minipixels.platform.windows.initOpenGL src/minipixels/platform/windows.ml:866 49 43 7 6 1 1817.74 39.37
minipixels.platform.windows.isGpuRenderer src/minipixels/platform/windows.ml:637 4 3 2 1 1 94.01 72.78
minipixels.platform.windows.keyDown src/minipixels/platform/windows.ml:668 3 1 1 0 0 46.51 77.78
minipixels.platform.windows.maxInt src/minipixels/platform/windows.ml:794 4 3 2 1 1 71.7 73.61
minipixels.platform.windows.minInt src/minipixels/platform/windows.ml:786 4 3 2 1 1 71.7 73.61
minipixels.platform.windows.nextPow2 src/minipixels/platform/windows.ml:538 7 4 2 1 1 87.57 67.7
minipixels.platform.windows.normalizeRenderer src/minipixels/platform/windows.ml:548 7 9 5 4 1 175.81 65.17
minipixels.platform.windows.normalizeScaleMode src/minipixels/platform/windows.ml:558 6 7 4 3 1 137.06 67.52
minipixels.platform.windows.open src/minipixels/platform/windows.ml:573 29 24 6 6 2 1635.83 44.79
minipixels.platform.windows.pollEvents src/minipixels/platform/windows.ml:659 6 3 2 1 1 140.65 67.72
minipixels.platform.windows.present src/minipixels/platform/windows.ml:1006 14 11 5 5 2 306.49 56.92
minipixels.platform.windows.presentGDI src/minipixels/platform/windows.ml:990 12 10 1 0 0 613.11 56.81
minipixels.platform.windows.presentOpenGL src/minipixels/platform/windows.ml:937 49 48 4 3 1 2159.47 39.24
minipixels.platform.windows.putI32 src/minipixels/platform/windows.ml:419 3 1 1 0 0 63.12 76.85
minipixels.platform.windows.putU32 src/minipixels/platform/windows.ml:407 7 6 2 1 1 347.11 63.51
minipixels.platform.windows.putU64 src/minipixels/platform/windows.ml:427 5 4 2 1 1 206.44 68.28
minipixels.platform.windows.registerWindowClass src/minipixels/platform/windows.ml:486 16 15 2 1 1 581.39 54.11
minipixels.platform.windows.rendererFallbackReason src/minipixels/platform/windows.ml:644 4 3 2 1 1 82.04 73.2
minipixels.platform.windows.rendererName src/minipixels/platform/windows.ml:630 4 3 2 1 1 82.04 73.2
minipixels.platform.windows.running src/minipixels/platform/windows.ml:604 4 2 1 0 0 30 76.39
minipixels.platform.windows.seconds src/minipixels/platform/windows.ml:1027 12 10 5 5 2 321.17 58.23
minipixels.platform.windows.setRenderSize src/minipixels/platform/windows.ml:770 12 12 6 5 1 445 57.11
minipixels.platform.windows.setTitle src/minipixels/platform/windows.ml:652 4 3 2 1 1 116.76 72.12
minipixels.platform.windows.sleepMs src/minipixels/platform/windows.ml:1057 3 1 1 0 0 30.88 79.03
minipixels.platform.windows.ticks src/minipixels/platform/windows.ml:1022 3 1 1 0 0 28.07 79.32
minipixels.platform.windows.updateInput src/minipixels/platform/windows.ml:707 4 2 1 0 0 59.79 74.29
minipixels.platform.windows.updateInputForWindow src/minipixels/platform/windows.ml:682 22 20 9 13 3 899.18 48.82
minipixels.platform.windows.updatePointerForWindow src/minipixels/platform/windows.ml:723 20 22 5 4 1 1237.23 49.29
minipixels.platform.windows.updateViewport src/minipixels/platform/windows.ml:801 37 34 9 10 2 1527.72 42.29
minipixels.platform.windows.viewportH src/minipixels/platform/windows.ml:853 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportW src/minipixels/platform/windows.ml:850 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportX src/minipixels/platform/windows.ml:844 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportY src/minipixels/platform/windows.ml:847 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.waitUntil src/minipixels/platform/windows.ml:1042 12 7 3 3 2 255.41 59.2
minipixels.platform.windows.wndProc src/minipixels/platform/windows.ml:461 23 20 7 7 2 624.02 49.78
minipixels.playAudio src/minipixels.ml:672 1 1 1 0 0 64.53 87.19
minipixels.playMusic src/minipixels.ml:644 1 1 1 0 0 44.38 88.33
minipixels.playMusicWithState src/minipixels.ml:656 1 1 1 0 0 62.27 87.3
minipixels.playSfx src/minipixels.ml:652 1 1 1 0 0 62.27 87.3
minipixels.playSound src/minipixels.ml:635 1 1 1 0 0 44.38 88.33
minipixels.playSoundLoop src/minipixels.ml:641 1 1 1 0 0 44.38 88.33
minipixels.playSoundSync src/minipixels.ml:638 1 1 1 0 0 44.38 88.33
minipixels.pointRect src/minipixels.ml:508 1 1 1 0 0 78.87 86.58
minipixels.popScene src/minipixels.ml:550 1 1 1 0 0 64.53 87.19
minipixels.pushScene src/minipixels.ml:547 1 1 1 0 0 81.41 86.49
minipixels.random src/minipixels.ml:373 1 1 1 0 0 46.51 88.19
minipixels.recti src/minipixels.ml:370 1 1 1 0 0 96.21 85.98
minipixels.rectRect src/minipixels.ml:512 1 1 1 0 0 62.27 87.3
minipixels.registerScene src/minipixels.ml:536 4 3 2 1 1 146.95 71.42
minipixels.rendererFallbackReason src/minipixels.ml:346 4 3 3 2 1 129.27 71.68
minipixels.renderSizeForClient src/minipixels.ml:239 27 28 12 15 2 1193.78 45.62
minipixels.renderTarget src/minipixels.ml:404 1 1 1 0 0 64.53 87.19
minipixels.renderToDesignX src/minipixels.ml:277 1 1 1 0 0 53.77 87.75
minipixels.renderToDesignY src/minipixels.ml:281 1 1 1 0 0 53.77 87.75
minipixels.rgb src/minipixels.ml:354 1 1 1 0 0 78.87 86.58
minipixels.rgba src/minipixels.ml:360 1 1 1 0 0 96.21 85.98
minipixels.run src/minipixels.ml:760 64 70 27 44 3 4480.54 31.4
minipixels.runHeadless src/minipixels.ml:726 27 31 13 16 2 1921.42 44.04
minipixels.saveCanvasPng src/minipixels.ml:456 1 1 1 0 0 109.39 85.59
minipixels.scene src/minipixels.ml:530 3 1 1 0 0 272.32 72.41
minipixels.scene.scene.callLifecycle src/minipixels/scene/scene.ml:176 3 2 2 1 1 109.39 75.05
minipixels.scene.scene.change src/minipixels/scene/scene.ml:256 19 20 6 5 1 948.29 50.45
minipixels.scene.scene.clear src/minipixels/scene/scene.ml:279 11 9 3 3 2 438.86 58.38
minipixels.scene.scene.create src/minipixels/scene/scene.ml:108 8 3 3 2 1 322.09 62.34
minipixels.scene.scene.current src/minipixels/scene/scene.ml:293 4 3 3 2 1 142.62 71.38
minipixels.scene.scene.ensureRegistryCapacity src/minipixels/scene/scene.ml:119 11 10 2 1 1 384.5 58.91
minipixels.scene.scene.ensureStackCapacity src/minipixels/scene/scene.ml:133 8 7 2 1 1 283.28 62.86
minipixels.scene.scene.enter src/minipixels/scene/scene.ml:183 3 2 2 1 1 108 75.09
minipixels.scene.scene.exitScene src/minipixels/scene/scene.ml:190 3 2 2 1 1 108 75.09
minipixels.scene.scene.find src/minipixels/scene/scene.ml:165 6 6 3 2 1 209.59 66.37
minipixels.scene.scene.pause src/minipixels/scene/scene.ml:197 3 2 2 1 1 108 75.09
minipixels.scene.scene.pop src/minipixels/scene/scene.ml:235 16 15 5 5 2 750.16 52.93
minipixels.scene.scene.push src/minipixels/scene/scene.ml:212 19 20 5 5 2 917.14 50.69
minipixels.scene.scene.register src/minipixels/scene/scene.ml:146 15 13 4 3 1 511.82 54.84
minipixels.scene.scene.renderStack src/minipixels/scene/scene.ml:312 16 14 9 12 3 741.4 52.43
minipixels.scene.scene.resume src/minipixels/scene/scene.ml:204 3 2 2 1 1 108 75.09
minipixels.scene.scene.scene src/minipixels/scene/scene.ml:102 3 1 1 0 0 285.4 72.26
minipixels.scene.scene.SceneStack.change src/minipixels/scene/scene.ml:64 3 1 1 0 0 101.58 75.41
minipixels.scene.scene.SceneStack.current src/minipixels/scene/scene.ml:82 3 1 1 0 0 56.47 77.19
minipixels.scene.scene.SceneStack.depth src/minipixels/scene/scene.ml:87 3 1 1 0 0 31.7 78.95
minipixels.scene.scene.SceneStack.pop src/minipixels/scene/scene.ml:77 3 1 1 0 0 83.76 75.99
minipixels.scene.scene.SceneStack.push src/minipixels/scene/scene.ml:71 3 1 1 0 0 101.58 75.41
minipixels.scene.scene.SceneStack.register src/minipixels/scene/scene.ml:57 3 1 1 0 0 86.04 75.91
minipixels.scene.scene.updateCurrent src/minipixels/scene/scene.ml:302 5 5 4 3 1 258.52 67.32
minipixels.setDesignResolution src/minipixels.ml:220 7 4 6 5 1 238.42 64.11
minipixels.setMaxFps src/minipixels.ml:317 7 5 4 4 2 175.69 65.31
minipixels.setMaxRenderPixels src/minipixels.ml:230 4 3 4 3 1 151.62 71.06
minipixels.setPauseWhenUnfocused src/minipixels.ml:327 4 3 2 1 1 104.25 72.47
minipixels.setRenderer src/minipixels.ml:157 4 3 2 1 1 89.86 72.92
minipixels.setScaleMode src/minipixels.ml:170 4 3 2 1 1 92 72.85
minipixels.setSmoothing src/minipixels.ml:310 4 3 2 1 1 92 72.85
minipixels.solidImage src/minipixels.ml:389 1 1 1 0 0 96.21 85.98
minipixels.spriteFromImage src/minipixels.ml:393 1 1 1 0 0 62.27 87.3
minipixels.spriteSheet src/minipixels.ml:400 1 1 1 0 0 114.22 85.46
minipixels.stopSound src/minipixels.ml:646 1 1 1 0 0 36 88.97
minipixels.syncRenderResolution src/minipixels.ml:284 21 22 7 6 1 1134.39 48.83
minipixels.textWidth src/minipixels.ml:632 1 1 1 0 0 62.27 87.3
minipixels.tileLayer src/minipixels.ml:497 1 1 1 0 0 175.14 84.16
minipixels.tilemap src/minipixels.ml:487 1 1 1 0 0 136 84.93
minipixels.tileMoveAndCollide src/minipixels.ml:503 1 1 1 0 0 98.99 85.89
minipixels.tileset src/minipixels.ml:479 1 1 1 0 0 68.11 87.03
minipixels.timer src/minipixels.ml:377 1 1 1 0 0 64.53 87.19
minipixels.tools.fsutil.bytesEqual src/minipixels/tools/fsutil.ml:65 9 10 7 7 2 408.63 59.96
minipixels.tools.fsutil.dirname src/minipixels/tools/fsutil.ml:41 8 8 3 2 1 343.13 62.14
minipixels.tools.fsutil.ensureDir src/minipixels/tools/fsutil.ml:52 9 9 7 7 2 329.71 60.61
minipixels.tools.fsutil.maxInt src/minipixels/tools/fsutil.ml:34 4 3 2 1 1 71.7 73.61
minipixels.tools.fsutil.mkdir src/minipixels/tools/fsutil.ml:22 4 3 2 1 1 124 71.94
minipixels.tools.fsutil.writeBytes src/minipixels/tools/fsutil.ml:78 12 13 7 7 2 625.13 55.94
minipixels.tools.fsutil.writeText src/minipixels/tools/fsutil.ml:94 11 11 6 6 2 498.57 57.59
minipixels.tools.generator.addError src/minipixels/tools/generator.ml:46 4 2 1 0 0 109.39 72.46
minipixels.tools.generator.addWarning src/minipixels/tools/generator.ml:39 3 1 1 0 0 85.11 75.94
minipixels.tools.generator.arrayField src/minipixels/tools/generator.ml:159 5 4 3 2 1 197.42 68.28
minipixels.tools.generator.assetHeight src/minipixels/tools/generator.ml:213 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.assetKind src/minipixels/tools/generator.ml:260 8 10 5 4 1 255.41 62.77
minipixels.tools.generator.assetLess src/minipixels/tools/generator.ml:112 13 13 5 6 2 544.36 55.87
minipixels.tools.generator.assetModule src/minipixels/tools/generator.ml:446 17 15 1 0 0 808.85 52.66
minipixels.tools.generator.assetPayload src/minipixels/tools/generator.ml:314 10 9 4 3 1 581.39 58.29
minipixels.tools.generator.assetsHeader src/minipixels/tools/generator.ml:421 21 19 1 0 0 665.86 51.25
minipixels.tools.generator.assetsModule src/minipixels/tools/generator.ml:500 31 23 10 15 3 1506.69 43.87
minipixels.tools.generator.assetWidth src/minipixels/tools/generator.ml:207 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.colorPart src/minipixels/tools/generator.ml:179 7 7 4 3 1 360 63.13
minipixels.tools.generator.defaultOutDir src/minipixels/tools/generator.ml:53 4 2 1 0 0 155.32 71.39
minipixels.tools.generator.emitCollectionCount src/minipixels/tools/generator.ml:644 14 11 2 1 1 569.45 55.44
minipixels.tools.generator.emitCollectionField src/minipixels/tools/generator.ml:665 20 15 4 6 3 890.57 50.43
minipixels.tools.generator.emitLevelScalar src/minipixels/tools/generator.ml:580 21 16 3 3 2 769.22 50.55
minipixels.tools.generator.emitTileData src/minipixels/tools/generator.ml:604 35 28 8 13 4 1924.87 42.24
minipixels.tools.generator.generate src/minipixels/tools/generator.ml:967 46 38 16 22 3 2345.74 37.98
minipixels.tools.generator.hasSheet src/minipixels/tools/generator.ml:390 3 1 1 0 0 70.31 76.52
minipixels.tools.generator.identifierBytes src/minipixels/tools/generator.ml:87 7 4 2 1 1 197.65 65.22
minipixels.tools.generator.identifierCode src/minipixels/tools/generator.ml:72 12 13 4 3 1 418.24 57.57
minipixels.tools.generator.integerDivide src/minipixels/tools/generator.ml:105 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.join src/minipixels/tools/generator.ml:98 3 1 1 0 0 64.53 76.79
minipixels.tools.generator.jsonPoint src/minipixels/tools/generator.ml:757 3 1 1 0 0 147.15 74.28
minipixels.tools.generator.jsonTrue src/minipixels/tools/generator.ml:724 3 1 1 0 0 96 75.58
minipixels.tools.generator.levelField src/minipixels/tools/generator.ml:560 3 1 1 0 0 69.19 76.57
minipixels.tools.generator.levelsModule src/minipixels/tools/generator.ml:873 73 68 8 10 3 4261.48 32.86
minipixels.tools.generator.levelsStubModule src/minipixels/tools/generator.ml:533 22 1 1 0 0 218.72 54.2
minipixels.tools.generator.loadJson src/minipixels/tools/generator.ml:950 13 9 3 2 1 360.55 57.39
minipixels.tools.generator.normalizeTiled src/minipixels/tools/generator.ml:765 104 80 35 113 8 6005.57 24.84
minipixels.tools.generator.numberField src/minipixels/tools/generator.ml:144 3 1 1 0 0 102.8 75.37
minipixels.tools.generator.objectField src/minipixels/tools/generator.ml:168 5 4 3 2 1 178.81 68.58
minipixels.tools.generator.pointField src/minipixels/tools/generator.ml:569 5 4 2 1 1 261.34 67.56
minipixels.tools.generator.printResult src/minipixels/tools/generator.ml:1016 19 11 6 7 2 507.8 52.35
minipixels.tools.generator.quote src/minipixels/tools/generator.ml:60 3 1 1 0 0 41.21 78.15
minipixels.tools.generator.quotePath src/minipixels/tools/generator.ml:66 3 1 1 0 0 79.95 76.13
minipixels.tools.generator.renderProceduralPixels src/minipixels/tools/generator.ml:219 38 31 16 37 4 2396.02 39.72
minipixels.tools.generator.result src/minipixels/tools/generator.ml:32 3 1 1 0 0 71.7 76.47
minipixels.tools.generator.runtimeAssetModule src/minipixels/tools/generator.ml:466 29 23 4 3 1 1482.07 45.36
minipixels.tools.generator.sheetHeight src/minipixels/tools/generator.ml:199 5 4 2 1 1 164.23 68.97
minipixels.tools.generator.sheetModule src/minipixels/tools/generator.ml:397 21 20 2 1 1 1167.28 49.41
minipixels.tools.generator.sheetWidth src/minipixels/tools/generator.ml:190 5 4 2 1 1 164.23 68.97
minipixels.tools.generator.sortedAssets src/minipixels/tools/generator.ml:128 11 8 4 6 3 423.93 58.35
minipixels.tools.generator.stringField src/minipixels/tools/generator.ml:152 3 1 1 0 0 102.8 75.37
minipixels.tools.generator.textCatalogPayload src/minipixels/tools/generator.ml:271 39 38 11 16 3 2246.27 40.35
minipixels.tools.generator.tiledLayerIsSolid src/minipixels/tools/generator.ml:730 5 4 5 4 1 299.56 66.74
minipixels.tools.generator.tiledNumber src/minipixels/tools/generator.ml:750 3 1 1 0 0 95.18 75.6
minipixels.tools.generator.tiledObjectKind src/minipixels/tools/generator.ml:738 7 8 4 3 1 389.72 62.89
minipixels.tools.generator.tiledProperty src/minipixels/tools/generator.ml:711 10 7 4 6 3 396.82 59.45
minipixels.tools.generator.validateLevels src/minipixels/tools/generator.ml:690 17 13 9 13 3 931.24 51.16
minipixels.tools.generator.writeAssetPack src/minipixels/tools/generator.ml:330 57 51 10 16 3 2662.74 36.37
minipixels.tools.json.advance src/minipixels/tools/json.ml:105 5 3 1 0 0 91.38 70.89
minipixels.tools.json.array src/minipixels/tools/json.ml:66 1 1 1 0 0 101.58 85.81
minipixels.tools.json.asBool src/minipixels/tools/json.ml:426 4 3 3 2 1 118.94 71.93
minipixels.tools.json.asNumber src/minipixels/tools/json.ml:418 4 3 3 2 1 118.94 71.93
minipixels.tools.json.asString src/minipixels/tools/json.ml:410 4 3 3 2 1 118.94 71.93
minipixels.tools.json.at src/minipixels/tools/json.ml:400 6 7 5 4 1 244.42 65.63
minipixels.tools.json.atEnd src/minipixels/tools/json.ml:92 3 1 1 0 0 64.53 76.79
minipixels.tools.json.bool src/minipixels/tools/json.ml:63 1 1 1 0 0 102.8 85.78
minipixels.tools.json.expect src/minipixels/tools/json.ml:164 8 5 2 1 1 178.38 64.27
minipixels.tools.json.get src/minipixels/tools/json.ml:380 9 10 6 6 2 380 60.31
minipixels.tools.json.has src/minipixels/tools/json.ml:393 3 1 1 0 0 77.71 76.22
minipixels.tools.json.isDigit src/minipixels/tools/json.ml:80 3 1 1 0 0 57.36 77.14
minipixels.tools.json.isHex src/minipixels/tools/json.ml:86 3 1 1 0 0 57.36 77.14
minipixels.tools.json.lenOf src/minipixels/tools/json.ml:433 6 7 4 3 1 224.01 66.03
minipixels.tools.json.lineCol src/minipixels/tools/json.ml:138 15 10 4 4 2 330.34 56.17
minipixels.tools.json.matchLiteral src/minipixels/tools/json.ml:221 7 7 3 2 1 302.61 63.79
minipixels.tools.json.null src/minipixels/tools/json.ml:54 1 1 1 0 0 98.99 85.89
minipixels.tools.json.number src/minipixels/tools/json.ml:60 1 1 1 0 0 102.8 85.78
minipixels.tools.json.object src/minipixels/tools/json.ml:70 1 1 1 0 0 108 85.63
minipixels.tools.json.parse src/minipixels/tools/json.ml:364 12 11 4 3 1 383.78 57.83
minipixels.tools.json.parseArrayValue src/minipixels/tools/json.ml:281 27 22 6 8 2 776.95 47.73
minipixels.tools.json.parseError src/minipixels/tools/json.ml:156 3 1 1 0 0 118.54 74.94
minipixels.tools.json.parseNumberValue src/minipixels/tools/json.ml:231 47 38 17 21 2 1648.01 38.71
minipixels.tools.json.parseObjectValue src/minipixels/tools/json.ml:311 34 31 8 12 2 1169.76 44.03
minipixels.tools.json.parser src/minipixels/tools/json.ml:74 3 1 1 0 0 64.53 76.79
minipixels.tools.json.parseStringValue src/minipixels/tools/json.ml:175 42 32 18 46 5 1553.02 39.82
minipixels.tools.json.parseValue src/minipixels/tools/json.ml:348 13 18 9 8 1 620.64 54.93
minipixels.tools.json.peek src/minipixels/tools/json.ml:98 4 3 2 1 1 104 72.47
minipixels.tools.json.setError src/minipixels/tools/json.ml:114 7 4 2 1 1 120.93 66.71
minipixels.tools.json.skipWhitespace src/minipixels/tools/json.ml:124 10 5 6 6 2 244.42 60.66
minipixels.tools.json.string src/minipixels/tools/json.ml:57 1 1 1 0 0 102.8 85.78
minipixels.tools.json.value src/minipixels/tools/json.ml:49 3 1 1 0 0 140.65 74.42
minipixels.tools.manifest.addError src/minipixels/tools/manifest.ml:50 3 1 1 0 0 85.11 75.94
minipixels.tools.manifest.addWarning src/minipixels/tools/manifest.ml:57 3 1 1 0 0 85.11 75.94
minipixels.tools.manifest.containsString src/minipixels/tools/manifest.ml:110 8 8 5 5 2 288.44 62.4
minipixels.tools.manifest.dirname src/minipixels/tools/manifest.ml:77 8 8 3 2 1 343.13 62.14
minipixels.tools.manifest.isValid src/minipixels/tools/manifest.ml:63 3 1 1 0 0 78.14 76.2
minipixels.tools.manifest.join src/minipixels/tools/manifest.ml:89 3 1 1 0 0 64.53 76.79
minipixels.tools.manifest.load src/minipixels/tools/manifest.ml:306 10 7 2 1 1 302.86 60.54
minipixels.tools.manifest.maxInt src/minipixels/tools/manifest.ml:70 4 3 2 1 1 71.7 73.61
minipixels.tools.manifest.newManifest src/minipixels/tools/manifest.ml:43 3 1 1 0 0 148.46 74.25
minipixels.tools.manifest.numberField src/minipixels/tools/manifest.ml:155 12 9 4 4 2 381.47 57.85
minipixels.tools.manifest.parseText src/minipixels/tools/manifest.ml:294 9 6 2 1 1 267.93 61.91
minipixels.tools.manifest.printReport src/minipixels/tools/manifest.ml:319 24 17 7 8 2 850.86 48.44
minipixels.tools.manifest.requireField src/minipixels/tools/manifest.ml:123 7 4 2 1 1 173.92 65.61
minipixels.tools.manifest.safeIdentifier src/minipixels/tools/manifest.ml:95 11 12 6 6 2 454 57.87
minipixels.tools.manifest.stringField src/minipixels/tools/manifest.ml:136 12 9 4 4 2 371.56 57.93
minipixels.tools.manifest.validateAsset src/minipixels/tools/manifest.ml:172 43 31 22 28 3 2225.03 37.97
minipixels.tools.manifest.validateAssets src/minipixels/tools/manifest.ml:219 14 12 5 4 1 528.54 55.26
minipixels.tools.manifest.validateLevels src/minipixels/tools/manifest.ml:237 13 10 5 4 1 493.31 56.17
minipixels.tools.manifest.validateRoot src/minipixels/tools/manifest.ml:254 32 29 10 9 1 1665.74 43.26
minipixels.unbindAction src/minipixels.ml:613 1 1 1 0 0 64.53 87.19
minipixels.unloadPackedAsset src/minipixels.ml:460 1 1 1 0 0 64.53 87.19
minipixels.useCpuRenderer src/minipixels.ml:166 1 1 1 0 0 46.51 88.19
minipixels.useFitScale src/minipixels.ml:179 1 1 1 0 0 46.51 88.19
minipixels.useFixedRenderResolution src/minipixels.ml:187 8 5 6 5 1 261.34 62.57
minipixels.useGpuRenderer src/minipixels.ml:163 1 1 1 0 0 46.51 88.19
minipixels.useIntegerScale src/minipixels.ml:182 1 1 1 0 0 46.51 88.19
minipixels.useNativeRenderResolution src/minipixels.ml:197 7 4 2 1 1 106.27 67.11
minipixels.useScaledRenderResolution src/minipixels.ml:208 7 4 4 3 1 192.72 65.03
minipixels.useStretchScale src/minipixels.ml:176 1 1 1 0 0 46.51 88.19
minipixels.vec2 src/minipixels.ml:364 1 1 1 0 0 62.27 87.3
minipixels.version src/minipixels.ml:153 1 1 1 0 0 22.46 90.4
minipixels.world.camera.Camera.clampToWorld src/minipixels/world/camera.ml:31 3 1 1 0 0 58.81 77.07
minipixels.world.camera.Camera.follow src/minipixels/world/camera.ml:38 3 1 1 0 0 91.38 75.73
minipixels.world.camera.Camera.worldToScreenX src/minipixels/world/camera.ml:44 3 1 1 0 0 43.19 78.01
minipixels.world.camera.Camera.worldToScreenY src/minipixels/world/camera.ml:50 3 1 1 0 0 43.19 78.01
minipixels.world.camera.clampToWorld src/minipixels/world/camera.ml:73 12 11 4 3 1 507.65 56.98
minipixels.world.camera.create src/minipixels/world/camera.ml:58 3 1 1 0 0 107.55 75.23
minipixels.world.camera.follow src/minipixels/world/camera.ml:90 5 3 1 0 0 167.59 69.04
minipixels.world.camera.parallaxOffset src/minipixels/world/camera.ml:100 3 1 1 0 0 150.12 74.22
minipixels.world.camera.setWorld src/minipixels/world/camera.ml:66 4 2 1 0 0 77.71 73.5
minipixels.world.entity.create src/minipixels/world/entity.ml:46 3 1 1 0 0 200.16 73.34
minipixels.world.tilemap.addLayer src/minipixels/world/tilemap.ml:110 12 11 4 5 2 495.42 57.05
minipixels.world.tilemap.create src/minipixels/world/tilemap.ml:90 3 1 1 0 0 148 74.26
minipixels.world.tilemap.draw src/minipixels/world/tilemap.ml:169 5 2 2 1 1 169.46 68.88
minipixels.world.tilemap.drawLayer src/minipixels/world/tilemap.ml:137 27 24 6 11 4 1792.21 45.19
minipixels.world.tilemap.isSolidAtPixel src/minipixels/world/tilemap.ml:194 3 1 1 0 0 155.32 74.11
minipixels.world.tilemap.isSolidAtTile src/minipixels/world/tilemap.ml:179 10 8 8 10 3 415.47 58.77
minipixels.world.tilemap.layer src/minipixels/world/tilemap.ml:103 3 1 1 0 0 160 74.02
minipixels.world.tilemap.moveAndCollide src/minipixels/world/tilemap.ml:203 100 76 25 56 5 3840.46 27.91
minipixels.world.tilemap.tileAt src/minipixels/world/tilemap.ml:127 4 3 5 4 1 233.83 69.61
minipixels.world.tilemap.TileMap.addLayer src/minipixels/world/tilemap.ml:78 3 1 1 0 0 74.01 76.37
minipixels.world.tilemap.TileMap.draw src/minipixels/world/tilemap.ml:58 3 1 1 0 0 91.38 75.73
minipixels.world.tilemap.TileMap.isSolidAtPixel src/minipixels/world/tilemap.ml:72 3 1 1 0 0 91.38 75.73
minipixels.world.tilemap.TileMap.isSolidAtTile src/minipixels/world/tilemap.ml:65 3 1 1 0 0 91.38 75.73

Code duplication

A clone group is an exact sequence of 6 normalized, contiguous code lines found more than once. Comments and formatting whitespace are ignored. Duplicated-line totals count overlapping windows only once.

Found 13 clone group(s). At most 13 groups are shown.

Clone 1 — 2 occurrences
xx = xx + 1
end while
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
if spr . image . opaque == false or mt . colorA ( tint ) < 255 then c . imageView . opaque = false end if
Clone 2 — 2 occurrences
end while
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
if spr . image . opaque == false or mt . colorA ( tint ) < 255 then c . imageView . opaque = false end if
c . spriteCount = c . spriteCount + 1
Clone 3 — 2 occurrences
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
if spr . image . opaque == false or mt . colorA ( tint ) < 255 then c . imageView . opaque = false end if
c . spriteCount = c . spriteCount + 1
c . drawCalls = c . drawCalls + 1
Clone 4 — 2 occurrences
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
if spr . image . opaque == false or mt . colorA ( tint ) < 255 then c . imageView . opaque = false end if
c . spriteCount = c . spriteCount + 1
c . drawCalls = c . drawCalls + 1
end function
Clone 5 — 2 occurrences
if w is not Window or width < 1 or height < 1 then return false end if
width = mt . floorInt ( width )
height = mt . floorInt ( height )
if w . logicalWidth == width and w . logicalHeight == height then return false end if
w . logicalWidth = width
w . logicalHeight = height
Clone 6 — 2 occurrences
return
end if
if input . actionCount > 0 then
for slot = 0 to input . actionCount - 1
primary = input . primaryKeys [ slot ]
secondary = input . secondaryKeys [ slot ]
Clone 7 — 2 occurrences
end if
if input . actionCount > 0 then
for slot = 0 to input . actionCount - 1
primary = input . primaryKeys [ slot ]
secondary = input . secondaryKeys [ slot ]
held = false
Clone 8 — 2 occurrences
function dirname ( path )
lastSlash = str . lastIndexOf ( path , "\\" )
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
Clone 9 — 2 occurrences
lastSlash = str . lastIndexOf ( path , "\\" )
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
return str . substr ( path , 0 , last )
Clone 10 — 2 occurrences
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
return str . substr ( path , 0 , last )
end function
Clone 11 — 2 occurrences
end for
code . appendLine ( "  return " + fallback )
code . appendLine ( "end function" )
code . appendLine ( "" )
return code . toString ( )
end function
Clone 12 — 2 occurrences
return
end if
p . pos = p . pos + 1
skipWhitespace ( p )
end while
return
Clone 13 — 2 occurrences
end if
p . pos = p . pos + 1
skipWhitespace ( p )
end while
return
end function

Definitions

  • Cognitive complexity: decision complexity weighted by nesting; logical and/or operators add one.
  • Cyclomatic complexity: one plus decisions from conditions, loops, switch cases, and logical and/or operators.
  • Documentation coverage: percentage of documented API summaries, parameter contracts, fields, constants, globals, and enum variants. Empty categories report 100% and do not affect the overall ratio.
  • Halstead metrics: operators and operands are counted from MiniLang lexical tokens. Estimated defects are volume divided by 3,000.
  • Maintainability index: normalized 0–100 index based on Halstead volume, cyclomatic complexity, and source lines. Project MI is source-line weighted across files.
  • SLOC: non-empty lines containing MiniLang tokens after conditional preprocessing; comment-only lines are excluded.