1.46.0

(feat): Add a dedupeUnionBaseProperties config option (default false). When enabled, a discriminated union no longer emits a duplicate top-level field for base properties that every variant already carries (e.g. properties lifted from a shared parent by infer-discriminated-union-base-properties). Without it, such a property appears both on the union and inside each variant struct, and the top-level copy is silently dropped when marshaling samePropertiesAsObject variants. With the flag on, the shared property is exposed through a getter that switches on the discriminant and reads from the active variant — a single source of truth that still allows top-level access without a type switch. The flag is opt-in to preserve the existing generated surface; the default will flip in a future major version with a migration.