� Garfield Pose Retargeter: Project Zenith
This plan details a 20-Day Launch Sprint to create a professional 2D animation pose-to-rig re-
targeting tool, followed by an iterative Phase V for advanced feature integration.
Status � Ready for Release
Target Launch End of Phase IV (Day 20)
Major Update (Phase V) Post-Launch (Day 21+)
Tool Type Python Application (PySide/PyQt) + Moho (Anime Studio) Lua Script
Core Goal Create an open-source, industry-ready tool for rapid 2D animation pose-to-rig
� Tech Stack & Dependencies
• Front-End/Annotation: Python (PySide6 or PyQt6), Pillow.
• Core Logic/IK: Pure Python (numpy recommended).
• ML/Data Handling: Python (PyTorch or TensorFlow), COCO API (for data format standard-
ization).
• Moho Integration: Lua Script (.lua).
� Project Timeline (20-Day Launch Sprint)
Dura-
Phase Focus Deliverable
tion
Rigging, data con-
tracts (JSON), and
I 5 Days Verified Lua/Python Bridge
fail-safe communica-
tion.
Inverse Kinematics
(IK) Solver, bounds
II 5 Days Headless IK Solver CLI
checking, perspective
logic.
User Interface (UI),
data labeling work-
III 5 Days Fully Functional Annotation Tool
flow, keypoint persis-
tence.
Training the initial
keypoint model,
IV 5 Days V1.0 Release Candidate
cleanup, documenta-
tion, licensing.
Continued on next page
1
Dura-
Phase Focus Deliverable
tion
Post-Launch: Adding
Itera- character outline to
V V1.1 Advanced Retargeter
tive the dataset and IK
system.
� Detailed Task Breakdown (Daily Sprints)
Phase I: Foundation & Communication (Days 1–5)
Goal: Establish the robust, error-checked pipeline between Python and Moho.
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Moho Rig Setup & Con-
fig. Create the final Rig can be manually posed
Garfield IK rig. Define correctly. rig_config.json Standardized Specifi-
1
all 20 keypoint targets. is complete and loaded by a cation
Store static data in separate Python script.
rig_config.json.
Python JSON Writer &
Error Check. Create
data_export.py function JSON file is created, and at-
to write the pose so- tempting to write to a pro- Data Contract &
2
lution JSON. Implement tected path raises a clean Safety
try...except for I/O er- error message.
rors and schema valida-
tion.
Moho Lua Bridge
(Reader). Write Lua script runs in Moho,
load_pose.lua. Im- loads a successful JSON,
3 plement robust file and clearly logs a mes- Exception Handling
reading, focusing on sage if the file is missing or
non-blocking error contains invalid data.
checks.
Moho Lua Bridge (Re-
targeting). Implement
Load a successful JSON.
the logic to apply the
Garfield’s pose and per- Integration Effi-
4 JSON data: set all bone
spective in Moho update ciency
angles and trigger the
instantly and correctly.
perspective switch layer
ID.
2
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Calibration & Perspec-
Full Round Trip Test: In-
tive Rules. Implement
put a Moho pose → get
a simple Forward Kine-
FK coordinates → input to
5 matics (FK) function in Core Accuracy
solve → load result in Moho.
Python. Define the 5
Must match the starting
heuristic rules for per-
pose within tolerance.
spective ID selection.
Phase II: Core Engine & Solver (Days 6–10)
Goal: Build the accurate, reliable mathematical engine.
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
2-Link IK Solver (Limb).
Implement the Law of
Boundary Test: Test with a
Cosines-based 2-link
target 1% outside the reach Mathematical Ro-
6 IK for a single limb in
radius (must error) and 1% bustness
ik_solver.py. Include
inside (must succeed).
checks for unreachable
coordinates.
Multi-Limb Integration
& Cleanup. Generalize
Speed Test: Solves a ran-
the 2-link solver to han-
7 dom full-body pose in under Performance
dle all four main limbs
50ms.
(arms, legs). Refactor for
numpy efficiency.
Perspective Determina-
tion. Write the function Blind Test: Process 50 pre-
that analyzes the 20 key- labeled images. Accuracy
8 Heuristic Reliability
points and determines must be > 95% for perspec-
the 5 perspective IDs de- tive classification.
fined in Day 5.
Full Pose Solution API
Run the function from a
(Headless). Create the
separate test script using a
main public API function:
9 standardized input format. API Standardization
garfield_pose_solver(keypoints).
Output JSON is generated
Orchestrates analysis, IK
successfully.
solve, and JSON output.
3
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Command Line Inter- CLI Test: Run ./[Link]
face (CLI) Tool. Create --coords [list] success-
10 a Python argparse script fully. Proves the core Deployability
for testing the headless engine is fully deployable
engine. without the GUI.
Phase III: Annotation App & UX (Days 11–15)
Goal: Create the user-friendly tool for labeling and immediate retargeting.
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
GUI Setup & File
Management. Set
up the main window (Py- App launches, displays im-
Side/PyQt). Implement age, and can load/save key- Data Standardiza-
11
File -> Open Image and points to a COCO-style JSON tion
Load/Save Keypoints. file.
Use the COCO format
for all data storage.
Interactive Keypoint
Layer. Implement the
draggable keypoints Keypoints are movable and
12 as circles/dots on an update the internal data Visual Feedback
overlay canvas. Add structure in real-time.
visual connection lines
(skeleton) for clarity.
UI Integration: Retar-
geting. Add the ”Solve
& Retarget to Moho” Label a new image. Click the
13 button. Connect it to the button. Moho updates in- Seamless Workflow
garfield_pose_solver() stantly and successfully.
API and display a notifi-
cation.
Documentation &
Licensing. Final- All required release
ize the [Link] files (README, LICENSE, Open Source Stan-
14
(e.g., MIT License) and CONTRIBUTING) are complete dard
[Link]. Re- and accurate.
view the user guide.
4
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Force an IK error by plac-
Error Reporting & Vi-
ing a keypoint too far away.
sual Polish. Implement
The UI correctly identifies
15 the visual feedback sys- User Confidence
the error before attempting
tem (Success, IK Error,
to send the invalid pose to
Moho Comm Error).
Moho.
Phase IV: AI Training & Release Prep (Days 16–20)
Goal: Train the initial predictive model and prepare the V1.0 launch package.
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Data Preprocessing
Script. Write a script to Script runs cleanly and
convert the COCO JSON produces a verifiable batch
ML Pipeline Automa-
16 files into PyTorch/Ten- of training images and
tion
sorFlow data loaders ground-truth keypoint
(normalization, augmen- tensors.
tation).
Transfer Learning
Setup. Configure a
pre-trained model (e.g., The model successfully runs
17 ResNet) for keypoint 5 epochs on a small batch of Model Optimization
detection. Write the core data without crashing.
training loop and loss
function (e.g., MSE).
Active Learning Inte-
gration. Implement the
Model predictions appear
predictive mode in the
as initial dots when a new Human-in-the-Loop
18 UI. Model runs inference
image is loaded. User ad- (HIL)
and displays predicted
justments are saved.
keypoints for the user to
adjust.
Final QA & Packaging.
Perform end-to-end test-
The entire system operates
ing (Label → Train → Pre- Deployment Readi-
19 flawlessly. All code is PEP 8
dict → Retarget). Create ness
compliant.
the final release package
(installer/zip).
5
Verification Check Industry Readiness
Day Task
(Pass/Fail) Focus
Launch! Prepare the
public announcement, Repository is public. V1.0 Marketing & Com-
20
demo video, and GitHub tag is set. munity
repository launch.
Phase V: Segmentation & Advanced Retargeting (Post-Launch Up-
grade)
Goal: Enhance positioning and scaling accuracy using the character’s full outline (segmentation
mask), using the data collected during Phase III and IV.
Data Strategy (Data Labeling Moho Integration (Ad-
Feature Upgrade
Focus) vanced)
Every time a user labels a new The Lua script will be updated
pose, the COCO JSON file will to read the bbox data, calcu-
UI Annotation Up- now include the bbox (bound- late the overall **scale fac-
grade ing box) or segmentation (poly- tor** and root position off-
gon) field. This is the **more set, and apply them to the en-
data** collected iteratively. tire Moho rig layer.
This upgrade allows the sys-
Retrain the model using the tem to solve two problems
expanded dataset. The model simultaneously: ”Where is
ML Model Upgrade will now predict both key- Garfield?” (position/scale
points and the bounding box from BBox) and ”What is
(or mask). his pose?” (angles from key-
points).
Benefit: The joint training im-
Release the updated package,
proves keypoint accuracy (as
emphasizing the new feature:
Final Release (V1.1) the model better isolates the
Accurate Rig Scaling and
character) and provides the
Placement.
necessary scale information.