Skip to content

mylinehub/creature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎬 mathlab-mylinehub-creature

A modular ManimGL-based animation system to build and control a reusable MYLINEHUB mascot β€” designed for education, storytelling, and telecom/AI training visuals.


🧠 What this project really is

This is not just a character.

It is a layered animation architecture where:

Parts β†’ Rig β†’ Pose β†’ Action β†’ Scene

Each layer adds more intelligence and reuse.


🎯 Core Goals

  • Build a reusable animated mascot system
  • Keep clean separation of concerns
  • Enable fast scene creation
  • Make animations consistent + scalable
  • Support teaching visuals (math, telecom, AI)

🧩 System Architecture

πŸ”· High-level flow

[ config ] β†’ [ parts ] β†’ [ rigs ] β†’ [ poses ] β†’ [ actions ] β†’ [ scenes ]
Layer Responsibility
config Colors, sizes, defaults
parts Raw shapes (eyes, body, hat…)
rigs Attach + control parts
poses Static expressions
actions Motion (blink, wave, walk)
scenes Final animation output

πŸ—οΈ Folder Structure (Explained)

config/
core/
creature/
props/
scenes/
docs/
assets/

βš™οΈ config/

Defines visual rules

File Purpose
colors.py All colors used globally
sizes.py Dimensions & proportions
defaults.py Default positions & scaling

πŸ‘‰ This ensures no hardcoding inside parts


🧠 core/

Reusable low-level helpers

File Purpose
geometry.py Shape math
anchors.py Alignment points
layout.py Position helpers
motion.py Animation helpers
naming.py Consistent naming

πŸ‘‰ This is your engine layer


🧍 creature/

Main character system

πŸ”Ή parts/

Smallest visual units

Part Meaning
body_m.py M-shaped body
eyes.py Eye system
nose.py Nose
mouth.py Expressions
hat.py Identity/branding
arms.py Movement
legs.py Movement

πŸ‘‰ These are dumb objects (no intelligence)


πŸ”Ή rigs/

Control systems

Rig Role
face_rig.py Controls eyes, mouth
arm_rig.py Controls arms
leg_rig.py Controls walking
body_rig.py Whole-body coordination

πŸ‘‰ Rigs = connect + control parts


πŸ”Ή poses/

Static states

Pose Example
neutral_pose.py Default
happy_pose.py Smile
thinking_pose.py Thinking
teacher_pose.py Teaching

πŸ‘‰ Pose = "freeze frame" of character


πŸ”Ή actions/

Time-based animations

Action Meaning
blink_action.py Eye blink
wave_action.py Hand wave
walk_action.py Movement
point_action.py Teaching gesture

πŸ‘‰ Action = Pose + Motion over time


πŸ§ͺ scenes/

Final output

πŸ”Ή tests/

Used for development

Scene Purpose
test_body_scene.py Check body
test_face_scene.py Check face
test_actions_scene.py Check animation

🎭 character/

Story-level scenes

  • mascot_intro_scene.py
  • mascot_wave_scene.py
  • mascot_teach_scene.py

πŸ‘‰ These combine multiple actions


πŸ“˜ lessons/

Educational scenes

  • vectors_intro_scene.py
  • matrix_intro_scene.py

πŸ‘‰ This is where real teaching happens


🧰 props/

External objects

Prop Usage
pointer_stick.py Teaching
math_board.py Explanations
formula_card.py Visual math
axis_plane.py Coordinate systems

πŸ“‚ assets/

  • svg β†’ vector graphics
  • refs β†’ design references

πŸ“š docs/

Design thinking

  • project_plan.md
  • animation_notes.md
  • creature_design_notes.md

🧬 How Everything Connects

body + eyes + mouth β†’ face_rig
face_rig + arms β†’ body_rig
body_rig β†’ pose
pose + motion β†’ action
action β†’ scene

πŸ§ͺ Example Build Flow

Step 1 β€” Create parts

eyes = Eyes()
body = BodyM()

Step 2 β€” Attach rig

rig = FaceRig(eyes, mouth)

Step 3 β€” Apply pose

pose = HappyPose(rig)

Step 4 β€” Animate

self.play(WaveAction(rig))

⚑ Why this architecture matters

Without this:

❌ everything becomes hardcoded ❌ animations become unmanageable ❌ reuse becomes impossible

With this:

βœ… modular βœ… scalable βœ… production-ready βœ… clean mental model


πŸš€ Future Expansion

  • Physics-based motion
  • Lip-sync system
  • Emotion engine
  • Scene templates
  • Multi-character interaction

πŸ§‘β€πŸ’» How to run

manimgl scenes/tests/test_body_scene.py TestBodyScene

🎯 Philosophy

Build once. Animate infinitely.

This system is designed so that:

  • one character β†’ many scenes
  • one action β†’ many contexts
  • one system β†’ infinite reuse

πŸ”₯ Final Insight

This is not just animation.

This is:

  • visual storytelling engine
  • teaching system
  • brand identity layer

About

Mylinehub creature build for making teaching videos.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages