Skip to content

Rounding of vector bounding box dimensions causes jittering of sprite #427

@adroitwhiz

Description

@adroitwhiz

Expected Behavior

When you modify a vector costume in the Paint Editor, and its bounding box is recalculated, this should not affect the position of the sprite in any way.

Actual Behavior

Because the paint editor gives SVGs non-integer viewBoxes, but the canvas renderer renders them at integer sizes, and there's tons of code that assumes integer dimensions of textures, there's all kinds of jittering and ugly artifacts.

Fixing this will require proper handling of both non-integral viewBox bounds and rotation centers. A clear separation between a sprite's "rendered" rotation center and bounds and its "logical" rotation center and bounds must be established.

Steps to Reproduce

View this project. Note how in the Paint Editor, Scratch Cat doesn't move at all, but on-stage, he jitters, and nearest-neighbor seams are visible:
Peek 2019-04-24 22-40

Operating System and Browser

Firefox 65.0.1 and Chromium 71.0.3578.98 on Fedora Linux.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions