fix: a mixed-thickness legacy apex converges honestly (#339)
isDegenerateApexCorner measured the inner-face convergence as max(h1,h2)/tan(theta/2) — for a 10-degree apex between a 15 cm and a 30 cm wall that overstates the distance (171.5 cm against the true 128.3/128.9 on 160 cm edges), the corner failed the "inside both edges" test and rendered as the #329 trident again. Worse, the verdict depended on which neighbouring edge carried the thicker wall. The check now intersects the two actual face lines: the meeting point lands at (hOther + hOwn*cos(theta))/sin(theta) along each edge, degenerate only when inside both. With equal halves this reduces algebraically to the old h/tan(theta/2), so equal-thickness verdicts are unchanged by construction — pinned by the untouched section-4 units and the full golden matrix (136 scenes verified). New units cover both traversal orders of the mixed apex, the one-point outset tip, the 30-degree ordinary pair and the zero-thickness guard. The write path is untouched: P1 forbids new sub-15-degree corners since issue 329, this is purely how a legacy document renders. Issue: #339 User-Visible: yes
@@ -2,6 +2,11 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
- A very acute apex between walls of different thickness (say 15 and 30 cm)
|
||||
on legacy plans renders as an honest tip again instead of the "trident":
|
||||
the inner-face convergence accounts for both thicknesses, not just the
|
||||
larger one ([#339](https://github.com/Matysh/houseplan-card/issues/339)).
|
||||
|
||||
## v1.69.0-beta.1 — 2026-08-28
|
||||
|
||||
- House Plan now has a complete German interface. `Deutsch` can be selected
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
- Очень острая вершина между стенами разной толщины (например, 15 и 30 см)
|
||||
на старых планах снова рисуется честным остриём, а не «трезубцем»: расчёт
|
||||
смыкания внутренних граней учитывает обе толщины, а не одну наибольшую
|
||||
([#339](https://github.com/Matysh/houseplan-card/issues/339)).
|
||||
|
||||
## v1.69.0-beta.1 — 2026-08-28
|
||||
|
||||
- В House Plan появилась полная немецкая локализация. `Deutsch` можно выбрать
|
||||
|
||||
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 343 KiB |
|
Before Width: | Height: | Size: 277 KiB After Width: | Height: | Size: 334 KiB |
|
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 319 KiB |
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 317 KiB |
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 296 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 141 KiB |
@@ -2,8 +2,8 @@
|
||||
"version": 1,
|
||||
"fixture": "synthetic-only",
|
||||
"chromium": "151.0.7922.34",
|
||||
"oxipng": "oxipng 10.2.0",
|
||||
"sourceFingerprint": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"oxipng": null,
|
||||
"sourceFingerprint": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"captureScriptSha256": "fe76c8e2e27501e9a377d7aa15dd6cba6a018d55c07deb602dbee097f0a0a5ba",
|
||||
"command": "npm run build && node demo/docs/capture.mjs",
|
||||
"scenarios": {
|
||||
@@ -15,8 +15,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "f8c9541c9d7fde462d0efba63dff70944dc03df76ce988eecaf2b269e2863a96"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "0ca982495a7749907c48ebbddfd089c54385a4347f79f64e94af2c5a8d5c03eb"
|
||||
},
|
||||
"view-touch": {
|
||||
"file": "02-view-touch.png",
|
||||
@@ -26,8 +26,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "21c6fe7d79ff5c878ade8e98a64cc90dfd7bcc66338c864fb5a0bd411471313d"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "3be239a5a494f6776540a9c0049694ee6f9d2ba927c8bcb4b26ee5a69a228a7d"
|
||||
},
|
||||
"space-create": {
|
||||
"file": "03-space-create.png",
|
||||
@@ -37,8 +37,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "f6d190f0b2ac9125cea68aea2ebbcdf9a7081ae2a3565ff253fb1ed0c4a56483"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "a55b463055a565892ca139014e314a8f63fb5301c87fff2e48d7e69210fe9b6c"
|
||||
},
|
||||
"room-contour-close": {
|
||||
"file": "04-room-contour-close.png",
|
||||
@@ -48,8 +48,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "ca8bb143d0d6679ff09f8e9c1f5ad68b2ca7cfd96a4740a4a650c251f55dfba5"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "dfad9a27371cfa397a3fd8dce7005f42d24649743f5322105ee894067d3a9f16"
|
||||
},
|
||||
"plan-context-tray": {
|
||||
"file": "05-plan-context-tray.png",
|
||||
@@ -59,8 +59,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "06b67c5108f9ee29a226cc2920484ccffe0c79840aec09721072b25b91ef8f03"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "b75f348c632296da5c2fc142d53df613f757e1516acac315be50f5b4557729cc"
|
||||
},
|
||||
"device-editor": {
|
||||
"file": "06-device-editor.png",
|
||||
@@ -70,8 +70,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "c2f629ef6592cd34420fe2711326a6cfffe386b3018242f9bb2aee3dbf01826b"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "8affadfce926fe2f6cf344c33f611c44fcbc79c1969f69c3a6935ff2e99c36c3"
|
||||
},
|
||||
"device-display-preview": {
|
||||
"file": "06-device-display-preview.png",
|
||||
@@ -81,8 +81,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "cc5abe1b3364bf9812bea6ea5cfa84f35120ff9639ed3c4c92958cb646a8caf7"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "6f628abe6b89d7c4b352e6d73ac0b126526f6fdba5927bb774c5b884e484ca19"
|
||||
},
|
||||
"background-editor": {
|
||||
"file": "07-background-editor.png",
|
||||
@@ -92,8 +92,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "7e308a2b105fa6a9f788449ca30b8183375a32f0d0f8726f4a131e4f35527f57"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "a1d1a905f1410f73231d2ea5d1dfbd8ae79c2fe8b0a79cff87ebb977ac7a3103"
|
||||
},
|
||||
"room-card": {
|
||||
"file": "08-room-card.png",
|
||||
@@ -103,8 +103,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "f1bc10b478f7afc68e70cb4c37148f680b0bbd41d50a7d63a21067fc952ff134"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "48a5685039a5e0de2a28190d857b193c86e2e63606e3c7a8c40fc9d2b190da4e"
|
||||
},
|
||||
"device-info": {
|
||||
"file": "09-device-info.png",
|
||||
@@ -114,8 +114,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "be9676025788af910419abcb7cd2896e99eb69619e5944639312c55661266c60",
|
||||
"imageSha256": "2634cd7ead5720ce46ea4d6fa8f31006b740c520a73ddc97afe9a6d9d3b49778"
|
||||
"sourceSha256": "2db152f8ea0fb3fcd5eb248c894a5c85aab3f7f08d755ace7c2124da1abf6ed3",
|
||||
"imageSha256": "29a342811aaedaebc54ba337792d60cb454a7cf4c3063b210f6c4bafe0a4d87b"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||