feat(scene): draw nonprint light, camera and geo-location glyphs

Lights, camera views and the geographic-location marker had no on-screen
representation. Add display glyphs for all three:

- Lights render through a new EntityType::Light: a cone/flashlight for spot
  lights, a wire sphere for point lights, a sun for distant lights, sized in
  screen space (fixed-world fallback).
- Camera views (perspective VIEW records) and the GEODATA "daisy" marker are
  synthesized into the model-space resident wire set from the document, since
  they are not entities.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-07-19 22:15:40 +03:00
1 parent 007d03422e
commit b30f9b9741
10 files changed
+561 -7

No files matched your search

+2
View File
@@ -54,6 +54,7 @@ pub fn ui_name(e: &EntityType) -> &'static str {
EntityType::AttributeDefinition(_) => "Attribute Definition",
EntityType::AttributeEntity(_) => "Attribute",
EntityType::Ole2Frame(_) => "OLE Frame",
EntityType::Light(_) => "Light",
EntityType::Seqend(_) => "Seqend",
EntityType::Unknown(_) => "Unknown",
}
@@ -101,6 +102,7 @@ pub fn dxf_name(e: &EntityType) -> &'static str {
EntityType::Body(_) => "BODY",
EntityType::Surface(_) => "SURFACE",
EntityType::Mesh(_) => "MESH",
EntityType::Light(_) => "LIGHT",
_ => "ENTITY",
}
}