Feature/146 translate open qasm to circuit editor - #163
Merged
Redoxcraft merged 29 commits intoJul 22, 2026
Conversation
Added toCode functions that return the code as string in all relevant classes
…ditor-and-circuit-editor
…o-Circuit-Editor' into feature/146-Translate-OpenQASM-to-Circuit-Editor
Fixed small errors in QasmTest.java Examples.
footer now scrolls with circuit columns, qubit wires now rendering full circuit width
…se/Generate Round Trips #146
- Fix tabs vanishing after reload: useMonacoGarbageCollector now resets tab state on unmount only, instead of whenever monaco loads. - Persist circuit edits on tab close/project switch and don't let a late editor-state restore clobber freshly opened tabs. - Turn QASM parse failures into HTTP 400 (QasmParseException) instead of 500; build registers from declarations and split control/target via the gate definition; guard non-finite angles. - Keep getOrCreateByFileId read-only for VIEWERs, null-guard the REST adapter, retry the editor-state first-save race, and remove debug/dead code.
…RZ gates in Circuit Editor. Use Layernumber instead as UUID in Comment in toCode method.
…ight Click on Tab in Circuit Editor
rest communication von code to qasmcode
Circuit is only Based on File and on nothing else.
Fiexed #129 on DragEnter and onDragLeave
…es and Panel-Reopen Save #119 Backend * Removed the generateNewId() workaround from rescheduleOperations(); the underlying orphanRemoval issue no longer reproduces and is now covered by OrphanRemovalRegressionTest. * Preserve client-supplied operation ids across full-replace saves (missing ids are generated). Layer ids remain positional. * Reject duplicate operation ids and ids belonging to another circuit (422), backed by repository checks and service validation. * Added/updated unit, mapper, service, and E2E tests for id preservation and validation. Frontend * Drop zones now use the scheduler’s span-overlap logic, allowing valid drops next to multi-qubit gates. * Reopening the Code panel no longer retriggers the last save, preventing intermittent duplicate-PUT “Save failed” errors.
…cuit-Editor # Conflicts: # backend/build.gradle # backend/src/main/java/edu/kit/quak/core/circuit/model/QuantumCircuit.java # frontend/src/App.tsx # frontend/src/hooks/editor/useEditorCommands.ts # frontend/src/hooks/editor/useMonacoGarbageCollector.ts # frontend/src/views/circuit-view/components/CircuitToolbar.tsx
|
This was
linked to
issues
Jul 6, 2026
Redoxcraft
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Feature #146 – Translate OpenQASM to Circuit Editor
Overview
This pull request introduces the OpenQASM-to-Circuit translation workflow and lays the foundation for supporting multiple circuit editors. As part of the implementation, several issues related to circuit state management, drag & drop, and editor synchronization were also resolved. Some of these bugs were fixed directly through the new implementation, while others were addressed independently during development.
Features
Bug Fixes
Notes