Skip to content

Resolve every function the pinned OverPy accepts (117 unresolved names) #384

Description

@e54-bot

Goal

opy-rs resolves every function the pinned OverPy 9.7.10 accepts, so a real project that uses one compiles instead of failing or losing the call.

Context

A probe of every non-operator function in the pinned OverPy 9.7.10 against opy-rs 0.1.58 found calls the reference accepts that opy-rs rejects because the name does not resolve (unknown-action, unknown-value, unknown-member). A project that uses one of them fails to compile or loses the call. Names are checked against the manifest; all 117 already exist in the workshop-rs catalog as native Workshop entries (112 under the same id, 5 under a differently spelled id), so the gap is in the opy-rs source-language surface (manifest entries, aliases and lowering), not in Workshop data.

The measured gap is 117 functions: 22 actions, 53 values and 42 member functions. Probe method: for each of the 412 non-operator OverPy functions, compile a type-appropriate sample call with the reference and with opy-rs, and count calls the reference accepts and opy-rs rejects with an unresolved-name error. Keyword forms (true, null, eventPlayer, hostPlayer, localPlayer, attacker, victim, healer) and probe-sample mistakes are excluded. Argument-level differences on names that already resolve are not counted here.

Scope

Close the gap in three batches: actions, values, member functions. Each batch is its own sub-issue.

Non-goals

  • Literal-spelling parity (False/True/Null versus 0/1) and other default-mode coercions; Wright and workshop-rs canonicalize these and they are semantically equivalent.
  • Adding or renaming workshop-rs catalog entries; if a name turns out to have no native catalog entry, route it to workshop-rs instead of adding Workshop data here.

Acceptance criteria

  • All three sub-issues are closed.
  • Re-running the name-resolution probe over the 412 functions reports zero unknown-action, unknown-value or unknown-member for a call the reference accepts.

Dependencies

None. Batches are independent.

Classification

Each name was checked twice: the pinned OverPy 9.7.10 metadata declares a Workshop en-US name for it, and that en-US name is an article in the workshop.codes wiki inventory of Workshop actions and values, which is independent of OverPy. That en-US name also resolves to an entry in the workshop-rs catalog. None of the 117 is an OverPy-only wrapper, so no new Workshop data and no new workshop-rs entry is needed for this work.
Result: 112 names match a catalog id exactly; 5 differ only in the catalog id spelling (listed in the sub-issues) and need a manifest alias.

Rule for implementers: opy-rs owns only the OverPy spelling. Where the OverPy name differs from the catalog id, add a manifest alias to the catalog id; do not add or rename catalog entries here. An OverPy-only composite helper, if one turns up, is lowered in opy-rs and never added to the workshop-rs catalog, which holds native Workshop syntax only.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions