Extending the Player

Implemented Features

  • Keyframe interpolation (linear + hold/step)
  • Animated properties (colors, opacity, position, rotation, scale, etc.)
  • Shape rendering (Rectangle, Ellipse, Path, Polystar)
  • Solid fills with animated colors and opacity
  • Gradient fills (linear gradients with color stops)
  • Stroke styling
  • Layer and group transforms with anchor points
  • Correct rendering order (reverse/bottom-to-top)
  • Basic 3D rotation approximation (rx, ry using 2D scaling)
  • Animation playback controls
  • Frame scrubbing with slider

Can Now Handle

  • box-moving-changing-color.json: Moving/color-changing rectangle
  • java_duke_fadein.json: Fade-in with gradient fills
  • java_duke_flip.json: 3D flip approximation