Normalize a context-menu entry into the CompiledMenuEntry shape
Foundry's ContextMenu base class expects: the authored condition is
compiled to a visible predicate (via compileCondition) and the
legacy condition key is dropped, and a default callback is generated from
functionName when no explicit one is supplied.
Kept here (Foundry-free) rather than inline in SohlContextMenu so the
boundary transform — and its avoidance of Foundry's deprecated condition
key — is unit-testable without a live ContextMenu.
Normalize a context-menu entry into the CompiledMenuEntry shape Foundry's
ContextMenubase class expects: the authoredconditionis compiled to avisiblepredicate (via compileCondition) and the legacyconditionkey is dropped, and a defaultcallbackis generated fromfunctionNamewhen no explicit one is supplied.Kept here (Foundry-free) rather than inline in
SohlContextMenuso the boundary transform — and its avoidance of Foundry's deprecatedconditionkey — is unit-testable without a liveContextMenu.