fix: stop claiming a 1x1 size for an image whose dimensions are unknown
An uploaded figure never appeared, and no request for it was ever made. The resolver substituted 1x1 when an asset carried no dimensions, and a 1x1 box with `loading="lazy"` never enters the viewport — so the browser had no reason to fetch it. The image was not failing to load; it was never asked for. Unknown dimensions now say so. The figure omits the attributes and loads eagerly, letting the browser size the image from the file, and reserves layout space only when the size is actually known. Guessing a number to fill an attribute is what turned a missing measurement into a missing picture.
This commit is contained in:
@@ -53,8 +53,12 @@ export type ResolvedAssetLike = Readonly<{
|
||||
function fromDescriptor(descriptor: ResolvedAssetLike): EvidenceAsset {
|
||||
return Object.freeze({
|
||||
src: descriptor.publicPath,
|
||||
width: descriptor.width ?? 1,
|
||||
height: descriptor.height ?? 1,
|
||||
// 치수를 모르면 0 으로 둔다 — 1 이 아니라. 1×1 은 "아주 작은 그림" 이라는 거짓말이고,
|
||||
// `loading="lazy"` 와 만나면 브라우저는 화면에 걸리지 않는 1×1 상자를 영영 가져오지 않는다.
|
||||
// 실제로 업로드가 치수를 기록하지 않아 모든 그림이 그렇게 사라졌다. 0 은 figure 가
|
||||
// 자기 값을 모른다는 뜻이고, 렌더러가 그때 속성을 빼고 즉시 로드로 바꾼다.
|
||||
width: descriptor.width ?? 0,
|
||||
height: descriptor.height ?? 0,
|
||||
triggerLabel: `${descriptor.assetKey} 이미지 크게 보기`,
|
||||
dialogLabel: `${descriptor.assetKey} 확대`,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user