MCPcopy Create free account
hub / github.com/BishopFox/aimap / construct

Method construct

presentation/aimap_slides.py:1094–1156  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1092
1093class DemoSlide(Scene):
1094 def construct(self):
1095 # Background grid
1096 grid_lines = VGroup()
1097 for x in np.arange(-8, 8.5, 1):
1098 grid_lines.add(Line(
1099 [x, -5, 0], [x, 5, 0],
1100 stroke_color=BORDER, stroke_width=0.3, stroke_opacity=0.15
1101 ))
1102 for y in np.arange(-5, 5.5, 1):
1103 grid_lines.add(Line(
1104 [-8, y, 0], [8, y, 0],
1105 stroke_color=BORDER, stroke_width=0.3, stroke_opacity=0.15
1106 ))
1107 self.add(grid_lines)
1108
1109 # "DEMO" text
1110 demo = Text("LIVE DEMO", font="SF Mono", font_size=64, color=ACCENT_CYAN, weight=BOLD)
1111 demo.shift(UP * 1.5)
1112
1113 # Glow effect
1114 demo_glow = demo.copy().set_opacity(0.15).scale(1.05)
1115
1116 self.play(FadeIn(demo_glow), Write(demo, run_time=1.5))
1117
1118 # Feature highlights
1119 features = VGroup(
1120 section_badge("3D Globe", ACCENT_BLUE),
1121 section_badge("Shodan Search", ACCENT_PURPLE),
1122 section_badge("Live Attack", SEVERITY_CRITICAL),
1123 section_badge("Range Monitor", ACCENT_GREEN),
1124 section_badge("Risk Scoring", ACCENT_AMBER),
1125 ).arrange(RIGHT, buff=0.3)
1126 features.shift(DOWN * 0.5)
1127
1128 self.play(LaggedStart(
1129 *[FadeIn(f, scale=0.8) for f in features],
1130 lag_ratio=0.1
1131 ), run_time=1.5)
1132
1133 # Bottom text
1134 bottom = VGroup(
1135 Text("AIMap", font="SF Mono", font_size=24, color=TEXT_PRIMARY, weight=BOLD),
1136 Text("Securing the Agentic Era", font="SF Mono", font_size=16, color=TEXT_MUTED),
1137 ).arrange(DOWN, buff=0.2)
1138 bottom.shift(DOWN * 2.5)
1139
1140 self.play(FadeIn(bottom, shift=UP * 0.3))
1141
1142 # Pulse the demo text
1143 self.play(
1144 demo.animate.scale(1.05),
1145 demo_glow.animate.scale(1.1).set_opacity(0.25),
1146 rate_func=there_and_back,
1147 run_time=1.5
1148 )
1149 self.play(
1150 demo.animate.scale(1.05),
1151 demo_glow.animate.scale(1.1).set_opacity(0.25),

Callers

nothing calls this directly

Calls 1

section_badgeFunction · 0.85

Tested by

no test coverage detected