Prodigy Tree Viewer

View gameobject trees within Prodigy Game.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

ავტორი
Hipposgrumm
დღიური ინსტალაციები
0
მთლიანი ინსტალაციები
30
რეიტინგი
0 0 0
ვერსია
1.2.0
შექმნილია
19.04.2026
განახლებულია
30.04.2026
Size
107 KB
ლიცენზია
GPL-3.0
გამოყენებს მათ

This script creates a way to view the gameobject tree in Prodigy Math Game.
While this script technically supports Prodigy English, the resulting lag makes the game nearly or completely unplayable.
The Pet Race and Game Island modes are not supported as those are built in Unity, a completely different game engine.

Upon pressing the button in the top-left corner, you will be greeted with a pop-up window displaying the tree.
If you're using Firefox and the window pops up as a new tab, go to your settings and disable "Open links in tabs instead of new windows".

The tree can be navigated with the arrow keys. Toggling the selected object can be done quickly with the space bar.
Selecting an element provides access to the following data:

  • Class ID - A reference to the class, not very useful except for telling if two elements are (probably) of the same type.
  • Name - Name of the object; doesn't exist if the object doesn't have a name.
  • Is Active - Toggles the active/visible state of the object.
  • Transform
    • Position
    • Rotation - Can be displayed in degrees or radians (degrees by default).
    • Scale
    • Skew - Can be displayed in degrees or radians (degrees by default).
    • Pivot
  • Opacity - Defines how visible the object is; doesn't exist for some types of objects.

Some data may show up conditionally:

  • Text - Text associated with the object. Only shows up for Text objects.
  • Style

    • Font - Font Family to use. See CSS property for more info.
      • This can be any font family installed on your computer.
      • These additional fonts are imported by Prodigy, and can therefore be used as well:
        • ABeeZee, Lato, Fredoka One, Luckiest Guy, Paytone One, Open Sans, Roboto, monospacetypewriterregular, QuestionRenderer_OpenSans, QuestionRenderer_DroidSansMono, FontAwesome, KaTeX_AMS, KaTeX_Caligraphic, KaTeX_Fraktur, KaTeX_Main, KaTeX_SansSerif, KaTeX_Script, KaTeX_Size1, KaTeX_Size2, KaTeX_Size3, KaTeX_Size4, KaTeX_Typewriter
    • Font Size - Size of the font, as per its CSS representation
    • Font Style - See CSS property for more info.
      • Options: Normal, Italic, Oblique
    • Font Variant - See CSS property for more info.
      • Options: Normal, Small Caps
    • Font Weight - See CSS property for more info.
      • Options: Normal, Bold, Lighter, Bolder, 100, 200, 300, 400, 500, 600, 700, 800, 900
    • Stroke Color - Color of the text's outline.
    • Stroke Thickness - Width of the text's outline.
    • Fill Color - Text Color
    • Align
      • Options: Left, Center, Right, Justify
      • Note: This doesn't affect the text's starting position on-screen (see PixiJS#4002 for more context)
    • Drop Shadow
      • Enabled
      • Color - Color and opacity of drop color.
      • Angle - Angle of the offset from the text object. Can be displayed in degrees or radians (degrees by default).
      • Blur - How much blur the shadow has.
      • Distance - Offset distance in pixels.
    • Letter Spacing - Spacing between letters.
    • Line Spacing - Honestly not sure what's going on here (I am currently figuring out live while writing this that this is not what I thought it was).
    • Line Spacing 2 - Spacing between lines (when multiple).
    • Baseline - See CSS property
      • Options: Alphabetic, Top, Hanging, Middle, Ideographic, Bottom
    • Trim Transparent Borders
    • Padding - Adds a transparent border of the specified width.
    • Whitespace Handling - Determines if Newlines and Spaces are collapsed or preserved.
    • Word Wrap - Enable text wrapping.
    • Word Wrap Width - Threshold after which text is wrapped.
    • Break Words - Break words that are too long to be wrapped.
    • Line Join - See CSS property
      • Options: Miter, Round, Bevel
    • Miter Limit - See CSS property
  • Texture - Allows you to view and manipulate the object's texture. Only shows up if the object has a texture.

    • Open - View the source of the texture, if generated from a URL.
    • Export - Save the viewed texture as-is;
    • Change - Replace the texture with one of your choosing from your device. Disabled for Text objects.

There are also some buttons that you can use to modify the object in some way:

  • Create Child Sprite - Creates a new Sprite object as a descendant of the selected object. You can then assign a texture to this sprite using the Change Texture feature.
  • Destroy Object - Removes the selected object from the current scene view.

Known "Quirks":

  • The game lags with the menu open - there is not really much I can do about this.
  • The game flashes black when opening an image - due to WebGL restrictions, the image has to be rendered on the game canvas.
    • Images also take up a lot of memory - this is because they are stored as dataurl because Prodigy's CORS Policy does not like blobs.