Code for the manim-generated scenes used in 3blue1brown videos
This report presents the forensic synthetic code analysis of 3b1b/videos, a Python project with 10,958 GitHub stars. SynthScan v2.0 examined 521,143 lines of code across 450 source files, recording 2536 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 5.3 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 2536 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | _2023/SoME3/main.py | 273 | CODE | |
| MEDIUM | _2023/SoME3/main.py | 274 | CODE | |
| MEDIUM | _2023/SoME3/main.py | 278 | CODE | |
| MEDIUM | _2023/optics_puzzles/adding_waves.py | 87 | CODE | |
| MEDIUM | _2023/optics_puzzles/adding_waves.py | 101 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 461 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 462 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 463 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 464 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 466 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 467 | CODE | |
| MEDIUM | _2023/gauss_int/supplements.py | 468 | CODE | |
| MEDIUM | _2024/transformers/attention.py | 1377 | CODE | |
| MEDIUM | _2024/transformers/attention.py | 1378 | CODE | |
| MEDIUM | _2024/transformers/attention.py | 1379 | CODE | |
| MEDIUM | _2024/transformers/attention.py | 1382 | CODE | |
| MEDIUM | _2024/transformers/mlp.py | 2435 | CODE | |
| MEDIUM | _2024/transformers/mlp.py | 2436 | CODE | |
| MEDIUM | _2024/transformers/mlp.py | 2437 | CODE | |
| MEDIUM | _2024/transformers/mlp.py | 2438 | CODE | |
| MEDIUM | _2024/transformers/chm.py | 1716 | CODE | |
| MEDIUM | _2024/holograms/diffraction.py | 1563 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 635 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 636 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 640 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 643 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 878 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 879 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 880 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 881 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 883 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 884 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 885 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 886 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 887 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 889 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 896 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 899 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 900 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 902 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 918 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 921 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 922 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 923 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 924 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 925 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 927 | CODE | |
| MEDIUM | _2025/laplace/supplements.py | 931 | CODE | |
| MEDIUM | _2025/laplace/integration.py | 1351 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 570 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 571 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 575 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 578 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 813 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 814 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 815 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 816 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 818 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 819 | CODE | |
| MEDIUM | _2025/laplace/prequel_equations.py | 820 | CODE | |
| 511 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2015/moser_main.py | 56 | def generate_intersection_dots(self): | CODE |
| LOW | _2015/moser_main.py | 69 | def chop_lines_at_intersection_points(self): | CODE |
| LOW | _2015/inventing_math.py | 1787 | def draw_remaining_rectangles(self, rectangles): | STRING |
| LOW | _2015/music_and_measure.py | 355 | def continuously_vary_frequency(self, top_vib_1, top_vib_2): | CODE |
| LOW | _2015/music_and_measure.py | 1180 | def assign_intervals_to_rationals(self): | STRING |
| LOW | _2015/ka_playgrounds/jacobian_animations.py | 72 | def capture_mobjects_in_camera(self, mobjects, **kwargs): | CODE |
| LOW | _2023/optics_puzzles/wave_machine.py | 122 | def get_rotation_arrow_animations(self, x_value=6): | CODE |
| LOW | _2023/optics_puzzles/e_field.py | 133 | def place_force_word_on_arrow(word, arrow): | STRING |
| LOW | _2023/optics_puzzles/bending_waves.py | 684 | def highlight_intersection_points(self, line_group, color, arrow_direction=LEFT): | CODE |
| LOW | _2023/optics_puzzles/adding_waves.py | 699 | def get_wave_change_animations(self, wave_group, parameter, value): | CODE |
| LOW | _2023/optics_puzzles/objects.py | 74 | def acceleration_from_position(pos_func, time, dt=1e-3): | CODE |
| LOW | _2023/optics_puzzles/driven_harmonic_oscillator.py | 598 | def udpate_full_field_opacity(ff): | STRING |
| LOW | _2023/optics_puzzles/cylinder.py | 651 | def get_continuous_wave_trail(self, axes, line, opacity=0.4): | CODE |
| LOW | _2023/clt/main.py | 69 | def get_die_distribution_chart( | CODE |
| LOW | _2023/clt/main.py | 541 | def get_sum_distribution_plot(self, n, **kwargs): | CODE |
| LOW | _2023/clt/main.py | 614 | def get_mean_and_standard_deviation(self, distribution): | CODE |
| LOW | _2023/clt/main.py | 2559 | def get_top_distribution_plot( | CODE |
| LOW | _2023/convolutions2/continuous.py | 712 | def get_normal_parameter_labels(self, plot, mean, sigma, font_size=18, color=GREY_A): | CODE |
| LOW | _2023/convolutions2/continuous.py | 1467 | def highlight_several_regions(self, highlighted_xs=None, s=0, reference=None): | CODE |
| LOW | _2024/linalg/eigenlecture.py | 239 | def get_vector_field_and_stream_lines( | STRING |
| LOW | _2024/inscribed_rect/loops.py | 821 | def animate_to_rectangle_with_angle( | CODE |
| LOW | _2024/transformers/attention.py | 1343 | def bake_mobject_into_vector_entries(self, mob, vector, path_arc=30 * DEGREES, group_type=None): | CODE |
| LOW | _2024/transformers/attention.py | 2165 | def get_next_word_distribution(): | CODE |
| LOW | _2024/transformers/attention.py | 2535 | def get_top_vect_to_low_vect_path(self, top_vect, low_vect, color, top_buff=0.1, low_buff=0.2, bezier_factor=1.5): | CODE |
| LOW | _2024/transformers/generation.py | 277 | def animate_prediction_ouptut(self, machine, cur_str): | CODE |
| LOW | _2024/transformers/generation.py | 403 | def reposition_transformer_drawing(self, machine): | CODE |
| LOW | _2024/transformers/auto_regression.py | 233 | def animate_prediction_ouptut(self, machine, cur_str): | CODE |
| LOW | _2024/transformers/network_flow.py | 162 | def show_initial_text_embedding(self, word_scale_factor=0.6, bump_first=False): | CODE |
| LOW | _2024/transformers/network_flow.py | 263 | def progress_through_attention_block( | CODE |
| LOW | _2024/transformers/network_flow.py | 356 | def play_simple_attention_animation(self, layer, run_time=5, added_anims=[]): | CODE |
| LOW | _2024/transformers/network_flow.py | 387 | def progress_through_mlp_block( | CODE |
| LOW | _2024/transformers/network_flow.py | 1228 | def progress_through_mlp_block(self, *args, **kwargs): | CODE |
| LOW | _2024/transformers/network_flow.py | 1249 | def show_initial_text_embedding(self, word_scale_factor=0.6, bump_first=False): | CODE |
| LOW | _2024/transformers/chm.py | 1093 | def bar_group_change_animation(self, bar_group, new_value): | STRING |
| LOW | _2024/transformers/helpers.py | 97 | def show_matrix_vector_product(scene, matrix, vector, buff=0.25, x_max=999, fix_in_frame=False): | CODE |
| LOW | _2024/transformers/helpers.py | 132 | def matrix_row_vector_product(scene, row, vector, entry, to_fade, fix_in_frame=False): | CODE |
| LOW | _2024/transformers/helpers.py | 162 | def get_full_matrix_vector_product( | CODE |
| LOW | _2024/transformers/helpers.py | 221 | def show_symbolic_matrix_vector_product(scene, matrix, vector, rhs, run_time_per_row=0.75): | CODE |
| LOW | _2024/transformers/helpers.py | 258 | def get_data_modifying_matrix_anims( | CODE |
| LOW | _2024/transformers/old_auto_regression.py | 233 | def animate_prediction_ouptut(self, machine, cur_str): | CODE |
| LOW | _2024/puzzles/max_rand.py | 50 | def get_random_var_label_group(axis, label_name, color=GREY, initial_value=None, font_size=36, direction=None): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 146 | def get_random_cube_from_stack(self): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 207 | def animate_out_with_rotation(self, cube, color=TEAL, run_time=2): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2353 | def get_all_intersection_dots(self, line_pairs): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2359 | def get_all_external_tangents(self, circles, **kwargs): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2400 | def manipulate_circle_positions(self, circles): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2484 | def get_center_of_similarity_dots(self, shapes): | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2840 | def get_random_angle_data_histogram(self, dim, n_vects=1000000, step_size=1): | STRING |
| LOW | _2024/puzzles/added_dimension.py | 2964 | def get_uniform_random_indicator(self, value_tracker, n): | STRING |
| LOW | _2024/holograms/diffraction.py | 349 | def get_point_sources_from_wall(self, wall, z=0): | CODE |
| LOW | _2024/holograms/diffraction.py | 4172 | def get_point_source_locations(self): | CODE |
| LOW | _2024/holograms/diffraction.py | 4185 | def color_dot_cloud_by_diffraction(self, dot_cloud): | CODE |
| LOW | _2025/guest_videos/misc_animations.py | 108 | def get_training_data_examples(n_samples, min_scale=0.2): | STRING |
| LOW | _2025/laplace/main_equations.py | 343 | def get_s_plane_and_exp_pieces(self, s_samples): | CODE |
| LOW | _2025/colliding_blocks_v2/blocks.py | 49 | def get_scaled_block_velocities(self): | CODE |
| LOW | _2025/grover/qc_supplements.py | 5 | def get_quantum_computer_symbol(height=2, color=GREY_B, symbol_tex=R"|Q\rangle", symbol_color=TEAL): | CODE |
| LOW | _2025/grover/qc_supplements.py | 21 | def get_classical_computer_symbol(height=2, color=GREY_B, symbol_tex=R"\mathcal{C}", symbol_color=YELLOW): | CODE |
| LOW | _2025/cosmic_distance/planets.py | 2586 | def show_time_series_measurments(self, earth, mars, sun, earth_glow, n_measurements=5, rotation_time=2): | CODE |
| LOW | _2025/cosmic_distance/planets.py | 2620 | def show_earth_location_with_intersection(self, earth, mars, sun): | CODE |
| LOW | _2025/cosmic_distance/planets.py | 2643 | def get_rigid_lines_from_mars(self, mars, ghost_earths): | CODE |
| 887 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | manim_imports_ext.py | 1 | CODE | |
| LOW | manim_imports_ext.py | 2 | CODE | |
| LOW | manim_imports_ext.py | 4 | CODE | |
| LOW | manim_imports_ext.py | 5 | CODE | |
| LOW | manim_imports_ext.py | 6 | CODE | |
| LOW | manim_imports_ext.py | 7 | CODE | |
| LOW | manim_imports_ext.py | 8 | CODE | |
| LOW | manim_imports_ext.py | 9 | CODE | |
| LOW | manim_imports_ext.py | 10 | CODE | |
| LOW | manim_imports_ext.py | 11 | CODE | |
| LOW | manim_imports_ext.py | 12 | CODE | |
| LOW | manim_imports_ext.py | 13 | CODE | |
| LOW | manim_imports_ext.py | 14 | CODE | |
| LOW | _2015/complex_multiplication_article.py | 6 | CODE | |
| LOW | _2015/complex_multiplication_article.py | 8 | CODE | |
| LOW | _2015/three_dimensions.py | 6 | CODE | |
| LOW | _2015/inventing_math_images.py | 4 | CODE | |
| LOW | _2015/inventing_math_images.py | 5 | CODE | |
| LOW | _2015/inventing_math_images.py | 6 | CODE | |
| LOW | _2015/inventing_math_images.py | 7 | CODE | |
| LOW | _2015/inventing_math_images.py | 9 | CODE | |
| LOW | _2015/inventing_math_images.py | 10 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 7 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 10 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 11 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 12 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 13 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 16 | CODE | |
| LOW | _2015/eulers_characteristic_formula.py | 17 | CODE | |
| LOW | _2015/pythagorean_proof.py | 4 | CODE | |
| LOW | _2015/pythagorean_proof.py | 6 | CODE | |
| LOW | _2015/moser_main.py | 5 | CODE | |
| LOW | _2015/moser_main.py | 8 | CODE | |
| LOW | _2015/moser_main.py | 9 | CODE | |
| LOW | _2015/moser_main.py | 11 | CODE | |
| LOW | _2015/moser_main.py | 12 | CODE | |
| LOW | _2015/matrix_as_transform_2d.py | 4 | CODE | |
| LOW | _2015/matrix_as_transform_2d.py | 6 | CODE | |
| LOW | _2015/matrix_as_transform_2d.py | 8 | CODE | |
| LOW | _2015/music_and_measure.py | 7 | CODE | |
| LOW | _2015/music_and_measure.py | 10 | CODE | |
| LOW | _2015/tau_poem.py | 7 | CODE | |
| LOW | _2015/tau_poem.py | 9 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 6 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 7 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 10 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 11 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 12 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 13 | CODE | |
| LOW | _2015/playground_counting_in_binary.py | 14 | CODE | |
| LOW | _2015/counting_in_binary.py | 7 | CODE | |
| LOW | _2015/counting_in_binary.py | 9 | CODE | |
| LOW | _2015/moser_intro.py | 6 | CODE | |
| LOW | _2015/moser_intro.py | 9 | CODE | |
| LOW | _2015/generate_logo.py | 1 | CODE | |
| LOW | _2015/ka_playgrounds/circuits.py | 1 | CODE | |
| LOW | _2015/ka_playgrounds/parametric_curves.py | 3 | CODE | |
| LOW | _2015/ka_playgrounds/transform_article.py | 1 | CODE | |
| LOW | _2015/ka_playgrounds/jacobian_animations.py | 2 | CODE | |
| LOW | _2015/ka_playgrounds/jacobian_animations.py | 4 | CODE | |
| 660 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2015/inventing_math.py | 281 | for element in group | COMMENT |
| LOW | _2015/inventing_math.py | 301 | # # text.scale(1.5).to_edge(LEFT).shift(UP).set_color("white") | COMMENT |
| LOW | _2015/inventing_math.py | 321 | # define = OldTexText([ | COMMENT |
| LOW | _2015/moser_intro.py | 261 | # logo_to_circle().write_to_movie("moser/LogoToCircle") | COMMENT |
| LOW | _2015/ka_playgrounds/circuits.py | 161 | Transform(ohms[10], ohms[8]), | COMMENT |
| LOW | _2015/ka_playgrounds/circuits.py | 181 | # LongResistor(pos[3][0], pos[5][0]), | COMMENT |
| LOW | _2023/optics_puzzles/slowing_waves_insert_embed.py | 741 | wave.stop_clock() | COMMENT |
| LOW | _2023/clt/wordy_scenes.py | 601 | lag_ratio=0.2 | COMMENT |
| LOW | _2023/gauss_int/supplements.py | 1 | from manim_imports_ext import * | COMMENT |
| LOW | _2024/transformers/network_flow.py | 1 | import torch | COMMENT |
| LOW | _2024/transformers/network_flow.py | 61 | COMMENT | |
| LOW | _2024/transformers/supplements.py | 861 | LaggedStartMap(VFadeIn, self.pi_creatures), | COMMENT |
| LOW | _2022/wordle/scenes.py | 3801 | return result | COMMENT |
| LOW | _2022/wordle/scenes.py | 3821 | # | COMMENT |
| LOW | outside_videos/analysis.py | 321 | lines.add(line) | COMMENT |
| LOW | _2016/patreon.py | 321 | self.play(ShowCreation( | COMMENT |
| LOW | _2016/eola/chapter7.py | 641 | self.play(*list(map(FadeOut, [ | COMMENT |
| LOW | _2016/eola/chapter7.py | 1701 | ] | COMMENT |
| LOW | _2016/eola/chapter10.py | 1741 | # faders.append(to_fade) | COMMENT |
| LOW | _2018/quaternions.py | 5101 | # z = np.cos(u) | COMMENT |
| LOW | _2018/quat3d.py | 281 | COMMENT | |
| LOW | _2018/quat3d.py | 301 | # FadeInFromDown(hn_context), | COMMENT |
| LOW | _2018/quat3d.py | 321 | # lambda m: (m, UP), | COMMENT |
| LOW | _2018/div_curl.py | 1 | COMMENT | |
| LOW | _2018/WindingNumber.py | 2161 | COMMENT | |
| LOW | _2018/WindingNumber.py | 2641 | # TODO: Brouwer's fixed point theorem visuals | COMMENT |
| LOW | _2018/fourier.py | 361 | self.play(MoveToTarget(sum_lines, path_arc = np.pi/4)) | COMMENT |
| LOW | _2018/eop/combinations.py | 601 | # class Introduction(Scene): | COMMENT |
| LOW | _2018/eop/combinations.py | 621 | COMMENT | |
| LOW | _2018/eop/combinations.py | 641 | COMMENT | |
| LOW | _2018/eop/combinations.py | 661 | # VGroup(n_choose_k, point, point).copy(), | COMMENT |
| LOW | _2018/eop/combinations.py | 681 | COMMENT | |
| LOW | _2018/eop/combinations.py | 701 | # s.start_terms.add(term[0]) | COMMENT |
| LOW | _2018/eop/combinations.py | 721 | # self.wait() | COMMENT |
| LOW | _2018/eop/combinations.py | 741 | # top_stacks.add_to_back(point) | COMMENT |
| LOW | _2018/eop/combinations.py | 761 | # ) | COMMENT |
| LOW | _2018/eop/combinations.py | 781 | # self.choose_k() | COMMENT |
| LOW | _2018/eop/combinations.py | 801 | # numbers = VGroup(*[ | COMMENT |
| LOW | _2018/eop/combinations.py | 821 | # n, k = self.n, self.k | COMMENT |
| LOW | _2018/eop/combinations.py | 841 | # ]).arrange(DOWN, buff = MED_SMALL_BUFF) | COMMENT |
| LOW | _2018/eop/combinations.py | 861 | # VGroup(*subset).set_color(WHITE) | COMMENT |
| LOW | _2018/eop/combinations.py | 881 | # for stack, new_k in (top_stack, k-1), (bottom_stack, k): | COMMENT |
| LOW | _2018/eop/combinations.py | 901 | # subset_mobs.target.shift(LEFT) | COMMENT |
| LOW | _2018/eop/combinations.py | 921 | # formula = OldTex( | COMMENT |
| LOW | _2018/eop/combinations.py | 941 | # "What is the \\\\ probability of a flush?" | COMMENT |
| LOW | _2018/eop/combinations.py | 1301 | # class GroupsOf6(Scene): | COMMENT |
| LOW | _2018/eop/combinations.py | 1321 | # number = OldTex(str(len(stack))) | COMMENT |
| LOW | _2018/eop/combinations.py | 1341 | # class GroupsOf7(Scene): | COMMENT |
| LOW | _2018/eop/combinations.py | 2121 | bars.add(bars_copy[-1]) | COMMENT |
| LOW | _2018/eop/chapter1/brick_row_scene.py | 561 | COMMENT | |
| LOW | _2018/eop/chapter1/brick_row_scene.py | 581 | COMMENT | |
| LOW | _2018/eop/chapter1/brick_row_scene.py | 601 | # self.play( | COMMENT |
| LOW | _2018/eop/chapter1/prob_dist_visuals.py | 81 | COMMENT | |
| LOW | _2018/eop/chapter1/prob_dist_visuals.py | 101 | # new_brace_sun = Brace(new_sun_rect, DOWN) | COMMENT |
| LOW | _2018/eop/chapter1/prob_dist_visuals.py | 121 | # tracked_mobject = p_sun_label, | COMMENT |
| LOW | _2018/basel/basel.py | 1721 | # repeat: | COMMENT |
| LOW | _2018/basel/basel.py | 2581 | # we assume that the scene contains: | COMMENT |
| LOW | _2018/basel/basel.py | 3361 | COMMENT | |
| LOW | _2018/basel/basel2.py | 41 | (lambda r: maxint * (cutoff/(r/scale+cutoff))**exponent) | COMMENT |
| LOW | _2018/basel/basel2.py | 3261 | def construction_step(n, show_steps = True, run_time = 1, | COMMENT |
| 29 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2015/moser_main.py | 556 | CODE | |
| LOW | _2015/music_and_measure.py | 1114 | CODE | |
| LOW | _2015/counting_in_binary.py | 335 | CODE | |
| LOW | _2024/transformers/attention.py | 1851 | CODE | |
| LOW | _2024/transformers/attention.py | 3504 | CODE | |
| LOW | _2024/transformers/ml_basics.py | 1815 | CODE | |
| LOW | _2025/grover/clarification.py | 67 | CODE | |
| LOW | _2025/grover/clarification.py | 80 | CODE | |
| LOW | _2025/grover/state_vectors.py | 1472 | CODE | |
| LOW | _2022/piano/midi_animations.py | 42 | CODE | |
| LOW | _2022/borwein/main.py | 60 | CODE | |
| LOW | _2022/borwein/main.py | 1012 | CODE | |
| LOW | _2022/wordle/footnote.py | 655 | CODE | |
| LOW | _2022/wordle/scenes.py | 515 | CODE | |
| LOW | _2022/puzzles/subsets.py | 863 | CODE | |
| LOW | _2022/puzzles/subsets.py | 1549 | CODE | |
| LOW | _2022/puzzles/subsets.py | 3739 | CODE | |
| LOW | _2022/galois/art_supplements.py | 5 | CODE | |
| LOW | _2022/convolutions/discrete.py | 104 | CODE | |
| LOW | _2022/convolutions/discrete.py | 1863 | CODE | |
| LOW | _2022/convolutions/discrete.py | 2195 | CODE | |
| LOW | _2016/hanoi.py | 76 | CODE | |
| LOW | _2016/wcat.py | 1460 | CODE | |
| LOW | _2016/brachistochrone/curves.py | 61 | CODE | |
| LOW | _2016/eola/chapter4.py | 961 | CODE | |
| LOW | _2018/quaternions.py | 23 | CODE | |
| LOW | _2018/quaternions.py | 4265 | CODE | |
| LOW | _2018/WindingNumber_G.py | 353 | CODE | |
| LOW | _2018/cramer.py | 578 | CODE | |
| LOW | _2018/div_curl.py | 100 | CODE | |
| LOW | _2018/div_curl.py | 103 | CODE | |
| LOW | _2018/eop/pascal.py | 224 | CODE | |
| LOW | _2018/eop/bayes.py | 1197 | CODE | |
| LOW | _2018/eop/combinations.py | 1013 | CODE | |
| LOW | _2018/eop/combinations.py | 1124 | CODE | |
| LOW | _2018/eop/combinations.py | 1369 | CODE | |
| LOW | _2018/eop/combinations.py | 1484 | CODE | |
| LOW | _2018/eop/combinations.py | 1621 | CODE | |
| LOW | _2018/eop/reusables/histograms.py | 78 | CODE | |
| LOW | _2018/eop/reusables/coin_flip_tree.py | 43 | CODE | |
| LOW | _2018/eop/chapter2/permutation_grid.py | 43 | CODE | |
| LOW | _2020/chess.py | 4677 | CODE | |
| LOW | _2020/monster.py | 3723 | CODE | |
| LOW | _2020/covid.py | 455 | CODE | |
| LOW | _2020/hamming.py | 5163 | CODE | |
| LOW | _2020/hamming.py | 5499 | CODE | |
| LOW | _2020/hamming.py | 6166 | CODE | |
| LOW | _2020/sir.py | 348 | CODE | |
| LOW | _2020/18S191/diffusion.py | 17 | CODE | |
| LOW | _2020/18S191/diffusion.py | 93 | CODE | |
| LOW | _2021/newton_fractal.py | 2758 | CODE | |
| LOW | _2021/newton_fractal.py | 3169 | CODE | |
| LOW | _2019/moduli.py | 877 | CODE | |
| LOW | _2019/spirals.py | 120 | CODE | |
| LOW | _2019/spirals.py | 2799 | CODE | |
| LOW | _2019/clacks/solution2/mirror_scenes.py | 597 | CODE | |
| LOW | _2019/diffyq/part3/temperature_graphs.py | 605 | CODE | |
| LOW | _2019/diffyq/part1/staging.py | 2350 | CODE | |
| LOW | _2019/diffyq/part1/staging.py | 2721 | CODE | |
| LOW | _2019/diffyq/part1/staging.py | 2949 | CODE | |
| 19 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2023/optics_puzzles/wave_machine.py | 5 | CODE | |
| LOW | _2023/optics_puzzles/bending_waves.py | 6 | CODE | |
| LOW | _2023/optics_puzzles/bending_waves.py | 624 | CODE | |
| LOW | _2023/optics_puzzles/adding_waves.py | 530 | CODE | |
| LOW | _2023/optics_puzzles/adding_waves.py | 697 | CODE | |
| LOW | _2023/optics_puzzles/objects.py | 30 | CODE | |
| LOW | _2023/optics_puzzles/objects.py | 145 | CODE | |
| LOW | _2023/optics_puzzles/objects.py | 273 | CODE | |
| LOW | _2023/optics_puzzles/objects.py | 392 | CODE | |
| LOW | _2023/optics_puzzles/driven_harmonic_oscillator.py | 8 | CODE | |
| LOW | _2023/gauss_int/integral.py | 315 | CODE | |
| LOW | _2024/linalg/eigenlecture.py | 239 | CODE | |
| LOW | _2024/inscribed_rect/helpers.py | 184 | CODE | |
| LOW | _2024/transformers/attention.py | 2080 | CODE | |
| LOW | _2024/transformers/generation.py | 70 | CODE | |
| LOW | _2024/transformers/generation.py | 207 | CODE | |
| LOW | _2024/transformers/generation.py | 950 | CODE | |
| LOW | _2024/transformers/auto_regression.py | 163 | CODE | |
| LOW | _2024/transformers/embedding.py | 53 | CODE | |
| LOW | _2024/transformers/embedding.py | 2227 | CODE | |
| LOW | _2024/transformers/network_flow.py | 129 | CODE | |
| LOW | _2024/transformers/network_flow.py | 387 | CODE | |
| LOW | _2024/transformers/mlp.py | 2581 | CODE | |
| LOW | _2024/transformers/helpers.py | 162 | CODE | |
| LOW | _2024/transformers/helpers.py | 397 | CODE | |
| LOW | _2024/transformers/helpers.py | 472 | CODE | |
| LOW | _2024/transformers/helpers.py | 525 | CODE | |
| LOW | _2024/transformers/helpers.py | 656 | CODE | |
| LOW | _2024/transformers/helpers.py | 769 | CODE | |
| LOW | _2024/transformers/old_auto_regression.py | 163 | CODE | |
| LOW | _2024/holograms/diffraction.py | 44 | CODE | |
| LOW | _2024/holograms/diffraction.py | 3441 | CODE | |
| LOW | _2025/laplace/shm.py | 12 | CODE | |
| LOW | _2025/laplace/integration.py | 10 | CODE | |
| LOW | _2025/colliding_blocks_v2/blocks.py | 1045 | CODE | |
| LOW | _2025/grover/qc_supplements.py | 18 | CODE | |
| LOW | _2025/grover/qc_supplements.py | 50 | CODE | |
| LOW | _2025/grover/polarization.py | 347 | CODE | |
| LOW | _2022/piano/wav_to_midi.py | 245 | CODE | |
| LOW | _2022/wordle/simulations.py | 767 | CODE | |
| LOW | _2022/convolutions/discrete.py | 1535 | CODE | |
| LOW | _2018/alt_calc.py | 268 | CODE | |
| LOW | _2018/fourier.py | 534 | CODE | |
| LOW | _2018/wallis.py | 72 | CODE | |
| LOW | _2020/ctracing.py | 429 | CODE | |
| LOW | _2020/med_test.py | 5584 | CODE | |
| LOW | _2020/beta/beta1.py | 1155 | CODE | |
| LOW | _2021/newton_fractal.py | 885 | CODE | |
| LOW | _2021/newton_fractal.py | 915 | CODE | |
| LOW | _2021/newton_fractal.py | 1393 | CODE | |
| LOW | _2021/holomorphic_dynamics.py | 2916 | CODE | |
| LOW | _2021/matrix_exp.py | 27 | CODE | |
| LOW | _2019/spirals.py | 33 | CODE | |
| LOW | _2019/windmill.py | 1816 | CODE | |
| LOW | _2019/clacks/solution2/mirror_scenes.py | 318 | CODE | |
| LOW | _2019/clacks/solution2/wordy_scenes.py | 143 | CODE | |
| LOW | _2019/bayes/part1.py | 3558 | CODE | |
| LOW | _2019/bayes/part1.py | 3989 | CODE | |
| LOW | _2026/spheres_talk/random_puzzles.py | 5 | CODE | |
| LOW | _2026/spheres_talk/random_puzzles.py | 569 | CODE | |
| 9 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | _2023/clt/main.py | 39 | # Create a list of rectangles arranged side by side, | COMMENT |
| MEDIUM | _2023/clt/main.py | 2838 | # Define the sum | COMMENT |
| MEDIUM | _2025/laplace/main_equations.py | 1040 | # Create the graph | COMMENT |
| MEDIUM | _2022/visual_proofs/lies.py | 176 | # Create the sphere | COMMENT |
| MEDIUM | _2018/cramer.py | 19 | # Create a new Matrix mobject with copies of these entries | COMMENT |
| MEDIUM | _2018/WindingNumber.py | 486 | # This function is specified by a list of (x, y, z) tuples, | STRING |
| MEDIUM | _2020/beta/beta1.py | 1405 | # Create a stockpile of new rows | COMMENT |
| MEDIUM | _2026/hairy_ball/spheres.py | 26 | # Define the golden angle | COMMENT |
| MEDIUM | _2026/hairy_ball/spheres.py | 36 | # Define the golden angle increment | COMMENT |
| MEDIUM | _2026/print_gallery/conformal_maps.py | 31 | # Create the imaginary axis | COMMENT |
| MEDIUM | _2026/print_gallery/conformal_maps.py | 70 | # Create the rest of the complex plane | COMMENT |
| MEDIUM | _2026/print_gallery/misc_scenes.py | 202 | # Create a unit plane | STRING |
| MEDIUM | _2026/print_gallery/misc_scenes.py | 582 | # Create a right angle symbol | STRING |
| MEDIUM | custom/deprecated.py | 1 | # This file contains functions and classes which have been used in old | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | _2018/uncertainty.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| HIGH | _2018/WindingNumber.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| HIGH | _2018/basel/basel.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| HIGH | _2018/basel/basel2.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| HIGH | _2017/waves.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| HIGH | _2017/nn/part1.py | 0 | warning: this file makes use of continualanimation, which has since been deprecated | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2025/laplace/exponentials.py | 701 | # Set s to 2i, then add vectors | COMMENT |
| LOW | _2025/cosmic_distance/supplements2.py | 175 | # Increment clock | COMMENT |
| LOW | _2025/cosmic_distance/part2.py | 175 | # Increment clock | COMMENT |
| LOW | _2018/uncertainty.py | 195 | #Check if reflection is happening | COMMENT |
| LOW | _2018/uncertainty.py | 210 | #Check if done | COMMENT |
| LOW | _2021/matrix_exp.py | 580 | # Increment input | COMMENT |
| LOW | _2021/matrix_exp.py | 6394 | # Increment input | COMMENT |
| LOW | _2019/hyperdarts.py | 1295 | # Set one to 0.5 | COMMENT |
| LOW | _2026/print_gallery/exponential.py | 2618 | self.wait() # Set longer to interact with in a recording | CODE |
| LOW | sublime_custom_commands/manim_plugins.py | 110 | # Check if it matches IPython prompt pattern: "In [123]:" or similar | COMMENT |
| LOW | sublime_custom_commands/manim_plugins.py | 164 | # Check if we should reload instead of run fresh | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2024/inscribed_rect/loops.py | 2947 | except Exception: | CODE |
| LOW | _2024/transformers/generation.py | 392 | except Exception as e: | CODE |
| LOW | _2024/transformers/auto_regression.py | 348 | except Exception as e: | CODE |
| LOW | _2024/transformers/old_auto_regression.py | 348 | except Exception as e: | CODE |
| LOW | _2024/puzzles/added_dimension.py | 2397 | except Exception: | CODE |
| MEDIUM | _2024/puzzles/added_dimension.py | 2391 | def get_intersection(self, line1, line2): | CODE |
| LOW | _2022/wordle/scenes.py | 4099 | except Exception: | CODE |
| LOW | outside_videos/name_animation.py | 157 | except Exception as inst: | CODE |
| MEDIUM | _2018/WindingNumber.py | 497 | print("Error in plane_func_by_wind_spec embiggen!") | STRING |
| LOW | _2020/hamming.py | 1177 | except Exception: | CODE |
| LOW | _2021/newton_fractal.py | 2958 | except Exception: | STRING |
| LOW | _2021/newton_fractal.py | 4925 | except Exception: | STRING |
| LOW | _2021/holomorphic_dynamics.py | 815 | except Exception: | CODE |
| LOW | custom/drawings.py | 299 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | _2020/beta/beta1.py | 628 | fake_data = data[10:] | CODE |
| LOW | _2020/beta/beta1.py | 655 | fd_rect = SurroundingRectangle(VGroup(fake_data, underlines[10:])) | CODE |
| LOW | _2020/beta/beta1.py | 733 | fake_data, | CODE |
| LOW | _2020/beta/beta1.py | 760 | fake_data = data[-2:] | CODE |
| LOW | _2020/beta/beta1.py | 762 | fd_rect.replace(fake_data, stretch=True) | CODE |
| LOW | _2020/beta/beta1.py | 784 | Write(fake_data), | CODE |
| LOW | _2020/beta/beta1.py | 834 | fake_data, underlines, | CODE |
| LOW | _2020/beta/beta1.py | 862 | fake_data = data[-2:] | CODE |
| LOW | _2020/beta/beta1.py | 888 | Write(fake_data) | CODE |
| LOW | _2020/beta/beta1.py | 894 | FadeOut(fake_data) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | _2018/pi_day.py | 824 | "\\frac{1}{0}", "\\text{ is undefined}" | CODE |
| HIGH | _2017/eoc/chapter7.py | 900 | Write(undefined) | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | _2018/div_curl.py | 13 | # the stream lines. Certainly while developing, things were not | COMMENT |
| MEDIUM | _2026/print_gallery/conformal_maps.py | 148 | # using this trick a lot... not sure how to take care of z indexing in a more robust way. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | _2019/hyperdarts.py | 1657 | # line 2 scaffold | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | once_useful_constructs/dict_shenanigans.py | 19 | The purpose of this function is to ensure that all | STRING |