Skip to content

docs(editor): document current UI contracts and acceptance evidence #39

Closed

Description

@FLwolfy

Verified on branch / awaiting merge

Production implementation: dd5979c613b0fe8ebd9f7026f25001ceee9f8cee. Delivered head: dbae93e8f211d45a69cdffdb6afa3a33a0af0fa5; the subsequent diff contains documentation/acceptance evidence only. Exact-head CI: Engine CI and NuGet dependency graph passed; all six checks on this exact head are successful. All applicable acceptance conditions for this issue are verified; unavailable physical/manual device checks are explicitly scoped, not reported passed.

Owner: Current per-owner API contracts, design standard and final report. Implementation commits: 0974c317, 163c1938, 5e329bbe.

Evidence: complete report, exact-head delivery attachment, portable test-case/raw-measurement/requirement indexes linked by the report. Specific proof: Final architecture/XML/Wiki/project coverage; Eleven quality dimensions and complete requirement mapping; English issue verification, individual Fixes and partial Refs #18.

Commands: official tests/Invoke-EditorUiAcceptance.ps1 Contracts/Workflows/Visual/Lifecycle/Products with SDK-selected independent outputs; complete source/entry preparation; formal InnoEngine.Build scripts --ide for the three companions; tests/Invoke-WikiChecks.ps1; controlled public performance fixtures where applicable. The report records original command owners, TRX/binlogs, negative tests, failures, skips, input hashes and device limits.

Profiles overlap; do not sum their pass counts into a distinct-test claim. Windows-only sharing fixtures and Unix-only filesystem fixtures are scoped to the executing host. Real native contexts/simulated display metrics and hidden product feature journeys are not a claim of physical display, OS IME or manual Mac testing. No BGCS/vendor/package/generated-binding modification, parallel Core system, test hook, IVT or private reflection was used.

Keep this issue Open. PR #26 includes an individual Fixes #39 and will close it only when the user merges to master. No automatic merge or premature master-resolution claim.

Original defect, ownership and accepted work

The following baseline observations describe the issue as opened. The verification above supersedes intermediate pending checkpoints; original failed/negative logs remain preserved. Acceptance checkboxes are checked only after the exact delivery-head verification completes.

Parent and original requirement

Parent: #27. Work item E12 from the approved Editor UI closure plan and its original implementation/acceptance requirements.

Baseline facts and risks at issue creation

Architecture documentation exists, but the promised design/interaction standard and complete original-plan evidence are incomplete. Syntax/API coverage does not prove semantic documentation quality.

Owner and dependency boundary

Each affected API project/Wiki page, architecture rules and the final issue-to-requirement acceptance ledger.

Dependencies: #28, #29, #30, #31, #32, #33, #34, #35, #36, #37, #38.

Implementation

  • Write EDITOR_UI_DESIGN_STANDARD.md for interactions/menus/styles/focus/selection/gestures/failure feedback.
  • Synchronize actual tree, XML, API Wiki, scripting exports and project visibility.
  • Review ownership/thread/borrow/cancel/failure/Missing/generation semantics of changed APIs under docs(api): replace generic contracts with actionable lifecycle and failure semantics #18.
  • Remove replaced dead members/configuration and forwarding facades; keep source/solution/project layout readable.
  • Record eleven separate quality judgments with evidence and limits, including Core reuse and actual extension consumers.

Acceptance

Failure and lifecycle constraints

Preserve diagnostics, cancellation, atomic rollback/publication, Missing recovery and generation retirement. Reuse Core Events, Identity, IO, Serialization and History. Do not modify BGCS/vendor/generated code or add global/implicit imports, compatibility paths, IVT or private reflection.

Evidence and closure

Commits, exact commands, logs/TRX/data and remaining limits will be added during implementation. Until all acceptance passes this issue remains open. After verification mark Verified on branch / awaiting merge; add Fixes #39 with this issue's actual number to PR #26 only when complete. Close on merge to master, not on branch implementation.

Activity

  1. FLwolfy commented on Oct 28, 2026

    @FLwolfy
    MemberAuthor

    The final source review also identified three stale duplicate XML summary blocks on setting-section overrides (GamePresentationSetting, GameLayersSetting, GameTagsSetting). Each leading block describes an identity member that no longer exists; the following block correctly describes the actual section property. The cleanup will remove only the stale block, preserve the real API documentation and review the same candidate with the normal XML/Wiki/architecture gates. No public member or stable ID is being added, retained as a wrapper, or renamed.

  2. FLwolfy commented on Oct 28, 2026

    @FLwolfy
    MemberAuthor

    Frozen-candidate verification exposed an orchestration gap: the local Contracts profile builds only its selected test filter, but RepositoryWikiTests legitimately audits compiled public API symbols across the entire solution in the current configuration/output owner. On a fresh Release owner, the other project outputs are absent, so that full-Wiki case fails. This is not a production compiler/BGCS failure and the check must not be weakened. The next acceptance-entry correction will build the complete solution for Contracts, then execute the selected existing suites. The failed log remains preserved; current other-profile executions continue separately.

  3. FLwolfy commented on Oct 29, 2026

    @FLwolfy
    MemberAuthor

    The corrected full Contracts run exposed two precise remaining prerequisites: the new public partial font declaration lacked its own explicit XML summary (now corrected), and the selected Player's product-specific compile closure was absent. Solution Any CPU intentionally does not build Player products; Wiki correctly refused to borrow an Editor/neutral DLL. UI acceptance will build SDK-evaluated product projects for the selected declared target before checks. Existing CI already builds matrix.player_project for the separate Wiki stage, but that preparation occurs after RepositoryWikiTests in the complete suite; move the existing preparation before architecture/tests. Keep exact product/output isolation and all validation, rather than adding a fallback or changing the production graph. Failed inventory: snapshot-ordered/acceptance/wiki-gate/1c1258344db648af8ad52fadc5b7e1a9.

  4. FLwolfy commented on Oct 29, 2026

    @FLwolfy
    MemberAuthor

    Final source review: unreachable Hierarchy mutation helper

    The deep owner review found an internal HierarchySelection.DeleteObject(EditorContext, Guid) with no caller. It directly invokes GameScene.DestroyObject; actual current deletion uses the shared Action/feature/History path. This is an unreachable leftover, not an observed failure of the active delete workflow, and it is not a BGCS/platform issue.

    E12 already requires removal of replaced dead members. Remove this helper and its resulting unused imports/request-context plumbing rather than keep an alternative mutation path. Preserve the currently frozen 4d0fdb0 acceptance as dated evidence, then verify the final cleaned candidate before whole-plan completion. No compatibility wrapper, new API, test backdoor, History bypass or reduced acceptance is authorized. This issue remains Open; PR #26 remains Draft.

  5. FLwolfy commented on Oct 29, 2026

    @FLwolfy
    MemberAuthor

    Implemented the narrow cleanup in local commit 5e329bbe96e4812fcec1207151dd98c520237bbd (Aaron Liao as author and committer, no co-author). The unreachable direct deletion helper is removed; unused context arguments/imports in the same presentation path are removed and private helper placement is corrected. The actual delete Action still calls SceneEdits.DeleteGameObjects.

    The ordinary product-selected Hierarchy project build passes with zero warnings/errors. No new public API or tests were added for deleting unreachable code. A fresh complete preparation, functional/companion/product/capture matrix and subsequent controlled measurements now target the cleaned candidate; prior 4d0 passes remain dated evidence. Its deliberately canceled remainder is recorded as Canceled, not Passed. Final verification/merge linkage remains pending; this issue stays Open.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions