Compare commits

..

7 Commits

Author SHA1 Message Date
Adam Beili 46d2ee5259
Merge 275219a777 into ee2b3813b2 2025-11-23 00:56:53 -05:00
jjspace ee2b3813b2
Merge pull request #13038 from CesiumGS/fix/textureatlas-border-internal
deploy / deploy (push) Has been cancelled Details
dev / lint (push) Has been cancelled Details
dev / coverage (push) Has been cancelled Details
dev / release-tests (push) Has been cancelled Details
dev / node-20 (push) Has been cancelled Details
sandcastle-dev / deploy (push) Has been cancelled Details
fix(textureatlas): Apply internal padding between images
2025-11-21 17:14:38 +00:00
Don McCurdy 4e3980cc53 fix(textureatlas): Apply internal padding between images 2025-11-21 11:44:18 -05:00
jjspace c92d0d80a1
Merge pull request #13037 from CesiumGS/chore/textureatlas-visual-tests
chore(textureatlas): Refactor unit tests for visual output
2025-11-20 17:39:22 +00:00
Don McCurdy 16d0cccfdb chore(textureatlas): Fix vertical order unit test debug output 2025-11-20 09:31:57 -05:00
Don McCurdy 5213dfc1c0 update empty space character with '.' 2025-11-18 16:44:20 -05:00
Don McCurdy bd5aa3ff29 chore(textureatlas): Refactor unit tests for visual output 2025-11-18 15:34:19 -05:00
3 changed files with 678 additions and 462 deletions

View File

@ -7,7 +7,8 @@
#### Fixes :wrench: #### Fixes :wrench:
- Billboards using `imageSubRegion` now render as expected. [#12585](https://github.com/CesiumGS/cesium/issues/12585) - Billboards using `imageSubRegion` now render as expected. [#12585](https://github.com/CesiumGS/cesium/issues/12585)
- Improved scaling of SVGs in billboards [#TODO](https://github.com/CesiumGS/cesium/issues/TODO) - Improved scaling of SVGs in billboards [#13020](https://github.com/CesiumGS/cesium/issues/13020)
- Fixed unexpected outline artifacts around billboards [#13038](https://github.com/CesiumGS/cesium/issues/13038)
#### Additions :tada: #### Additions :tada:

View File

@ -122,6 +122,8 @@ TexturePacker.prototype._findNode = function (node, { width, height }) {
return node; return node;
} }
const borderPadding = this._borderPadding;
// Vertical split (childNode1 = left half, childNode2 = right half). // Vertical split (childNode1 = left half, childNode2 = right half).
if (widthDifference > heightDifference) { if (widthDifference > heightDifference) {
node.childNode1 = new TextureNode({ node.childNode1 = new TextureNode({
@ -130,12 +132,18 @@ TexturePacker.prototype._findNode = function (node, { width, height }) {
width, width,
height: nodeHeight, height: nodeHeight,
}); });
node.childNode2 = new TextureNode({
x: rectangle.x + width, // Apply padding only along the vertical "cut".
y: rectangle.y, const widthDifferencePadded = widthDifference - borderPadding;
width: widthDifference,
height: nodeHeight, if (widthDifferencePadded > 0) {
}); node.childNode2 = new TextureNode({
x: rectangle.x + width + borderPadding,
y: rectangle.y,
width: widthDifferencePadded,
height: nodeHeight,
});
}
return this._findNode(node.childNode1, { width, height }); return this._findNode(node.childNode1, { width, height });
} }
@ -147,12 +155,19 @@ TexturePacker.prototype._findNode = function (node, { width, height }) {
width: nodeWidth, width: nodeWidth,
height, height,
}); });
node.childNode2 = new TextureNode({
x: rectangle.x, // Apply padding only along the horizontal "cut".
y: rectangle.y + height, const heightDifferencePadded = heightDifference - borderPadding;
width: nodeWidth,
height: heightDifference, if (heightDifferencePadded > 0) {
}); node.childNode2 = new TextureNode({
x: rectangle.x,
y: rectangle.y + height + borderPadding,
width: nodeWidth,
height: heightDifferencePadded,
});
}
return this._findNode(node.childNode1, { width, height }); return this._findNode(node.childNode1, { width, height });
} }

File diff suppressed because it is too large Load Diff