Repository navigation
chore(editor): complete the approved UI implementation and acceptance plan #27
Description
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: Approved whole-plan traceability and final acceptance. Implementation commits: 199ae0dc.
Evidence: complete report, exact-head delivery attachment, portable test-case/raw-measurement/requirement indexes linked by the report. Specific proof: All final functional, product, visual, performance and CI gates.
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 #27 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.
The approved scope is complete: E01 scope safety, E02 generation indexes, E03 styles, E04 keyboard/Console, E05 neutral Graph, E06 statistics, E07 bounded visible work, E08 domain/History workflows, E09 native scale/input, E10 repeated retirement/reload, E11 controlled performance, E12 API/documentation/ownership review, and the necessary defects discovered while executing those gates. Existing #13/#16/#19 are reused. Broader #18 remains only partially addressed and uses Refs.
307 source-plan rows include all ten interface journeys; seven vocabulary rows and two conditional post-merge rules are not counted as separate functional passes. The fifteen report-authoring delivery conditions are resolved by the exact-head attachment. Complete local preparation, profiles, six Windows products, actual image review, strict lifecycle, five cold/warm formal publications, full Wiki and the quantitative review are recorded on the same production state.
The initial 2k graph ten-frame P95/max flag is retained. A predeclared five additional alternating pairs using the same existing fixture at 50 frames per process did not reproduce a persistent P95 regression. This is not a 60 FPS guarantee. Worst complete-inspection P95 is 24.5695 ms under the unchanged 25 ms budget and 100 ms policy; limited margin remains explicit. Manual Mac/physical display/IME checks are unexecuted. Independent engine issues remain outside this UI scope.
Verified issue map
- fix(history): preserve transaction state when rejecting non-LIFO completion #13: Editor Interactions History
- test(build): read package assets from the evaluated project output scope #16: SDK-evaluated Restore and process-owned loaded-package test
- test(scripting): prove runtime and IDE reference selection with multiple SDK packs #19: Build SDK capture -> neutral compiler inputs -> Host/IDE
- fix(editor): balance presentation scopes across failure and retirement #28: Session/context scopes and actual presentation callers
- perf(editor): index static command metadata by extension generation #29: Generation-owned Interactions menu/shortcut catalog
- refactor(editor): separate shared controls from domain presentation styles #30: Shared presentation and domain-owned styles
- feat(editor): complete keyboard selection and console search workflows #31: Visible-order navigation and Diagnostics occurrence views
- refactor(editor): separate graph presentation mechanics from shader semantics #32: Neutral Graph document/controller and Graph.ImGui geometry/intents
- perf(editor): reuse statistic snapshots and add bounded frame trends #33: EditorStatistics authority and bounded Stats Panel sampler
- perf(editor): bound large-view work to visible and changed content #34: Visible tree/grid/Console rows and neutral graph display projection
- fix(editor): complete consistent editing and document workflows #35: Feature edits, unified History and actual Panel composition
- test(editor): verify the complete scale layout and input matrix #36: Real ImGui public input/geometry and matched content review
- test(editor): verify repeated UI retirement and plugin reload #37: Session/Panel/document/generation retirement
- test(editor): establish repeatable large-workload performance acceptance #38: Controlled public-host static/input/command/product measurements
- docs(editor): document current UI contracts and acceptance evidence #39: Current per-owner API contracts, design standard and final report
- fix(build): prevent generator output locks during repeated owned builds #40: Compiler-tool graph and SDK-owned output identity
- fix(tooling): audit public contracts from current SDK-owned inputs #41: Tooling consumes current SDK-evaluated source/compiled output
- perf(scene): index root positions inside the hierarchy owner #42: Scene-owned root placement indices
- fix(assets): preserve source identities during atomic filesystem refresh #43: Asset source reconciliation
- fix(assets): detect source content changes independently of file timestamps #44: Asset source content verification
- perf(serialization): avoid oversized buffers and unrelated property capture #45: Existing Core Writer/member capture and encoding
- perf(editor): bound large-scene dirty-state inspection during idle frames #46: Scene-owned complete capture inputs and Core canonical output
- feat(editor): initialize new projects with the standard dock layout #47: Standard Hosting layout resource, passive Core state document
- fix(io): guarantee atomic create-only publication across concurrent creators #48: Core IO atomic create-only publisher and compatible document reader
- fix(editor): provide bundled CJK glyph coverage in presentation fonts #49: Existing native Context/atlas supplemental font lifetime
- fix(editor): preserve missing scene source assignments through recovery #50: Scene Workspace assigned source and existing recovery transaction
- fix(presentation): release application registrations after context retirement #51: Application/context native retirement registration
- fix(build): freeze shader authoring inputs without transient publication files #52: Core IO reserved publication name and frozen shader compiler workspace
- perf(serialization): reuse explicitly declared neutral capture keys #53: Core immutable snapshot/Writer proof, Scene complete neutral row inputs
- perf(scene): resolve property references through the owning identity scope #54: Scene property reference scope through exact Core allocator
- fix(scripting): publish script caches through the shared atomic directory contract #55: Core atomic directory publication and Compiler-owned complete cache trees
Closure discipline
All mapped issues stay Open / Verified on branch / awaiting merge. PR#26 has individual Fixes for each fully verified item and Refs#18. The user remains responsible for the master merge. After that authorized merge, audit actual automatic closure; before merge this conditional audit is not falsely called executed.
Activity
FLwolfy commentedon Oct 27, 2026
Additional required validation issue
Created #41 before changing its implementation:
fix(tooling): audit public contracts from current SDK-owned inputs. The current public-contract validator reads constructed default bin paths, so it can inspect stale assemblies instead of the candidate built with an independent ArtifactsPath. This must be corrected before final E03/E12 acceptance; public dependency rules will remain strict.Current focused progress is recorded in the branch ledger. The actual native Panel subset now has 14 passes. Full graph, scale, retirement, performance, SDK-reference and product acceptance remain pending. PR #26 stays Draft; no new closure assertions or merges have been made.
FLwolfy commentedon Oct 27, 2026
Implementation checkpoint committed as 63d4f7d (Aaron Liao author and committer, no co-author). The checkpoint includes reusable neutral graph presentation, bounded lists/Console, domain-owned styles, actual pre-frame preparation/failure retirement, SDK-owned script inputs, actual package/load negative tests, current API documentation and the unified acceptance entry. Selected profiles passed: Workflows 297, Visual 135, Lifecycle 5; all 72 native ImGui contracts passed. These are scoped results, not a declaration that E01–E12 are all closed. E11's identical-current-plugin original FlappyBird comparison is blocked by the original API's absence of EditorUiSession. PR #26 remains Draft. Final CI, paired neutral workload measurements and the complete remaining acceptance ledger are being checked.
FLwolfy commentedon Oct 29, 2026
Frozen-candidate continuation
The previous production candidate
2434cd96completed the full local Release profiles: Contracts 818, Workflows 700, Visual 524, Lifecycle 15. These profiles overlap. Core Serialization 97 and Scene 56 also passed. They do not close the remaining quantitative/product gates.Current head:
e52689204e8bf60cebd494ead307bcc24f502db9. The four interactive performance cases now exercise actual native wheel/search input and the real SceneEdits/History gesture path on both current and unchanged historical producers. Their preparation runs passed; overlapping-load timings are not final performance acceptance.New prerequisite #54 was created before implementation. Single-property/element reference capture now uses the owning Core Identity allocator on demand rather than indexing the entire Scene. Full graph/subtree/prefab serialization retains its necessary frozen local-ID map. The isolated ordinary Scene suite passes all 66 cases; the scalar-allocation negative control fails against the officially built previous producer as expected. No public resolver, second identity table, serializer, event service, platform branch or compatibility path was added.
The current complete SourceRelease solution builds with zero warnings/errors. Final Debug/Release output preparation, actual product repetitions, quiet controlled performance and exact-head CI remain required. CI: https://github.com/Wolfiora/InnoEngine/actions/runs/40865305630 . PR #26 remains Draft; issues remain Open pending complete verification and merge. No automatic merge is authorized.
The matched native visual replays now include both actual GPU viewport readbacks, with zero unavailable texture commands or unexecuted callbacks. They remain draw-data/pixel replay evidence, not physical-display or final-backbuffer screenshots. The previous concurrent-load product timeout remains Failed, pending quiet repetition without changing the deadline.
Refs #54
FLwolfy commentedon Oct 29, 2026
Applicable functional matrix passed; quantitative closure still blocked
At
98fd5a7d, Contracts passed818 with two Unix-specific cases unexecuted on Windows; Workflows704, native Visual524 and Lifecycle15 passed (overlapping profiles are reported separately). Formal Canvas, Rendering2D and FlappyBird script/IDE projection passed. All six Debug/Release × D3D11/D3D12/Vulkan product groups passed smoke, eight feature journeys and all nine actual panels'100-cycle/strict-GC series. Matched original/current native UI replays contain complete Scene/Game GPU pixels; physical-display/manual checks remain distinct.The quiet absolute performance matrix reproduced an unresolved #46 tail-latency failure in9/10 processes. The original25 ms P95 gate is preserved. Implementation/profiling continues within the existing Scene/Core Serialization owners; no Ready or completion claim is made. All issues remain Open until verified and closed through PR merge.