Object Tree QA
Runtime object tree contract
این صفحه وضعیت F022 را شفاف میکند: Object Tree حالا local runtime snapshot و KLineCharts adapter inspection و mutation facade را نگه میدارد و select/visibility/lock/remove را بهصورت JSON-safe runtime intent اجرا میکند و برای adapter-sourced objectها فقط از facade امن KLineCharts mutation عبور میدهد؛ اما هنوز persisted backend drawing list نیست.
What is implemented now?
در Preview، indicator و drawing intent از Toolbar به runtime service میروند. سرویس runtime یک snapshot امن از chart root، indicators و drawings میسازد، اگر KLineCharts adapter در دسترس باشد getIndicators/getOverlays را از facade امن میخواند، adapterRefهای JSON-safe میسازد، و نتیجه را به Object Tree panel میدهد. از داخل پنل، select/hide/show/lock/remove فقط intent میفرستد؛ runtime service تصمیم میگیرد local state را تغییر دهد یا از overrideOverlay/removeOverlay/overrideIndicator/removeIndicator facade استفاده کند.
• Object Tree is derived from runtime-service snapshots, KLineCharts adapter inspection and a guarded KLineCharts mutation facade, not direct component calls to chart instance APIs.
• Current frontend batch keeps local indicator/drawing records as fallback while KLineCharts getIndicators/getOverlays plus override/remove methods are best-effort and non-persistent.
• F022 interactions route select/visibility/lock/remove through JSON-safe runtime intents and chart-runtime facades; dashboard never mutates raw chart objects.
• Snapshot evidence must never include runtime tokens, admin tokens, DOM nodes, chart instances or provider secrets.
• Future persistence must be scoped by widget, symbol, interval, layout and tenant boundaries.