Ebene-Add: Code = activeCode + nächste freie Nummer + Debug-Logs
Feature: neue Ebenen kriegen jetzt einen Code direkt nach dem aktuell angewaehlten (z.B. active="20" → "21" oder naechste freie darunter). Vorher war's Max+1 → sprang auf "100", neue Ebene landet am Listen-Ende und wirkte „unsichtbar" weil weit unten. Debug-Logs eingebaut um zu diagnostizieren warum Anlegen aus User- Sicht nicht funktioniert: - [EBENEN-UI] addNew → bei jedem Click + im Ebenen-Panel - [ZEICHNUNGSEBENEN-UI] addQuick → bei jedem Click + im Z-Panel - [EBENEN-UI/ZEICHNUNGSEBENEN-UI] structureKey diff → wenn der Auto-Apply-useEffect feuert - [EBENEN-UI/ZEICHNUNGSEBENEN-UI] applyAll firing now → wenn der Debounce-Timer am Ende den Backend-Call macht - [EBENEN-BE] APPLY from mode=X → Backend-Receiver - [EBENEN-BE] mode=X: y from doc.Strings n=N → was aus doc.Strings als Fallback geladen wurde So sehen wir wo's stockt — UI feuert nicht, Debounce klemmt, Backend kriegt's nicht, oder build_layers schmeisst still. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+6
-4
@@ -160,19 +160,21 @@ class EbenenBridge(panel_base.BaseBridge):
|
||||
if t == "READY":
|
||||
self._on_ready()
|
||||
elif t == "APPLY":
|
||||
# Jedes Panel ist autoritativ fuer SEINE Slice; die andere kommt
|
||||
# aus doc.Strings (Fallback) damit build_layers nicht mit leerer
|
||||
# Liste arbeitet. So ueberschreiben wir nicht versehentlich die
|
||||
# andere Panel-Slice mit "[]" bei Split-APPLYs.
|
||||
print("[EBENEN-BE] APPLY from mode={} payload-z={} payload-e={}".format(
|
||||
self._mode,
|
||||
len(p.get("zeichnungsebenen") or []),
|
||||
len(p.get("ebenen") or [])))
|
||||
if self._mode == "zeichnungsebenen":
|
||||
z_payload = p.get("zeichnungsebenen") or []
|
||||
e_raw = doc.Strings.GetValue("dossier_ebenen")
|
||||
e_payload = json.loads(e_raw) if e_raw else []
|
||||
print("[EBENEN-BE] mode=zeichnungsebenen: e from doc.Strings n={}".format(len(e_payload)))
|
||||
self._apply(z_payload, e_payload, save_z=True, save_e=False)
|
||||
else:
|
||||
e_payload = p.get("ebenen") or []
|
||||
z_raw = doc.Strings.GetValue("dossier_zeichnungsebenen")
|
||||
z_payload = json.loads(z_raw) if z_raw else []
|
||||
print("[EBENEN-BE] mode=ebenen: z from doc.Strings n={}".format(len(z_payload)))
|
||||
self._apply(z_payload, e_payload, save_z=False, save_e=True)
|
||||
elif t == "LAYER_STYLE":
|
||||
layer_builder.update_layer_style(doc, p["code"], p.get("color"), p.get("lw"))
|
||||
|
||||
Reference in New Issue
Block a user