fix(block): render constant attributes; bump acadrust for multiline attrs
A CONSTANT ATTDEF has no per-insert ATTRIB — its value belongs to the block itself — so block expansion must draw it instead of skipping every ATTDEF. Non-constant templates are still skipped (the insert supplies their ATTRIB). Also bumps acadrust to decode the embedded MTEXT of R2018 multiline attributes, so a value like "A\PB" renders both lines. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
e26b1ad488
commit
0658601c41
2 changed files with 10 additions and 4 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
|
@ -73,7 +73,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "acadrust"
|
name = "acadrust"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
source = "git+https://github.com/OpenAEC-Foundation/acadifc?branch=main#eb691c931bf06aade25bf94823d0ed444c952b08"
|
source = "git+https://github.com/OpenAEC-Foundation/acadifc?branch=main#7c106c2f6512530571ffcfad6a5fcfbbcc45d677"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ahash 0.8.12",
|
"ahash 0.8.12",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
|
|
||||||
12
src/scene/cache/block_cache.rs
vendored
12
src/scene/cache/block_cache.rs
vendored
|
|
@ -312,9 +312,15 @@ fn build_defn(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
match entity {
|
match entity {
|
||||||
EntityType::Block(_)
|
EntityType::Block(_) | EntityType::BlockEnd(_) => continue,
|
||||||
| EntityType::BlockEnd(_)
|
// A non-constant ATTDEF is only a template — the insert supplies an
|
||||||
| EntityType::AttributeDefinition(_) => continue,
|
// ATTRIB with the real value (tessellated separately). A CONSTANT
|
||||||
|
// attribute has no ATTRIB; its value lives in the block itself, so
|
||||||
|
// it must render as part of the block content (unless flagged
|
||||||
|
// invisible).
|
||||||
|
EntityType::AttributeDefinition(ad) if !ad.flags.constant || ad.flags.invisible => {
|
||||||
|
continue
|
||||||
|
}
|
||||||
EntityType::Insert(nested_ins) => {
|
EntityType::Insert(nested_ins) => {
|
||||||
subs.push(LocalSub::Nested(build_nested_ref(nested_ins, doc, bg_color)));
|
subs.push(LocalSub::Nested(build_nested_ref(nested_ins, doc, bg_color)));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue