caewok/fvtt-elevated-vision

Can't draw elevated terrain

Closed this issue · 3 comments

Using firefox latest public release.
Foundry v10 latest stable

I have perfect vision as a module active and a bunch of others (levels, wall height,...) but I think the error messages points to some issue with perfect vision or the hooks rendering the toolbar.

TypeError: Error thrown in hooked function 'renderElevationLayerSubControls' for hook 'renderTerrainLayerToolBar'. canvas.elevation.toolbar is undefined
[Detected 1 package: elevatedvision]
    renderElevationLayerSubControls http://localhost:30000/modules/elevatedvision/scripts/controls.js:127
    #call http://localhost:30000/scripts/foundry.js:724
    callAll http://localhost:30000/scripts/foundry.js:681
    _render http://localhost:30000/scripts/foundry.js:5153
foundry.js:747:30
    onError foundry.js:747
    call_wrapped libWrapper-wrapper.js:507
    <anonym> listeners.js:135
    onError#0 libWrapper-wrapper.js:187
    #call foundry.js:728
    callAll foundry.js:681
    _render foundry.js:5153
Uncaught (in promise) 
Exception { name: "NS_ERROR_FAILURE", message: "", result: 2147500037, filename: "http://localhost:30000/modules/elevatedvision/scripts/perfect-vision/extract-pixels.js", lineNumber: 99, columnNumber: 0, data: null, stack: "pixelsToCanvas@http://localhost:30000/modules/elevatedvision/scripts/perfect-vision/extract-pixels.js:99:31\n_extractElevationImageData@http://localhost:30000/modules/elevatedvision/scripts/ElevationLayer.js:558:41\ndownloadElevationData@http://localhost:30000/modules/elevatedvision/scripts/ElevationLayer.js:628:32\nonClick@http://localhost:30000/modules/elevatedvision/scripts/controls.js:95:28\n_onClickTool@http://localhost:30000/scripts/foundry.js:67697:52\ninit/SceneControls.prototype._onClickTool@http://localhost:30000/modules/monks-wall-enhancement/monks-wall-enhancement.js:122:33\ndispatch@http://localhost:30000/scripts/jquery.min.js:2:43064\nadd/y.handle@http://localhost:30000/scripts/jquery.min.js:2:41048\n" }
extract-pixels.js:99
    downloadElevationData http://localhost:30000/modules/elevatedvision/scripts/ElevationLayer.js:629
    AsyncFunctionThrow self-hosted:814
    (Async: async)
    onClick http://localhost:30000/modules/elevatedvision/scripts/controls.js:95
    _onClickTool http://localhost:30000/scripts/foundry.js:67697
    _onClickTool http://localhost:30000/modules/monks-wall-enhancement/monks-wall-enhancement.js:122
    <anonym> self-hosted:1359
    jQuery 2

Additional warnings are rolling in the console.log:

WebGL warning: drawElementsInstanced: Framebuffer not complete. (status: 0x8cd6) COLOR_ATTACHMENT0: Attachment has no width or height.
WebGL warning: drawElementsInstanced: Framebuffer must be complete.

Image dimensions in foundry: 13788 x 18336 because of silly 20ft grid scale on the background image
Image dimension: 3447 x 4584

Should be fixed in v0.4.0. The issue is almost certainly the size of the canvas dimensions. Version 0.4.0 deals with this by limiting the resolution of the underlying elevation data.

Thank you very much for fixing this issue. It works now reliably.