Support different S-group bracket types
- Dominant language
- C++
- Stars
- 406
- Forks
- 134
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 24
Description
**Background**
Ketcher will allow users to select one of three bracket types for an S-group:
Square: []
Round: ()
Curly: {}
Indigo should preserve the selected type where the format supports it and use it when rendering the structure.
Supporting Ketcher issue - https://github.com/epam/ketcher/issues/10469
**Requirements**
1. KET
Store the selected bracket style in the corresponding S-group object.
Supported styles:
Square brackets [ ]
Parentheses ( )
Curly brackets { }
Preserve and render the selected style during KET load and save.
2. MOL V2000
No M SBT record or style 0 → Square brackets [ ]
Style 1 → Parentheses ( )
Curly brackets { } must be exported as Square brackets [ ]
3. MOL V3000
No BRKTYP or BRKTYP=BRACKET → Square brackets [ ]
BRKTYP=PAREN → Parentheses ( )
Curly brackets { } must be exported as BRKTYP=BRACKET
4. CDX
SquarePair ↔ Square brackets [ ]RoundPair ↔ Parentheses ( )
CurlyPair ↔ Curly brackets { }
5. CDXML
BracketType="SquarePair" ↔ Square brackets [ ]
BracketType="RoundPair" ↔ Parentheses ( )
BracketType="CurlyPair" ↔ Curly brackets { }
6. PNG and SVG rendering of S-groups with different bracket types should be supported.
Contributor guide
No contributing guide indexed for this repository
Research direction
No implementation files or tests are named. Start by locating the S-group representation and the KET, MOL V2000/V3000, CDX, and CDXML load/save paths, then trace PNG and SVG rendering; done means all listed bracket mappings are preserved or converted as specified and both renderers show the selected type.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100