# Offene Punkte — bei jedem Start prüfen und abhaken

Keine offenen Punkte.

jq -Rs '{systemMessage: ., hookSpecificOutput:{hookEventName:"SessionStart", additionalContext: .}}' /home/marcuh/claude-projects/robotunits/OFFENE-PUNKTE.md


# Offene Punkte — bei jedem Start prüfen und abhaken

Keine offenen Punkte.


wie sehen wir git seitig im projekt aus?


CronCreate CronDelete CronList DesignSync EnterPlanMode EnterWorktree ExitPlanMode ExitWorktree Monitor NotebookEdit PushNotification RemoteTrigger SendMessage TaskCreate TaskGet TaskList TaskOutput TaskStop TaskUpdate WebFetch WebSearch


claude claude-code-guide Explore general-purpose Plan statusline-setup

- claude: Catch-all for any task that doesn't fit a more specific agent. FleetView's default when no agent name is typed. (Tools: *)

- claude-code-guide: Use this agent when the user asks questions ("Can Claude...", "Does Claude...", "How do I...") about: (1) Claude Code (the CLI tool) - features, hooks, slash commands, MCP servers, settings, IDE integrations, keyboard shortcuts; (2) Claude Agent SDK - building custom agents; (3) Claude API (formerly Anthropic API) - Messages API for directly passing messages to Claude, Tool Runner (`client.beta.messages.tool_runner`) for running an agentic loop over your own tools, manual tool-use loops, Managed Agents for server-hosted agents with a managed sandbox, prompt caching, and general Anthropic SDK usage; (4) Claude Tag (Claude in Slack) - what it is, setting it up for a Slack workspace, `/install-slack-app`. **IMPORTANT:** Before spawning a new agent, check if there is already a running or recently completed claude-code-guide agent that you can continue via SendMessage. (Tools: Bash, Read, WebFetch, WebSearch)

- Explore: Read-only search agent for broad fan-out searches — when answering means sweeping many files, directories, or naming conventions and you only need the conclusion, not the file dumps. It reads excerpts rather than whole files, so it locates code; it doesn't review or audit it. Specify search breadth: "medium" for moderate exploration, "very thorough" for multiple locations and naming conventions. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)

- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)

- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, Artifact, ExitPlanMode, Edit, Write, NotebookEdit)

- statusline-setup: Use this agent to configure the user's Claude Code status line setting. (Tools: Read, Edit)


- git-sync: Commit + Push aller persistent konfigurierten Projekt-Repos
- deep-research: Deep research harness — fan-out web searches, fetch sources, adversarially verify claims, synthesize a cited report. - When the user wants a deep, multi-source, fact-checked research report on any topic. BEFORE invoking, check if the question is specific enough to research directly — if underspecified (e.g., "what car to buy" without budget/use-case/region), ask 2-3 clarifying questions to narrow scope. Then pass the refined question as args, weaving the answers in.
- dataviz: Use this skill whenever you are about to create ANY chart, graph, plot, dashboard, or data visualization, in ANY output medium — an HTML or React artifact, inline SVG, plotting code in any library (matplotlib, plotly, d3, Recharts, …), an image/PNG you will render and upload, or a chart shared into Slack. Read it BEFORE writing the first line of chart code, choosing chart colors, building a stat tile / meter / KPI row, or laying out a dashboard. Produces visualizations that read as one system — elegant, accessible, consistent in light and dark — using a brand-neutral placeholder palette you swap for your own. Teaches a design-system-agnostic method: a form heuristic, a color formula with a runnable validator, mark specs, and interaction rules. A validated default palette is documented in `references/palette.md` — swap that file's values for your brand's. Triggers on: "chart", "graph", "plot", "data viz", "visualization", "dashboard", "analytics", "visualize data", "categorical colors", "sequential / diverging palette", "stat tile", "sparkline", "heatmap", "legend", "axis", "tooltip", "chart colors", "color by series".
- artifact-design: Design guidance and fundamentals for Artifacts.
- update-config: Use this skill to configure the Claude Code harness via settings.json. Automated behaviors ("from now on when X", "each time X", "whenever X", "before/after X") require hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json files. Examples: "allow npm commands", "add bq permission to global settings", "move permission to user settings", "set DEBUG=true", "when claude stops show X". For simple settings like theme/model, suggest the /config command.
- keybindings-help: Use when the user wants to customize keyboard shortcuts, rebind keys, add chord bindings, or modify ~/.claude/keybindings.json. Examples: "rebind ctrl+s", "add a chord shortcut", "change the submit key", "customize keybindings".
- verify: Verify that a code change actually does what it's supposed to by exercising it end-to-end and observing behavior — drive the affected flow, not just tests or typecheck. Run before committing nontrivial changes; bootstraps this repo's project verify skill if none exists yet. Don't invoke it on a diff that only touches tests, docs, or other code with no runtime surface to drive (a change to product source always has one) — there's nothing to observe.
- code-review: Review the current diff for correctness bugs and reuse/simplification/efficiency cleanups at the given effort level (low/medium: fewer, high-confidence findings; high→max: broader coverage, may include uncertain findings; ultra: deep multi-agent review in the cloud). Pass --comment to post findings as inline PR comments, or --fix to apply the findings to the working tree after the review.
- simplify: Review the changed code for reuse, simplification, efficiency, and altitude cleanups, then apply the fixes. Quality only — it does not hunt for bugs; use /code-review for that.
- fewer-permission-prompts: Scan your transcripts for common read-only Bash and MCP tool calls, then add a prioritized allowlist to project .claude/settings.json to reduce permission prompts.
- loop: Run a prompt or slash command on a recurring interval (e.g. /loop 5m /foo). Omit the interval to let the model self-pace. - When the user wants to set up a recurring task, poll for status, or run something repeatedly on an interval (e.g. "check the deploy every 5 minutes", "keep running /babysit-prs"). Do NOT invoke for one-off tasks.
- schedule: Create, update, list, or run scheduled cloud agents (routines) that execute on a cron schedule. - When the user wants to schedule a recurring cloud agent, set up automated tasks, create a cron job for Claude Code, or manage their scheduled agents/routines. Also use when the user wants a one-time scheduled run ("run this once at 3pm", "remind me to check X tomorrow").
- claude-api: Reference for the Claude API / Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.
TRIGGER — read BEFORE opening the target file; don't skip because it "looks like a one-liner" — whenever: the prompt names Claude/Anthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing/model choice/limits/caching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent/MCP/tool-definition/multi-agent/RAG/LLM-judge/computer-use; generate/summarize/extract/classify/rewrite/converse over NL; debugging refusals/cutoffs/streaming/tool-calls/tokens).
SKIP only when another provider is being worked on (overrides all triggers): OpenAI/GPT/Gemini/Llama/Mistral/Cohere/Ollama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).
- run: Launch and drive this project's app to see a change working. Use when asked to run, start, or screenshot the app, or to confirm a change works in the real app (not just tests). First looks for a project skill that already covers launching the app; otherwise falls back to built-in patterns per project type (CLI, server, TUI, Electron, browser-driven, library).
- init: Initialize a new CLAUDE.md file with codebase documentation
- review: Review a GitHub pull request; for your working diff use /code-review
- security-review: Complete a security review of the pending changes on the current branch

git-sync deep-research dataviz artifact-design update-config keybindings-help verify code-review simplify fewer-permission-prompts loop schedule claude-api run init review security-review


Bash

git status && echo "---LOG---" && git log --oneline -5 && echo "---REMOTE---" && git remote -v && echo "---AHEAD/BEHIND---" && git status -sb | head -1

Show git status of robotunits project


On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   ../pool/private/history.jsonl
	modified:   ../pool/private/projects/-Users-marcus-hinz-claude-projects-robotunits/b762fc5c-841a-4069-a852-f92cf1c68110.jsonl
	modified:   ../pool/private/projects/-Users-marcus-hinz-claude-projects-wuerth-plato/021d5c4b-dcb4-403a-a054-65d105655920.jsonl

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	../pool/private/projects/-Users-marcus-hinz-claude-projects-08-07/c1105042-6c81-4519-8124-f3ad5c5f23be.jsonl
	../pool/private/projects/-Users-marcus-hinz-claude-projects-robotunits/7f71a46a-80af-48c5-ad8c-dbc8f5912a3a.jsonl
	../pool/private/projects/-Users-marcus-hinz-claude-projects-robotunits/d39343b7-d69e-4d28-8db5-a5803a4e8931.jsonl
	../pool/private/projects/-Users-marcus-hinz-claude-projects-robotunits/fc9e0a79-54ce-4eb0-ae83-ce1cf6e24adf.jsonl
	../pool/private/projects/-Users-marcus-hinz-claude-projects-wuerth-plato/021d5c4b-dcb4-403a-a054-65d105655920/subagents/agent-a592c8ce6d0837c75.jsonl
	../pool/private/projects/-Users-marcus-hinz-claude-projects-wuerth-plato/021d5c4b-dcb4-403a-a054-65d105655920/subagents/agent-a592c8ce6d0837c75.meta.json

no changes added to commit (use "git add" and/or "git commit -a")
---LOG---
46db3a0 claude sync: 2026-07-07 23:50
fb49ee1 Mac-DMG 0.2.0 (aarch64) für Release-Upload von der Linux-Box
7defbb8 git-commit-Skill: ai-control Publish-Ablauf (lintus + optional github/Release)
9c107f1 Projekt-Icons ins synced Pool-Repo; Migrationsskript verlinkt sie
6e3b288 icons
---REMOTE---
origin	ssh://git@git.lintus.art:2222/marcus.hinz/claude-projects.git (fetch)
origin	ssh://git@git.lintus.art:2222/marcus.hinz/claude-projects.git (push)
---AHEAD/BEHIND---
## main...origin/main


Branch `main`, up to date mit `origin/main` (nichts ahead/behind).

Uncommittet nur Pool-Sync-Dateien (Session-Logs):
- 3 modifiziert (`history.jsonl`, 2 Session-`.jsonl`)
- 6 untracked (Session-Logs + Subagent-Dateien)

Kein Projekt-Code geändert — nur die automatisch mitlaufenden `pool/private/`-Logs.


ich meine das cpq projekt


cd /home/marcuh/projects/adesso-cpq && git status && echo "---LOG---" && git log --oneline -8 && echo "---SB---" && git status -sb | head -1

Show git status of adesso-cpq project


<persisted-output>
Output too large (95.4KB). Full output saved to: /home/marcuh/.config/ai-control/pools/private/projects/-Users-marcus-hinz-claude-projects-robotunits/d39343b7-d69e-4d28-8db5-a5803a4e8931/tool-results/b2vai2ngn.txt

Preview (first 2KB):
On branch Produktmanagement
Your branch is up to date with 'origin/Produktmanagement'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	deleted:    packages/frontend/.storybook/assets/catalog/catalog.json
	deleted:    packages/frontend/.storybook/assets/catalog/construction_geometry.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_curve.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_dreheinheit.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_straight.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_double_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_panel.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_post.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_single_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_sliding_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_double_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_panel.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_single_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_sliding_door.png
	deleted:    packages/frontend/.storybook/assets/environment.config.json_bak
	deleted:    packages/frontend/.storybook/assets/fbx/screw.fbx
	deleted:    packages/frontend/.storybook/assets/scenes/collision-2.json
	deleted:    packages/frontend/.storybook/assets/scenes/collision-simple.json
	deleted:    packages/frontend/.storybook/assets/scenes/empty.json
	deleted:    packages/frontend/.storybook/assets/scenes/nestedGraph.json
	deleted:    packages/frontend/.storybook/assets/scenes/profile.json
	deleted:    packages/frontend/.storybook/assets/scenes/rolle.json
...
</persisted-output>

On branch Produktmanagement
Your branch is up to date with 'origin/Produktmanagement'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	deleted:    packages/frontend/.storybook/assets/catalog/catalog.json
	deleted:    packages/frontend/.storybook/assets/catalog/construction_geometry.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_curve.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_dreheinheit.png
	deleted:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_straight.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_double_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_panel.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_post.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_single_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_allround_sliding_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_double_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_panel.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_single_door.png
	deleted:    packages/frontend/.storybook/assets/catalog/safety_fence_basic_sliding_door.png
	deleted:    packages/frontend/.storybook/assets/environment.config.json_bak
	deleted:    packages/frontend/.storybook/assets/fbx/screw.fbx
	deleted:    packages/frontend/.storybook/assets/scenes/collision-2.json
	deleted:    packages/frontend/.storybook/assets/scenes/collision-simple.json
	deleted:    packages/frontend/.storybook/assets/scenes/empty.json
	deleted:    packages/frontend/.storybook/assets/scenes/nestedGraph.json
	deleted:    packages/frontend/.storybook/assets/scenes/profile.json
	deleted:    packages/frontend/.storybook/assets/scenes/rolle.json
	deleted:    packages/frontend/.storybook/assets/scenes/zaun.json
	deleted:    packages/frontend/.storybook/assets/scenes/zaun2.json
	deleted:    packages/frontend/.storybook/assets/scenes/zaun3.json
	deleted:    packages/frontend/.storybook/assets/shader/blend_additiveAlpha.json
	deleted:    packages/frontend/.storybook/assets/shader/blend_multiply.json
	deleted:    packages/frontend/.storybook/assets/shader/copy.json
	deleted:    packages/frontend/.storybook/assets/shader/depth.json
	deleted:    packages/frontend/.storybook/assets/shader/depthLimitedBlur.json
	deleted:    packages/frontend/.storybook/assets/shader/fxaa.json
	deleted:    packages/frontend/.storybook/assets/shader/normal.json
	deleted:    packages/frontend/.storybook/assets/shader/normalDepth.json
	deleted:    packages/frontend/.storybook/assets/shader/sao.json
	deleted:    packages/frontend/.storybook/assets/shader/sobel.json
	deleted:    packages/frontend/.storybook/assets/shader/sobelMultichannel.json
	deleted:    packages/frontend/.storybook/assets/shader/unpackDepthRGBA.json
	deleted:    packages/frontend/.storybook/fire/assets/images/empty_warehouse_2K.jpg
	deleted:    packages/frontend/.storybook/fire/assets/shader/blend_additiveAlpha.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/blend_multiply.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/copy.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/depth.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/depthLimitedBlur.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/fxaa.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/normal.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/normalDepth.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/sao.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/sobel.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/sobelMultichannel.json
	deleted:    packages/frontend/.storybook/fire/assets/shader/unpackDepthRGBA.json
	renamed:    packages/frontend/.storybook/assets/environment.config.json -> packages/frontend/.storybook/fire/environment.config.json
	renamed:    packages/frontend/.storybook/assets/images/empty_warehouse_2K.jpg -> packages/frontend/.storybook/fire/images/empty_warehouse_2K.jpg
	deleted:    packages/frontend/.storybook/fire/products/powered_roller_conveyor.png
	deleted:    packages/frontend/.storybook/fire/products/safety_fence_allround.png
	deleted:    packages/frontend/.storybook/fire/products/safety_fence_basic.png
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0131SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0733PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464SNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507PNA.json
	deleted:    packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507SNA.json
	new file:   packages/frontend/.storybook/fire/shader/blend_additiveAlpha.json
	new file:   packages/frontend/.storybook/fire/shader/blend_multiply.json
	new file:   packages/frontend/.storybook/fire/shader/copy.json
	new file:   packages/frontend/.storybook/fire/shader/depth.json
	new file:   packages/frontend/.storybook/fire/shader/depthLimitedBlur.json
	new file:   packages/frontend/.storybook/fire/shader/fxaa.json
	new file:   packages/frontend/.storybook/fire/shader/normal.json
	new file:   packages/frontend/.storybook/fire/shader/normalDepth.json
	new file:   packages/frontend/.storybook/fire/shader/sao.json
	new file:   packages/frontend/.storybook/fire/shader/sobel.json
	new file:   packages/frontend/.storybook/fire/shader/sobelMultichannel.json
	new file:   packages/frontend/.storybook/fire/shader/unpackDepthRGBA.json
	deleted:    packages/frontend/.storybook/fire/types/components/cameraController.component.d.ts
	deleted:    packages/frontend/.storybook/fire/types/components/cameraController.settings.d.ts
	deleted:    packages/frontend/.storybook/fire/types/components/index.d.ts
	deleted:    packages/frontend/.storybook/fire/types/environmentConfig.d.ts
	deleted:    packages/frontend/.storybook/fire/types/index.d.ts
	renamed:    packages/frontend/.storybook/fire/products/catalog.json -> packages/frontend/.storybook/products/catalog.json
	renamed:    packages/frontend/.storybook/assets/catalog/powered_roller_conveyor.png -> packages/frontend/.storybook/products/powered_roller_conveyor.png
	renamed:    packages/frontend/.storybook/fire/products/rollenfoerderer/rollenfoerderer.json -> packages/frontend/.storybook/products/rollenfoerderer/rollenfoerderer.json
	renamed:    packages/frontend/.storybook/fire/products/rollenfoerderer/rollenfoerdererprofil_aussenradius.json -> packages/frontend/.storybook/products/rollenfoerderer/rollenfoerdererprofil_aussenradius.json
	renamed:    packages/frontend/.storybook/assets/catalog/safety_fence_allround.png -> packages/frontend/.storybook/products/safety_fence_allround.png
	renamed:    packages/frontend/.storybook/assets/catalog/safety_fence_basic.png -> packages/frontend/.storybook/products/safety_fence_basic.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PLA.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PLA.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PLA.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PLA.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PLA.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PLA.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PRA.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PRA.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PRA.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PRA.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PRA.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083PRA.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SLA.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SLA.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SLA.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SLA.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SLA.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SLA.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SRA.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SRA.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SRA.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SRA.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SRA.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAD2083SRA.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0131SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0131SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0131SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0131SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0131SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0131SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0174SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0217SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0260SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0303SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0346SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0389SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0432SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0475SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0518SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0561SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0604SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0647SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0690SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733SNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0733SNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776PNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0776PNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776PNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0776PNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776PNN.png -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0776PNN.png
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776SNN.glb -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0776SNN.glb
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776SNN.json -> packages/frontend/.storybook/products/schutzzaun_allround/SAE0776SNN.json
	renamed:    packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE077


echo "=== SB ===" && git status -sb | head -1 && echo "=== Counts ===" && git status --porcelain | awk '{print substr($0,1,2)}' | sort | uniq -c && echo "=== Staged (Kategorien) ===" && git diff --cached --name-status | awk '{print $1}' | sort | uniq -c && echo "=== Log ===" && git log --oneline -8

Summarize cpq git status counts


=== SB ===
## Produktmanagement...origin/Produktmanagement
=== Counts ===
  81  D
  13  M
   2 ??
  12 A
  64 AM
 122 D
 252 R
 100 RM
=== Staged (Kategorien) ===
  76 A
 122 D
   1 R051
   1 R099
 350 R100
=== Log ===
297a73c update 1.06
cc927c5 @ad/fire auf 1.0.6
36ec21b eob
0633a88 git-sync: 2026-06-30 13:35
b961242 refactor
95bfb26 git-sync: 2026-06-29 20:16
5c8eaec git-sync: 2026-06-29 18:39
ce6f85c git-sync: 2026-06-29 16:38


Branch `Produktmanagement`, up to date mit `origin/Produktmanagement`. Umfangreicher **staged** Änderungssatz, noch nicht committet:

**Staged:**
- 350 Renames (R100, reine Pfad-Umbenennungen) + 2 weitere Renames mit Inhaltsänderung
- 122 Deletes
- 76 Adds

**Nicht gestaged:**
- 81 Deletes (D)
- 13 Modified (M)
- 2 Untracked (??)

Kombiniert (staged+unstaged pro Datei) zeigt der Porcelain u. a. 100 `RM` (Rename + weitere Änderung) und 64 `AM` (neu hinzugefügt + weiter geändert).

Sieht nach einer großen Umstrukturierung/Verschiebung aus (v. a. `.storybook/assets/...` gelöscht). Ein konkreter Commit ist nicht gesetzt — der Index ist voll vorbereitet, aber die Arbeitskopie hat darüber hinaus weitere ungestagte Löschungen/Änderungen.


das heißt der stand ist derzeit server / bei neir gleich


Nein, nur teilweise.

- **Committet (HEAD ↔ origin):** identisch — kein ahead/behind, `up to date`.
- **Arbeitskopie lokal:** weicht stark ab — hunderte staged Renames/Deletes/Adds plus ungestagte Änderungen, nichts davon committet oder gepusht.

Der Server kennt also nur den Stand bis Commit `297a73c`. Deine lokale Umstrukturierung liegt komplett unversioniert bei dir.


lokal sind aber NUR die Assets?


echo "=== Nicht-Asset-Pfade (staged+unstaged), Top-Verzeichnisse ===" && git status --porcelain | sed -E 's/^.. //; s/^.* -> //' | grep -viE '\.(png|json|fbx|jpg|jpeg|glb|gltf|bak)$' | grep -viE '\.storybook/assets|/assets/' | sort | uniq | head -80

List non-asset changed paths


=== Nicht-Asset-Pfade (staged+unstaged), Top-Verzeichnisse ===
packages/frontend/.storybook/app-resources/
packages/frontend/.storybook/fire/types/components/cameraController.component.d.ts
packages/frontend/.storybook/fire/types/components/cameraController.settings.d.ts
packages/frontend/.storybook/fire/types/components/index.d.ts
packages/frontend/.storybook/fire/types/environmentConfig.d.ts
packages/frontend/.storybook/fire/types/index.d.ts
packages/frontend/.storybook/main.ts
packages/frontend/.storybook/server-root/
packages/frontend/src/components/building-blocks/ProductBrowser.stories.ts
packages/frontend/src/components/building-blocks/ProductBrowser.vue
packages/frontend/src/components/building-blocks/ProductBrowserPanel.stories.ts
packages/frontend/src/components/building-blocks/ProductSettingsPanel.stories.ts
packages/frontend/src/components/visual/Fire3D.vue
packages/frontend/src/components/visual/Fire3d.stories.ts
packages/frontend/src/components/visual/ProductConfigurator.stories.ts
packages/frontend/src/components/visual/ProductConfigurator.vue
packages/frontend/src/configurator/events/DefaultCommandProcessor.test.ts
packages/frontend/src/configurator/events/DefaultCommandProcessor.ts
packages/frontend/src/configurator/model/GroupProcessor.test.ts
packages/frontend/src/configurator/model/GroupProcessor.ts


echo "=== Alle Nicht-Asset-Pfade ===" && git status --porcelain | sed -E 's/^.. //; s/^.* -> //' | grep -viE '\.(png|json|fbx|jpg|jpeg|glb|gltf|bak)$' | grep -viE '\.storybook/(assets|fire/types|app-resources|server-root)' | sort -u && echo && echo "=== Anzahl geänderter Nicht-Asset-Quelldateien (src, ohne .d.ts) ===" && git status --porcelain | sed -E 's/^.. //; s/^.* -> //' | grep -E '\.(ts|vue|tsx|js|css|scss|md)$' | grep -v '\.d\.ts$' | grep -vE '\.storybook/' | sort -u | wc -l

Full non-asset changed source files


=== Alle Nicht-Asset-Pfade ===
packages/frontend/.storybook/main.ts
packages/frontend/src/components/building-blocks/ProductBrowser.stories.ts
packages/frontend/src/components/building-blocks/ProductBrowser.vue
packages/frontend/src/components/building-blocks/ProductBrowserPanel.stories.ts
packages/frontend/src/components/building-blocks/ProductSettingsPanel.stories.ts
packages/frontend/src/components/visual/Fire3D.vue
packages/frontend/src/components/visual/Fire3d.stories.ts
packages/frontend/src/components/visual/ProductConfigurator.stories.ts
packages/frontend/src/components/visual/ProductConfigurator.vue
packages/frontend/src/configurator/events/DefaultCommandProcessor.test.ts
packages/frontend/src/configurator/events/DefaultCommandProcessor.ts
packages/frontend/src/configurator/model/GroupProcessor.test.ts
packages/frontend/src/configurator/model/GroupProcessor.ts

=== Anzahl geänderter Nicht-Asset-Quelldateien (src, ohne .d.ts) ===
      12


Nein. Neben den Assets sind auch echte Quelldateien geändert — 12 Stück unter `src/` (plus `.storybook/main.ts` und generierte `.d.ts`):

- `configurator/model/GroupProcessor.ts` + `.test.ts`
- `configurator/events/DefaultCommandProcessor.ts` + `.test.ts`
- `components/visual/ProductConfigurator.vue` + `.stories.ts`
- `components/visual/Fire3D.vue` + `Fire3d.stories.ts`
- `components/building-blocks/ProductBrowser.vue` + 3 zugehörige `.stories.ts`

Also nicht nur Assets — der Kern (GroupProcessor, DefaultCommandProcessor, ProductConfigurator) ist mit betroffen.


das sind die neuen Einbuapunkte
FCK
--> die bitte commiten und pushen


Der Index ist bereits mit der großen Asset-Umstrukturierung gefüllt (350 Renames, 122 Deletes, 76 Adds). Ein einfacher `git commit` würde das mit reinnehmen. Bevor ich das mische:


AskUserQuestion

Question: Was soll in den Commit?

Choices:
Nur die 13 geänderten Quelldateien (GroupProcessor, DefaultCommandProcessor, ProductConfigurator, ProductBrowser, Fire3D + zugehörige stories/tests). Asset-Umbau bleibt ungestaged/uncommittet.
Der komplette lokale Stand: Einbaupunkte + gesamte Asset-Umstrukturierung (Renames/Deletes/Adds) in einem Commit.


Your questions have been answered: "Was soll in den Commit?"="Alles zusammen". You can now continue with these answers in mind.

Question: Was soll in den Commit?

Choices:
Nur die 13 geänderten Quelldateien (GroupProcessor, DefaultCommandProcessor, ProductConfigurator, ProductBrowser, Fire3D + zugehörige stories/tests). Asset-Umbau bleibt ungestaged/uncommittet.
Der komplette lokale Stand: Einbaupunkte + gesamte Asset-Umstrukturierung (Renames/Deletes/Adds) in einem Commit.


das sind die neuen Einbuapunkte FCK --> die bitte commiten und pushen


[Request interrupted by user]


Nur die Einbuapunkte


Bash

git add -- \
  packages/frontend/src/configurator/model/GroupProcessor.ts \
  packages/frontend/src/configurator/model/GroupProcessor.test.ts \
  packages/frontend/src/configurator/events/DefaultCommandProcessor.ts \
  packages/frontend/src/configurator/events/DefaultCommandProcessor.test.ts \
  packages/frontend/src/components/visual/ProductConfigurator.vue \
  packages/frontend/src/components/visual/ProductConfigurator.stories.ts \
  packages/frontend/src/components/visual/Fire3D.vue \
  packages/frontend/src/components/visual/Fire3d.stories.ts \
  packages/frontend/src/components/building-blocks/ProductBrowser.vue \
  packages/frontend/src/components/building-blocks/ProductBrowser.stories.ts \
  packages/frontend/src/components/building-blocks/ProductBrowserPanel.stories.ts \
  packages/frontend/src/components/building-blocks/ProductSettingsPanel.stories.ts \
&& echo "=== Was committet wird ===" && git diff --cached --name-status -- packages/frontend/src

Stage only the Einbaupunkte source files


=== Was committet wird ===
M	packages/frontend/src/components/building-blocks/ProductBrowser.stories.ts
M	packages/frontend/src/components/building-blocks/ProductBrowser.vue
M	packages/frontend/src/components/building-blocks/ProductBrowserPanel.stories.ts
M	packages/frontend/src/components/building-blocks/ProductSettingsPanel.stories.ts
M	packages/frontend/src/components/visual/Fire3D.vue
M	packages/frontend/src/components/visual/Fire3d.stories.ts
M	packages/frontend/src/components/visual/ProductConfigurator.stories.ts
M	packages/frontend/src/components/visual/ProductConfigurator.vue
M	packages/frontend/src/configurator/events/DefaultCommandProcessor.test.ts
M	packages/frontend/src/configurator/events/DefaultCommandProcessor.ts
M	packages/frontend/src/configurator/model/GroupProcessor.test.ts
M	packages/frontend/src/configurator/model/GroupProcessor.ts


Genau die 12 Einbaupunkt-Dateien. Commit nur dieser Pfade (Asset-Index bleibt unberührt), dann push:


git commit -m "Neue Einbaupunkte: GroupProcessor/DefaultCommandProcessor + ProductConfigurator/ProductBrowser/Fire3D" -- \
  packages/frontend/src/configurator/model/GroupProcessor.ts \
  packages/frontend/src/configurator/model/GroupProcessor.test.ts \
  packages/frontend/src/configurator/events/DefaultCommandProcessor.ts \
  packages/frontend/src/configurator/events/DefaultCommandProcessor.test.ts \
  packages/frontend/src/components/visual/ProductConfigurator.vue \
  packages/frontend/src/components/visual/ProductConfigurator.stories.ts \
  packages/frontend/src/components/visual/Fire3D.vue \
  packages/frontend/src/components/visual/Fire3d.stories.ts \
  packages/frontend/src/components/building-blocks/ProductBrowser.vue \
  packages/frontend/src/components/building-blocks/ProductBrowser.stories.ts \
  packages/frontend/src/components/building-blocks/ProductBrowserPanel.stories.ts \
  packages/frontend/src/components/building-blocks/ProductSettingsPanel.stories.ts \
&& echo "=== PUSH ===" && git push origin Produktmanagement && echo "=== NACHHER ===" && git status -sb | head -1

Commit Einbaupunkte and push


[Produktmanagement ea77fdc] Neue Einbaupunkte: GroupProcessor/DefaultCommandProcessor + ProductConfigurator/ProductBrowser/Fire3D
 12 files changed, 89 insertions(+), 47 deletions(-)
=== PUSH ===
remote:
remote: To create a merge request for Produktmanagement, visit:
remote:   https://git.heron.at/pzm/geko/adesso-cpq/-/merge_requests/new?merge_request%5Bsource_branch%5D=Produktmanagement
remote:
To https://git.heron.at/pzm/geko/adesso-cpq.git
   297a73c..ea77fdc  Produktmanagement -> Produktmanagement
=== NACHHER ===
## Produktmanagement...origin/Produktmanagement


Erledigt. Commit `ea77fdc`, 12 Dateien (89+/47−), gepusht auf `origin/Produktmanagement` (Fast-Forward `297a73c..ea77fdc`). Branch wieder up to date.

Die Asset-Umstrukturierung bleibt wie gewünscht ungestaged/uncommittet lokal liegen.


Szenegrap der basic Doppelrtüprß


Die Nachricht ist unvollständig — was soll mit dem Szenegraph der basic Doppeltür (`safety_fence_basic_double_door`) passieren? Anschauen, öffnen, ändern? Und welche Datei/welches Format meinst du (die Szene-JSON, den Katalog-Eintrag)?


Wie der Graph heißt?


grep -rilE 'basic.?double.?door|basic.?doppel' packages/frontend --include='*.json' --include='*.ts' --include='*.vue' 2>/dev/null | head -30

Search for basic double door graph name


grep -niE 'basic.?double.?door|basic.?doppel' packages/frontend/.storybook/products/catalog.json | head; echo "---"; python3 -c "
import json
d=json.load(open('packages/frontend/.storybook/products/catalog.json'))
def walk(o,p=''):
    if isinstance(o,dict):
        for k,v in o.items():
            if 'double' in str(k).lower() or (isinstance(v,str) and 'double' in v.lower() and 'basic' in v.lower()):
                print(p+'/'+str(k),'=',v if isinstance(v,str) else type(v).__name__)
            walk(v,p+'/'+str(k))
    elif isinstance(o,list):
        for i,v in enumerate(o): walk(v,p+f'[{i}]')
walk(d)
" 2>/dev/null | head -40

Inspect catalog for basic double door entry


1302:                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
1320:                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
1344:                  "stammdatenBild": "basic_doppeltuer_polycarbonat.png",
1362:                  "stammdatenBild": "basic_doppeltuer_polycarbonat.png",
---


1290	                {
1291	                  "artikelnummer": "SBD2083SLA",
1292	                  "initialartikel": false,
1293	                  "masse": {
1294	                    "laenge": 2160,
1295	                    "breite": 2083,
1296	                    "hoehe": 80
1297	                  },
1298	                  "filter": {
1299	                    "fuellung": "schweissgitter",
1300	                    "tuerdurchgang": "links"
1301	                  },
1302	                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
1303	                  "assets": {
1304	                    "scenegraph": "schutzzaun_basic/SBD2083SLA.json",
1305	                    "bild": "schutzzaun_basic/SBD2083SLA.png"
1306	                  }
1307	                },
1308	                {
1309	                  "artikelnummer": "SBD2083SRA",
1310	                  "initialartikel": true,
1311	                  "masse": {
1312	                    "laenge": 2160,
1313	                    "breite": 2083,
1314	                    "hoehe": 80
1315	                  },
1316	                  "filter": {
1317	                    "fuellung": "schweissgitter",
1318	                    "tuerdurchgang": "rechts"
1319	                  },
1320	                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
1321	                  "assets": {
1322	                    "scenegraph": "schutzzaun_basic/SBD2083SRA.json",
1323	                    "bild": "schutzzaun_basic/SBD2083SRA.png"
1324	                  }
1325	                }
1326	              ]
1327	            },
1328	            {
1329	              "name": "SBD2083PLA",
1330	              "fuellung": "polycarbonat",
1331	              "artikel": [
1332	                {
1333	                  "artikelnummer": "SBD2083PLA",
1334	                  "initialartikel": false,

                {
                  "artikelnummer": "SBD2083SLA",
                  "initialartikel": false,
                  "masse": {
                    "laenge": 2160,
                    "breite": 2083,
                    "hoehe": 80
                  },
                  "filter": {
                    "fuellung": "schweissgitter",
                    "tuerdurchgang": "links"
                  },
                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
                  "assets": {
                    "scenegraph": "schutzzaun_basic/SBD2083SLA.json",
                    "bild": "schutzzaun_basic/SBD2083SLA.png"
                  }
                },
                {
                  "artikelnummer": "SBD2083SRA",
                  "initialartikel": true,
                  "masse": {
                    "laenge": 2160,
                    "breite": 2083,
                    "hoehe": 80
                  },
                  "filter": {
                    "fuellung": "schweissgitter",
                    "tuerdurchgang": "rechts"
                  },
                  "stammdatenBild": "basic_doppeltuer_schweissgitter.png",
                  "assets": {
                    "scenegraph": "schutzzaun_basic/SBD2083SRA.json",
                    "bild": "schutzzaun_basic/SBD2083SRA.png"
                  }
                }
              ]
            },
            {
              "name": "SBD2083PLA",
              "fuellung": "polycarbonat",
              "artikel": [
                {
                  "artikelnummer": "SBD2083PLA",
                  "initialartikel": false,


Der Szenegraph der basic Doppeltür heißt nach Artikelnummer, unter `schutzzaun_basic/`:

- **Schweißgitter, links:** `schutzzaun_basic/SBD2083SLA.json`
- **Schweißgitter, rechts** (initial): `schutzzaun_basic/SBD2083SRA.json`
- **Polycarbonat, links:** `schutzzaun_basic/SBD2083PLA.json`
- Polycarbonat, rechts: `schutzzaun_basic/SBD2083PRA.json`

Feld `assets.scenegraph` in `catalog.json`. Der initiale/Standard-Graph ist `SBD2083SRA.json`.


kannst du die neue ordnerstruktur doch commiten und pushen


git status --porcelain | awk '{print substr($0,1,2)}' | sort | uniq -c; echo "=== Nicht-Asset noch offen ==="; git status --porcelain | sed -E 's/^.. //; s/^.* -> //' | grep -viE '\.(png|json|fbx|jpg|jpeg|glb|gltf|bak)$' | grep -viE '\.storybook/(assets|fire/types|app-resources|server-root)' | sort -u

Recheck status after Einbaupunkte commit


  81  D
   1  M
   2 ??
  12 A
  64 AM
 122 D
 252 R
 100 RM
=== Nicht-Asset noch offen ===
packages/frontend/.storybook/main.ts


Nur noch die Asset-/Ordnerstruktur (plus `.storybook/main.ts`) offen. Alles stagen, committen, pushen:


git add -A && git commit -m "Neue Ordnerstruktur: Assets/Szenegraphen umstrukturiert" && echo "=== PUSH ===" && git push origin Produktmanagement && echo "=== NACHHER ===" && git status -sb

Commit and push new folder structure


<persisted-output>
Output too large (68.5KB). Full output saved to: /home/marcuh/.config/ai-control/pools/private/projects/-Users-marcus-hinz-claude-projects-robotunits/d39343b7-d69e-4d28-8db5-a5803a4e8931/tool-results/bcw3ld71f.txt

Preview (first 2KB):
[Produktmanagement debdb4e] Neue Ordnerstruktur: Assets/Szenegraphen umstrukturiert
 734 files changed, 1242 insertions(+), 13567 deletions(-)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/duplicate.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/edit.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/trash.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/theme-template.css (100%)
 delete mode 100644 packages/frontend/.storybook/assets/catalog/catalog.json
 delete mode 100644 packages/frontend/.storybook/assets/catalog/construction_geometry.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_curve.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_dreheinheit.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_straight.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_double_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_panel.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_post.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_single_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_sliding_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_double_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_panel.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_single_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_sliding_door.png
 delete mode 100644 packages/frontend/.storybook/assets/environment.config.json_bak
...
</persisted-output>

[Produktmanagement debdb4e] Neue Ordnerstruktur: Assets/Szenegraphen umstrukturiert
 734 files changed, 1242 insertions(+), 13567 deletions(-)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/duplicate.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/edit.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/icons/trash.svg (100%)
 rename packages/frontend/.storybook/{assets => app-resources}/theme-template.css (100%)
 delete mode 100644 packages/frontend/.storybook/assets/catalog/catalog.json
 delete mode 100644 packages/frontend/.storybook/assets/catalog/construction_geometry.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_curve.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_dreheinheit.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/powered_roller_conveyor_straight.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_double_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_panel.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_post.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_single_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_allround_sliding_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_double_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_panel.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_single_door.png
 delete mode 100644 packages/frontend/.storybook/assets/catalog/safety_fence_basic_sliding_door.png
 delete mode 100644 packages/frontend/.storybook/assets/environment.config.json_bak
 delete mode 100644 packages/frontend/.storybook/assets/fbx/screw.fbx
 delete mode 100644 packages/frontend/.storybook/assets/scenes/collision-2.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/collision-simple.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/empty.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/nestedGraph.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/profile.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/rolle.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/zaun.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/zaun2.json
 delete mode 100644 packages/frontend/.storybook/assets/scenes/zaun3.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/blend_additiveAlpha.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/blend_multiply.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/copy.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/depth.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/depthLimitedBlur.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/fxaa.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/normal.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/normalDepth.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/sao.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/sobel.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/sobelMultichannel.json
 delete mode 100644 packages/frontend/.storybook/assets/shader/unpackDepthRGBA.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/images/empty_warehouse_2K.jpg
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/blend_additiveAlpha.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/blend_multiply.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/copy.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/depth.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/depthLimitedBlur.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/fxaa.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/normal.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/normalDepth.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/sao.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/sobel.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/sobelMultichannel.json
 delete mode 100644 packages/frontend/.storybook/fire/assets/shader/unpackDepthRGBA.json
 rename packages/frontend/.storybook/{assets => fire}/environment.config.json (99%)
 rename packages/frontend/.storybook/{assets => fire}/images/empty_warehouse_2K.jpg (100%)
 delete mode 100644 packages/frontend/.storybook/fire/products/powered_roller_conveyor.png
 delete mode 100644 packages/frontend/.storybook/fire/products/rollenfoerderer/rollenfoerdererprofil_aussenradius.json
 delete mode 100644 packages/frontend/.storybook/fire/products/safety_fence_allround.png
 delete mode 100644 packages/frontend/.storybook/fire/products/safety_fence_basic.png
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAD2083SRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0131SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0174SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0217SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0260SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0303SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0346SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0389SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0432SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0475SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0518SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0561SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0604SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0647SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0690SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0733SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0776SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0819PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0819SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0862PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0862SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0905PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0905SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0948PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0948SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0991PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE0991SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1034PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1034SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1077PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1077SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1120PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1120SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1163PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1163SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1206PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1206SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1249PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1249SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1292PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1292SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1335PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1335SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1378PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1378SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1421PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1421SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1464PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1464SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1507PNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAE1507SNN.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAF0872PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAF0872PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAF0872SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAF0872SRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180ANA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180BNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180CNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180DNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180ENA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180FNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAP4180GNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAS1044PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAS1044PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAS1044SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_allround/SAS1044SRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083PLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083PRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083SLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083SRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBD2083SRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0131SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0131SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0174SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0217SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0260SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0303SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0346SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0389SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0432SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0475SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0518SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0561SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0604SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0647SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0690SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0733PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0733PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0733SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0733SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0776SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0819SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0862SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0905SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0948SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE0991SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1034SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1077SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1120SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1163SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1206SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1249SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1292SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1335SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1378SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1421SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1464SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507PNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507PNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507SNA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBE1507SNA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872PLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872PRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872SLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872SRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBF0872SRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044PLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044PLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044PRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044PRA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044SLA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044SLA.json
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044SRA.glb
 delete mode 100644 packages/frontend/.storybook/fire/products/schutzzaun_basic/SBS1044SRA.json
 create mode 100644 packages/frontend/.storybook/fire/shader/blend_additiveAlpha.json
 create mode 100644 packages/frontend/.storybook/fire/shader/blend_multiply.json
 create mode 100644 packages/frontend/.storybook/fire/shader/copy.json
 create mode 100644 packages/frontend/.storybook/fire/shader/depth.json
 create mode 100644 packages/frontend/.storybook/fire/shader/depthLimitedBlur.json
 create mode 100644 packages/frontend/.storybook/fire/shader/fxaa.json
 create mode 100644 packages/frontend/.storybook/fire/shader/normal.json
 create mode 100644 packages/frontend/.storybook/fire/shader/normalDepth.json
 create mode 100644 packages/frontend/.storybook/fire/shader/sao.json
 create mode 100644 packages/frontend/.storybook/fire/shader/sobel.json
 create mode 100644 packages/frontend/.storybook/fire/shader/sobelMultichannel.json
 create mode 100644 packages/frontend/.storybook/fire/shader/unpackDepthRGBA.json
 delete mode 100644 packages/frontend/.storybook/fire/types/components/cameraController.component.d.ts
 delete mode 100644 packages/frontend/.storybook/fire/types/components/cameraController.settings.d.ts
 delete mode 100644 packages/frontend/.storybook/fire/types/components/index.d.ts
 delete mode 100644 packages/frontend/.storybook/fire/types/environmentConfig.d.ts
 delete mode 100644 packages/frontend/.storybook/fire/types/index.d.ts
 rename packages/frontend/.storybook/{fire => }/products/catalog.json (87%)
 rename packages/frontend/.storybook/{assets/catalog => products}/powered_roller_conveyor.png (100%)
 rename packages/frontend/.storybook/{fire => }/products/rollenfoerderer/rollenfoerderer.json (100%)
 create mode 100644 packages/front


git status -sb | head -1 && git log --oneline -2

Confirm push result


## Produktmanagement...origin/Produktmanagement
debdb4e Neue Ordnerstruktur: Assets/Szenegraphen umstrukturiert
ea77fdc Neue Einbaupunkte: GroupProcessor/DefaultCommandProcessor + ProductConfigurator/ProductBrowser/Fire3D


Erledigt. Commit `debdb4e` (734 Dateien, 1242+/13567−), gepusht auf `origin/Produktmanagement`. Working tree ist jetzt sauber, Branch up to date.


mach mal ein build


cat package.json | python3 -c "import json,sys; d=json.load(sys.stdin); print('name:',d.get('name')); print('scripts:'); [print(' ',k,'=',v) for k,v in d.get('scripts',{}).items()]; print('pm:',d.get('packageManager'))"

Inspect root package.json scripts


name: adesso-cpq
scripts:
  test = echo "Error: no test specified" && exit 1
  build = pnpm -r build
  lint = eslint .
  lint:fix = eslint . --fix
  format = prettier --write .
  format:check = prettier --check .
pm: pnpm@11.9.0


Run recursive pnpm build


packages/blast build: ESM Build start
packages/blast build: ESM dist/index.js     4.49 KB
packages/blast build: ESM dist/index.js.map 14.96 KB
packages/blast build: ESM ⚡ Build success in 49ms
packages/blast build: DTS Build start
packages/blast build: DTS ⚡ Build success in 278ms
packages/blast build: DTS dist/index.d.ts 6.04 KB
packages/blast build: Done
packages/core build$ tsup
packages/core build: CLI Building entry: src/index.ts
packages/core build: CLI Using tsconfig: tsconfig.json
packages/core build: CLI tsup v8.5.1
packages/core build: CLI Using tsup config: /home/marcuh/projects/adesso-cpq/packages/core/tsup.config.ts
packages/core build: CLI Target: es2022
packages/core build: CLI Cleaning output folder
packages/core build: ESM Build start
packages/core build: ESM dist/index.js     1.54 KB
packages/core build: ESM dist/index.js.map 3.90 KB
packages/core build: ESM ⚡ Build success in 36ms
packages/core build: DTS Build start
packages/core build: DTS ⚡ Build success in 258ms
packages/core build: DTS dist/index.d.ts 2.48 KB
packages/core build: Done
packages/frontend build$ vite build
packages/frontend build: vite v7.3.5 building client environment for production...
packages/frontend build: transforming...
packages/frontend build: ✓ 99 modules transformed.
packages/frontend build: rendering chunks...
packages/frontend build: [vite:dts] Start generate declaration files...
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:93:16 - error TS2339: Property 'gruppen' does not exist on type 'CatalogNode'.
packages/frontend build: 93     props.data.gruppen.map((g) => ({
packages/frontend build:                   ~~~~~~~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:93:29 - error TS7006: Parameter 'g' implicitly has an 'any' type.
packages/frontend build: 93     props.data.gruppen.map((g) => ({
packages/frontend build:                                ~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:97:19 - error TS7006: Parameter 'kg' implicitly has an 'any' type.
packages/frontend build: 97             .map((kg) => {
packages/frontend build:                      ~~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:98:57 - error TS7006: Parameter 'ag' implicitly has an 'any' type.
packages/frontend build: 98                 const arts = kg.artikelgruppen.flatMap((ag) => ag.artikel);
packages/frontend build:                                                            ~~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:99:40 - error TS7006: Parameter 'a' implicitly has an 'any' type.
packages/frontend build: 99                 const def = arts.find((a) => a.filter?.fuellung === "polycarbonat") ?? arts.find((a) => a.initialartikel);
packages/frontend build:                                           ~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:99:99 - error TS7006: Parameter 'a' implicitly has an 'any' type.
packages/frontend build: 99                 const def = arts.find((a) => a.filter?.fuellung === "polycarbonat") ?? arts.find((a) => a.initialartikel);
packages/frontend build:                                                                                ~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:105:64 - error TS7006: Parameter 'item' implicitly has an 'any' type.
packages/frontend build: 105 const selectedCategory = computed(() => categories.value.find((item) => item.name === selectedCategoryName.value));
packages/frontend build:                                                                    ~~~~
packages/frontend build: src/components/building-blocks/ProductBrowser.vue:109:63 - error TS7006: Parameter 'item' implicitly has an 'any' type.
packages/frontend build: 109 const selectedChild = computed(() => childOptions.value.find((item) => item.name === selectedChildName.value));
packages/frontend build:                                                                   ~~~~
packages/frontend build: computing gzip size...
packages/frontend build: [vite:dts] Declaration files built in 1410ms.
packages/frontend build: dist/style.css                        43.79 kB │ gzip:   6.86 kB
packages/frontend build: dist/index.js                         92.37 kB │ gzip:  24.34 kB │ map:   252.47 kB
packages/frontend build: dist/browser-XYJYSCYI-DrQvkCjY.js  2,265.05 kB │ gzip: 477.07 kB │ map: 4,508.20 kB
packages/frontend build: ✓ built in 3.56s
packages/frontend build: Done


pnpm -r build >/dev/null 2>&1; echo "EXIT=$?"

Check build exit code