Skip to content

调整开发者工具面板,粒子模块控件移除module UI#116

Merged
AlexCat315 merged 2 commits into
mainfrom
next
Jun 30, 2026
Merged

调整开发者工具面板,粒子模块控件移除module UI#116
AlexCat315 merged 2 commits into
mainfrom
next

Conversation

@AlexCat315

Copy link
Copy Markdown
Owner

No description provided.

…rolling

BoundedScrollView (GuavaUI):
- New scroll view with explicit content height bounds
- Calculates viewport height between minHeight and maxHeight
- Useful for fixed-size containers with dynamic content

InspectorPanel (Editor):
- Replace open-ended module list with BoundedScrollView
  - minHeight: 220, maxHeight: 520
  - Content scrolls when modules exceed viewport
- Remove frameTimingRevision subscription (reduce unnecessary redraws)
- Extract layout constants into ParticleModuleStackLayout enum
- Simplify module row status: merge health dot and backend pill into moduleRowStatusBadge()
- Remove module-level runtime diagnostic chips from expanded editor
  - Delete runtimeChips, gpuSimulationDiagnostics, diagnosticChip, runtimeMetricChip
- Reduce stageBadgeWidth from 78 to 58

PropertyGrid (GuavaUI):
- Minor fix (5 lines)
… controls

Developer Tools (EditorStatPanel.swift):
- Add .overview tab with DeveloperWorkbenchOverview
- Add .particles tab with dedicated particle diagnostics view
- Add DeveloperWorkbenchIssues system: collects issues from all sources
  (frame pacing, render stats, particle health, console errors)
- Add makeDeveloperWorkbenchIssues() aggregator
- Add DeveloperWorkbenchOverview with issue cards
- Add DeveloperParticleDiagnosticsView with runtime overview, render
  batches, GPU simulation stats, emitter hotspots, and trend summary
- Add makeDeveloperParticleAuthoringDiagnosticSummary()
- Add makeDeveloperParticleEmitterLabels() for hierarchy paths
- Add makeDeveloperParticleEmitterHotspot() per-emitter detail
- Add makeDeveloperRenderPassBreakdown() for render pass ranking

Inspector Panel:
- Extract particle module controls to Inspector/ParticleControls/
  - Moves InspectorParticleControlsView (1143 lines) to new file
  - InspectorPanel.swift reduced from ~5000 to ~524 lines
- Remove RenderBackend import and runtime diagnostics from InspectorPanel
- Simplify initializer (no more renderStats/particleEvent providers)

InspectorParticleControlsView (new):
- All particle module editor UI extracted from InspectorPanel
- Emission, shape, velocity, forces, collision, appearance, texture sheet,
  trails, sub-emitters, GPU simulation modules
- Curve editor, sub-emitter rules, module layout helpers

RootViewFactory:
- Simplify InspectorPanel initialization

Tests:
- Add workbench diagnostics priority tests
- Add particle health workbench issue conversion test
- Add render pass breakdown ranking test
@AlexCat315 AlexCat315 merged commit 4479b31 into main Jun 30, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant