geometor.etc.video

Visual coordinate diagram generators and dual-format (9:16 + 16:9) video compiler for ETC centers.

Each per-center video focuses strictly on a single center Xn and its relations across 5 visual facets:

  1. PRIMARY VIEW & ENUNCIATION (Thumbnail & Slide 1) — Exact primary construction SVG from the web page

  2. HOMOGENEOUS COORDINATES OF Xn (Slide 2) — Trilinear distances (alpha : beta : gamma) and Barycentric sub-areas (u : v : w)

  3. INCIDENT CENTRAL LINES (Slide 3) — Primary SVG with .show-lines active, revealing collinear centers and central lines

  4. FUNCTIONAL RELATIONS & CONJUGATES (Slide 4) — Explorer-styled model plotting Xn with its conjugates and homothetic partners

  5. FOUR REFERENCE TRIANGLES (Slide 5) — 2x2 invariance showcase across Heronian, Right, Kepler, and Kimberling triangles

Functions

generate_symbolic_coordinates_svg([num, title, ...]) → str

Generate an interactive 1000x760 SVG for Act 2 showing exact symbolic Trilinear struts and Barycentric sub-areas.

generate_center_coordinates_svg(num, title, ...[, ...]) → str

Generate a 1000x760 SVG showing both Trilinear struts and Barycentric sub-areas for Xn.

generate_central_lines_svg(primary_svg_text) → str

Return the primary web-page SVG with .show-lines active so all incident central lines and collinear centers appear.

generate_symbolic_relations_svg([num, partner_nums, ...]) → str

Build and render an exact symbolic Explorer-styled Model SVG plotting X_num and its conjugate/homothetic partners.

generate_relations_svg(num, partner_nums[, reg, preset]) → str

Build and render an Explorer-styled Model SVG plotting X_n and its functional-relation partner centers.

generate_trilinear_picture_svg(num, title, ...) → str

Generate a 1000x760 SVG demonstrating Trilinear Coordinates (alpha : beta : gamma) in pictures.

generate_barycentric_picture_svg(num, title, ...) → str

Generate a 1000x760 SVG demonstrating Barycentric Coordinates (u : v : w = a*alpha : b*beta : c*gamma) in pictures.

generate_coordinate_trio_svg(ctx, reg) → str

Generate a 1000x760 SVG comparing X1 (Incenter), X2 (Centroid), and X6 (Symmedian) in pictures.

generate_symbolic_four_triangles_svg([num]) → str

Generate an interactive 1000x760 2x2 SVG showing X_num across the 4 Canonical Exact Symbolic Reference Triangles.

generate_four_triangles_svg(num[, regs_by_preset]) → str

Generate a 1000x760 2x2 SVG showing X_n across the 4 Canonical Reference Triangles.

generate_construction_picture_svg(num, title, ...[, mode]) → str

Generate a 1000x760 SVG in screen coordinates showing the geometric construction of Xn.

ensure_center_incident_lines_in_model(model, num, reg) → None

Ensure every {a, b, ...} central line referenced in Xnum's s3 clause is present as an .incident line in model.

format_unified_script(scenes, raw_script_text) → str

Format a complete unified script.txt with top-level metadata, [bell:...] acts, [screen:...] directives, zoom: specs, and say: narration.

compile_scenes_from_script(script_text, svgs_dir) → list[dict[str, Any]]

Compile a unified script.txt (containing [bell:...], [screen:...], zoom:, active:, section:, row:, text:, just:, say:) into scenes.json structure.

build_center_video_package(num, target_center, ...) → tuple[str, list[dict[str, Any]], list[int]]

Build (script_text, scenes_list, partner_nums) for center Xnum using the unified script format with [screen:...] and zoom: specs.

Module Contents

geometor.etc.video.generate_symbolic_coordinates_svg(num: int = 1, title: str = '', trilinear_formula: str = '1 : 1 : 1', barycentric_formula: str = 'a : b : c', preset: str = 'heronian') → str

Generate an interactive 1000x760 SVG for Act 2 showing exact symbolic Trilinear struts and Barycentric sub-areas.

geometor.etc.video.generate_center_coordinates_svg(num: int, title: str, trilinear_formula: str, barycentric_formula: str, ctx: geometor.etc.construct.TriangleContext | None = None, reg: geometor.etc.construct.CenterRegistry | None = None, preset: str = 'heronian') → str

Generate a 1000x760 SVG showing both Trilinear struts and Barycentric sub-areas for Xn.

geometor.etc.video.generate_central_lines_svg(primary_svg_text: str) → str

Return the primary web-page SVG with .show-lines active so all incident central lines and collinear centers appear.

geometor.etc.video.generate_symbolic_relations_svg(num: int = 1, partner_nums: list[int] | None = None, preset: str = 'heronian') → str

Build and render an exact symbolic Explorer-styled Model SVG plotting X_num and its conjugate/homothetic partners.

geometor.etc.video.generate_relations_svg(num: int, partner_nums: list[int], reg: geometor.etc.construct.CenterRegistry | None = None, preset: str = 'heronian') → str

Build and render an Explorer-styled Model SVG plotting X_n and its functional-relation partner centers.

geometor.etc.video.generate_trilinear_picture_svg(num: int, title: str, trilinear_formula: str, ctx: geometor.etc.construct.TriangleContext, reg: geometor.etc.construct.CenterRegistry) → str

Generate a 1000x760 SVG demonstrating Trilinear Coordinates (alpha : beta : gamma) in pictures.

geometor.etc.video.generate_barycentric_picture_svg(num: int, title: str, barycentric_formula: str, ctx: geometor.etc.construct.TriangleContext, reg: geometor.etc.construct.CenterRegistry) → str

Generate a 1000x760 SVG demonstrating Barycentric Coordinates (u : v : w = a*alpha : b*beta : c*gamma) in pictures.

geometor.etc.video.generate_coordinate_trio_svg(ctx: geometor.etc.construct.TriangleContext, reg: geometor.etc.construct.CenterRegistry) → str

Generate a 1000x760 SVG comparing X1 (Incenter), X2 (Centroid), and X6 (Symmedian) in pictures.

geometor.etc.video.generate_symbolic_four_triangles_svg(num: int = 1) → str

Generate an interactive 1000x760 2x2 SVG showing X_num across the 4 Canonical Exact Symbolic Reference Triangles.

geometor.etc.video.generate_four_triangles_svg(num: int, regs_by_preset: dict[str, tuple[str, geometor.etc.construct.TriangleContext, geometor.etc.construct.CenterRegistry]] | None = None) → str

Generate a 1000x760 2x2 SVG showing X_n across the 4 Canonical Reference Triangles.

geometor.etc.video.generate_construction_picture_svg(num: int, title: str, enunciation: str, ctx: geometor.etc.construct.TriangleContext, reg: geometor.etc.construct.CenterRegistry, mode: str = 'identity') → str

Generate a 1000x760 SVG in screen coordinates showing the geometric construction of Xn.

geometor.etc.video.ensure_center_incident_lines_in_model(model: geometor.model.Model, num: int, reg: geometor.etc.construct.CenterRegistry) → None

Ensure every {a, b, …} central line referenced in Xnum’s s3 clause is present as an .incident line in model.

geometor.etc.video.format_unified_script(scenes: list[dict[str, Any]], raw_script_text: str) → str

Format a complete unified script.txt with top-level metadata, [bell:…] acts, [screen:…] directives, zoom: specs, and say: narration.

geometor.etc.video.compile_scenes_from_script(script_text: str, svgs_dir: pathlib.Path) → list[dict[str, Any]]

Compile a unified script.txt (containing [bell:…], [screen:…], zoom:, active:, section:, row:, text:, just:, say:) into scenes.json structure.

geometor.etc.video.build_center_video_package(num: int, target_center: dict[str, Any], svgs_dir: pathlib.Path, acute_reg: geometor.etc.construct.CenterRegistry, kimberling_reg: geometor.etc.construct.CenterRegistry) → tuple[str, list[dict[str, Any]], list[int]]

Build (script_text, scenes_list, partner_nums) for center Xnum using the unified script format with [screen:…] and zoom: specs.