The root problem I am facing is that roll20 defaults an image to a version that is capped at 200px (height or width, whichever is bigger) when first dropping it onto the VTT. I would much prefer it to simply let me use the image's default resolution instead of using a smaller version (the main issue here is that this completely messes up the individual grid sizes between assets in an asset pack when trying to stitch them together). Me appending the image's native resolutions to the end of their name (python) was me thinking the roll20 script engine would pass me the base asset name to my callback so then I could parse out the dimensions and resize as part of the 'add:graphic' callback. I've also tried running my own snippets in Chrome to parse out the base asset name which is then stored in the global Window object on the 'mousedown' event with the intent that the 'add:graphic' event would be able to access Window, but that does not appear to be the case either unfortunately. In what context does the roll20 scripting engine execute? Does it not execute in the same javascript environment and browser tab I'm currently running a game in? That could be part of my confusion for my 2nd method, because what I would need is a global object accessible by both contexts for this to work. At any rate, I've since bitten the bullet and moved on to just putting maps together from the asset pack using Gimp.