Skip to content

Releases: hidders/freefbm

FreeFBM v1.0.8

Choose a tag to compare

@hidders hidders released this 20 May 07:28

Rake rendering improvements

  • Rakes between bars and role boxes — external constraint rake heads now sit between the role box sequence and the uniqueness bars, rather than beyond the outermost bar.
  • Bars track rake count — uniqueness bars shift outward only when rakes are present on their side, and the shift scales with the exact number of rakes. Bars update live as constraints are added, removed, or dragged to the other side.
  • Reading clears the full stack — the default reading position (above/below/left/right) now accounts for the combined height of bars and rakes on that side, so it never overlaps them.
  • Uniform tooth length — all rake teeth are the same length regardless of stagger level or whether bars are present on the same side.

Full Changelog: v1.0.7...v1.0.8

FreeFBM v1.0.7

Choose a tag to compare

@hidders hidders released this 19 May 16:21

What's new in v1.0.7

Notes

  • Sticky notes can be placed on diagrams — double-click to edit inline, click outside to commit
  • Draw note connectors (dotted lines) from a note to any diagram element via the new Note Connector tool
  • Add Subject / Remove Subject modes let you manage which elements a note refers to, with full-diagram dimming

Reference mode improvements

  • Implied value type and implied fact type now appear immediately in the schema browser as soon as a reference mode is typed — before any explicit expansion
  • Both appear in the standard Value Types and Fact Types lists with a small ref badge and no Delete button
  • The Add to this diagram button on the implied value type adds only that type; the button on the implied fact type adds the fact type together with the entity and value type
  • Implied types are flagged as orphaned when both they and their parent entity are absent from all diagrams
  • Expanded / collapsed state of a reference mode is now per-diagram: the same entity can be expanded in one diagram and collapsed in another
  • Removing an implied fact type or value type from a diagram automatically collapses the reference mode for that diagram
  • Positions of implied types (and all other elements) are remembered when removed from a diagram, so re-adding them restores their previous location
  • Reference mode field cleared to "none" now immediately deletes the implied types from the schema
  • Implied fact type readings are editable (previously read-only)

Schema browser — implied links

  • Implied links moved from their own section into the Fact Types list
  • Shown with a dashed-edge icon and a small link badge
  • Full reading displayed (matching the fact type rendering)

Inspector

  • Implied value type and implied fact type each show a ← EntityName back-link at the top of their inspector panel
  • Entity inspector shows Implied Fact Type and Implied Value Type navigation badges below the Reference Mode field

Clipboard & selection

  • Ctrl-A now also selects visible implied links
  • Copy / paste / duplicate correctly carry over shown implied links and expanded reference mode state
  • Paste and duplicate use the actual on-screen positions from the source diagram, preserving relative layout for all elements including reference mode types

Other fixes

  • Roles of implied fact types cannot be reconnected (role double-click and assignRole tool blocked)
  • "Change to Entity Type" grayed out for implied value types; "Nested Entity/Value Type" grayed out for implied fact types
  • Implied fact type added when expanding a reference mode whose value type is already in the diagram

Code quality

  • Extracted three shared helpers (mkRefExpansionPair, expansionIdsFor, diagramsWithPurgedExpansion) eliminating repeated inline code across expansion/deletion actions

Full Changelog: v1.0.6...v1.0.7

FreeFBM v1.0.6

Choose a tag to compare

@hidders hidders released this 17 May 22:46

What's new in v1.0.6

Schema validation

A new floating Validation panel (similar to the Schema Browser) shows schema errors and warnings in real time, grouped by category:

  • Fact Type Definition: unassigned role players (error), missing internal uniqueness constraint (warning), duplicate predicate readings — checked cross-fact and within-fact, case-insensitively, including object type names in the signature
  • Constraint Structure: multi-sequence constraints with fewer than 2 role sequences (warning)
  • Naming: duplicate object type names (error)

Clicking any error in the panel navigates to the relevant element, switching diagrams if needed. Error badges appear on elements in the diagram (red for errors, amber for warnings). Per-element error strips are shown in the Inspector. Validation categories can be toggled in the Inspector display settings.

Query construction improvements

  • After the first click to start a connection, the selected copy glows and a dashed line tracks the mouse cursor to make the intended connection visible
  • Dragging an OT copy onto another copy of the same original now merges them (with a glow on the target when close enough); cascades into fact copy merging automatically
  • Right-click no longer accidentally starts a connection
  • Clicking the canvas background cancels a pending connection but does not exit query construction — only the Done/Cancel buttons in the inspector do that
  • Per-diagram copy positions no longer bleed across diagrams

Display improvements

  • Originals of query copies are dimmed (0.45 opacity); unreachable elements stay at 0.2; copies render at full opacity
  • Pressing the query preview button dims the entire schema to 0.2 so the overlay is clearly readable
  • Query copy strokes are thicker; colour changed to dark green
  • Creating a new diagram resets the view to the default pan/zoom
  • Diagram name editing now ends when the canvas is clicked

Full Changelog: v1.0.5...v1.0.6

FreeFBM v1.0.5

Choose a tag to compare

@hidders hidders released this 16 May 12:20

What's new in v1.0.5

Query pattern visualisation

  • Queries for external constraints are now shown as a visual overlay on the diagram
  • Object type copies appear at 50% size; fact type copies at full size; subtype edge copies at 75% stroke weight
  • Seeded role boxes (output variables) are highlighted with a light-blue fill; seeded subtype edge copies show a glow
  • Copies can be dragged to adjust their position per diagram — moving copies in one diagram does not affect their position in other diagrams

Query construction

  • Click two object type copies connected by a subtype edge to add a subtype edge copy to the query
  • Fact copies with identical connectivity are merged automatically
  • Implied-link roles are blocked during sequence construction

Default query auto-generation

When an external constraint is created with a sufficiently well-defined role sequence, a default query is generated automatically:

  • Uniqueness: binary facts with a common "other" object type
  • Inclusive Or / Exclusive Or: sequences of subtype edges with the same supertype, or single roles all connected to the same object type
  • Exclusion: binary facts with a shared object type (Rule 1); all roles in the same fact type (Rule 2); single subtype edge (Rule 3)

Other improvements

  • Schema browser: add button repositioned to the left, with dark-blue hover; names vertically aligned
  • Context menu for nested object types: "Implied Links" submenu with Show all / Hide all
  • Pasting into an empty diagram places elements at a visible position; pasting into a non-empty diagram centres on the current viewport

Full Changelog: v1.0.4...v1.0.5

FreeFBM v1.0.4

Choose a tag to compare

@hidders hidders released this 05 May 22:43

Full Changelog: v1.0.3...v1.0.4

Full Changelog: v1.0.3...v1.0.4

FreeFBM 1.0.3

Choose a tag to compare

@hidders hidders released this 02 May 21:32

What's Changed

Implicit Link Fact Types

  • New implicit link fact types with per-diagram visibility and positions
  • Individual role selection within implicit links from the canvas
  • Role context menu with "Link Fact Type is Shown" toggle (checkmark indicator)
  • Reversed roles correctly move uniqueness constraints and mandatory dots
  • Implicit link roles excluded from constraint construction highlighting
  • Full reading management (forward/reverse) for nested object type roles

Context Menus

  • Role context menu always shows role-specific options (no pre-selection needed)
  • Missing preventDefault calls added to all context menu handlers
  • Context menus added for implicit links, mandatory dots, role values, and constraint ranges

Inspector & UI Polish

  • "Schema Settings" header replaces "Diagram" in the canvas inspector
  • Hover rings added to role boxes and mandatory dots
  • Drop-selected role fill color removed for cleaner look
  • Schema browser resize improvements and rubber-band selection fixes
  • Datatype profiles expanded

Bug Fixes

  • Array.sort() stability fix in internal frequency/uniqueness deduplication
  • Crash fix when rendering implicit links for nested entity types
  • Drag origin calculation uses diagram-merged positions
  • Role name positioning and dragging fixed for implicit link roles

CI/CD

  • Fixed macOS runner mismatch (macos-13macos-latest)
  • Fixed base64 decode syntax for macOS in signing step
  • Fixed DMG build with missing background image

FreeFBM 1.0.2

Choose a tag to compare

@hidders hidders released this 30 Apr 05:58

What's new in 1.0.2

Inspector improvements

  • Dedicated inspector panels for all internal constraints: internal uniqueness bars, internal frequency constraints, value range, and cardinality range each now open their own focused inspector instead of showing the parent fact or role inspector
  • Editable role coverage — uniqueness and frequency inspectors include a checkbox list to adjust which roles the constraint covers, without leaving the inspector panel
  • Range links show the diagram-format text (e.g. {1..5}, #≥2) so you can see the current value at a glance
  • + Uniqueness / Frequency Constraint buttons in the fact inspector create the constraint and navigate directly to its inspector — no canvas construction mode required
  • Uniqueness bar stays selected during and after editing; back links in constraint inspectors return to the correct parent (role inspector for role-level constraints)

Selection fixes

  • Clicking inside a role box while a uniqueness bar is selected now correctly selects the role

Factum v0.0.8

Choose a tag to compare

@github-actions github-actions released this 27 Apr 08:32

Full Changelog: v0.0.7...v0.0.8

Factum v0.0.7

Choose a tag to compare

@github-actions github-actions released this 25 Apr 08:04

Full Changelog: v0.0.6...v0.0.7

Factum v0.0.6

Choose a tag to compare

@github-actions github-actions released this 24 Apr 10:50

Full Changelog: v0.0.5...v0.0.6