Files
OneCAD-Draft/src/scene
Hakan SevenandClaude Opus 4.7 7ee93f6aea fix(scene): align compute_world_offset filter with belongs_to_visible_block
compute_world_offset rejected any entity whose owner_handle didn't
equal model_block, but belongs_to_visible_block (the render-time
filter) treats owner_handle = null as a legitimate MSPACE entity
whenever block_record.entity_handles is empty and the file enumerates
no block contents anywhere. DXF writers commonly omit group-code 330,
so on those files the render path drew the entities while the offset
scan missed them — direct WCS-coordinate wires then drove world_offset
to the header (sentinel → [0,0,0]) and f32 precision collapsed for
UTM-authored content.

Replicate belongs_to_visible_block's decision exactly:

  * If model_block's BlockRecord enumerates entity_handles, use that
    set as the authoritative MSPACE membership list.
  * Otherwise: owner==model_block always counts; owner==null counts
    only when no other block_record enumerated either (legacy DXF
    without 330 codes anywhere); a non-null owner pointing elsewhere
    or an entity enumerated by some other block is always rejected.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-05-15 22:08:09 +03:00
..
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-03-22 14:56:27 +03:00
2026-05-12 10:36:15 +03:00
2026-03-22 14:56:27 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-03-22 14:56:27 +03:00
2026-03-22 14:56:27 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00
2026-05-12 10:36:15 +03:00