Please help creating custom boot animation has failed on world class mini server

I tried making a Plymouth boot animation theme for my NCR 1656 mini server and the multi color loading animation doesn't show underneath the logo no matter how much I optimize my boot script. I also added a screenshot of my theme layout if that helps. Please tell me what am I doing wrong?

\# NCR-1656 Plymouth theme - Bulletproof Multi-Color Version

Window.SetBackgroundTopColor(0, 0, 0);
Window.SetBackgroundBottomColor(0, 0, 0);

screen_w = Window.GetWidth();
screen_h = Window.GetHeight();

# --- Logo ---
logo_img = Image("logo.png");
logo_spr = Sprite(logo_img);
logo_spr.SetPosition((screen_w / 2) - (logo_img.GetWidth() / 2), (screen_h / 2) - (logo_img.GetHeight() / 2) - 100, 10);
logo_spr.SetOpacity(1);

# --- Multi-Color Dots ---
# Loading each specific file directly
d1 = Sprite(Image("dot1.png"));
d2 = Sprite(Image("dot2.png"));
d3 = Sprite(Image("dot3.png"));
d4 = Sprite(Image("progress_dot_on.png"));
d5 = Sprite(Image("progress_dot_off.png"));

dot_w = Image("dot1.png").GetWidth();
spacing = dot_w \* 2.5;
total_w = (dot_w \* 5) + (spacing \* 4);
start_x = (screen_w / 2) - (total_w / 2);
dots_y = screen_h \* 0.82;

# Set Positions
d1.SetPosition(start_x, dots_y, 100);
d2.SetPosition(start_x + (dot_w + spacing), dots_y, 100);
d3.SetPosition(start_x + (dot_w + spacing) \* 2, dots_y, 100);
d4.SetPosition(start_x + (dot_w + spacing) \* 3, dots_y, 100);
d5.SetPosition(start_x + (dot_w + spacing) \* 4, dots_y, 100);

# --- Animation ---
fun animate(time) {
  # This makes all colored dots pulse gently together
  s = Math.Sin(time \* 3) \* 0.3 + 0.7;
  d1.SetOpacity(s);
  d2.SetOpacity(s);
  d3.SetOpacity(s);
  d4.SetOpacity(s);
  d5.SetOpacity(s);
}


Plymouth.SetRefreshFunction(animate);