Skip to content

version 9

done

  • locked givens (read-only flag, lock/unlock toggle in UI)
    • test with bottom drawer height in two drawer cabinet
  • hide children boolean
  • rename GivenEntry as Portable_Given
  • rename serialized field constantsgivens in Portable_Scene
  • bump CURRENT_VERSION to '9'
  • migration step: v < 9 renames constantsgivens
  • migration tests (4 passing)
  • drop underscores — store spaces everywhere
  • idempotent _ migration (SO names, given names, formula strings) before early return
  • merge_refs joins with space instead of underscore
  • merge_refs added to Compiler.compile() and Attribute.deserialize()
  • removed forced replace(/ /g, '_') from Engine.ts and P_Givens.svelte
  • underscore migration tests (4 passing, 8 total)
  • auto remove _ from file names (saving + library display)

rename constants as givens

the givens rename landed — constantsgivens everywhere. migration chain works: v5 standard_dimensions → v6 constants → v9 givens. bundled .di files still say constants and that's fine, the migrator handles it.

drop underscores

underscores gone from SO names, given names, and formulas. spaces stored directly. merge_refs handles multi-word name resolution in formulas. migration is idempotent (replace(/_/g, ' ') is a no-op on already-spaced data), runs before the version-gated early return so it cleans every load.