feat(area): add object and aggregate modes

Mesh-backed measurements need cached surface metrics. Keep shared loop collection available in web builds.
This commit is contained in:
Hakan Seven 2026-08-03 22:31:20 +03:00
commit 48332ee807
8 changed files with 458 additions and 62 deletions

View file

@ -40,6 +40,24 @@ command-line-hint = Type a command or use the ribbon. Open OBJ from the Insert t
command-line-label = Command:
command-line-literal-spaces = Literal spaces: Space stays in the line instead of running the command. Stays on until toggled off.
area-option-object = Object
area-option-add = Add area
area-option-subtract = Subtract area
area-prompt-first = AREA Specify first corner point or [Object/Add area/Subtract area] <Object>:
area-prompt-add = AREA ADD Specify first corner point or [Object/Subtract area] <Object>:
area-prompt-subtract = AREA SUBTRACT Specify first corner point or [Object/Add area] <Object>:
area-prompt-next = AREA Specify next point ({ $count } picked, Enter to calculate):
area-prompt-object = AREA Select object:
area-object-not-measurable = AREA: the selected object has no measurable area.
area-result = Area = { $area }, Perimeter = { $perimeter }
area-result-area-only = Area = { $area }
area-running-result =
Area = { $area }, Perimeter = { $perimeter }
Total area = { $total_area }, Total perimeter = { $total_perimeter }
area-running-result-area-only =
Area = { $area }
Total area = { $total_area }
start-new-drawing = New Drawing
start-open-file = Open File…
start-donate = Donate

View file

@ -40,6 +40,24 @@ command-line-hint = Bir komut yazın veya şeridi kullanın. OBJ dosyasını Ekl
command-line-label = Komut:
command-line-literal-spaces = Değişmez boşluklar: Boşluk, komutu çalıştırmak yerine satırda kalır. Yeniden kapatılana kadar etkin kalır.
area-option-object = Nesne
area-option-add = Alan ekle
area-option-subtract = Alan çıkar
area-prompt-first = AREA İlk köşe noktasını belirtin veya [Nesne/Alan ekle/Alan çıkar] <Nesne>:
area-prompt-add = AREA EKLE İlk köşe noktasını belirtin veya [Nesne/Alan çıkar] <Nesne>:
area-prompt-subtract = AREA ÇIKAR İlk köşe noktasını belirtin veya [Nesne/Alan ekle] <Nesne>:
area-prompt-next = AREA Sonraki noktayı belirtin ({ $count } seçildi, hesaplamak için Enter):
area-prompt-object = AREA Nesne seçin:
area-object-not-measurable = AREA: Seçilen nesnenin ölçülebilir alanı yok.
area-result = Alan = { $area }, Çevre = { $perimeter }
area-result-area-only = Alan = { $area }
area-running-result =
Alan = { $area }, Çevre = { $perimeter }
Toplam alan = { $total_area }, Toplam çevre = { $total_perimeter }
area-running-result-area-only =
Alan = { $area }
Toplam alan = { $total_area }
start-new-drawing = Yeni Çizim
start-open-file = Dosya Aç…
start-donate = Bağış Yap