specs for rewrite
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
# Functional Requirements: Circuit List Inside a Distribution Board
|
||||
|
||||
## Scope
|
||||
|
||||
This specification focuses only on the circuit list inside one distribution board.
|
||||
|
||||
Out of scope for this document:
|
||||
|
||||
- project management
|
||||
- user accounts
|
||||
- permissions
|
||||
- full tender export
|
||||
- CAD integration
|
||||
- full norm-compliant electrical calculation
|
||||
- cloud deployment
|
||||
|
||||
The first goal is a fast, spreadsheet-like editor for creating, editing, sorting and restructuring circuit lists.
|
||||
|
||||
## Sections
|
||||
|
||||
The circuit list is grouped into sections.
|
||||
|
||||
Default sections:
|
||||
|
||||
| Section | Default prefix |
|
||||
|---|---|
|
||||
| Lighting | `-1F` |
|
||||
| Single-phase circuits | `-2F` |
|
||||
| Three-phase circuits | `-3F` |
|
||||
|
||||
Sections are displayed as separator rows in the table, not as normal visible data columns.
|
||||
|
||||
Example:
|
||||
|
||||
```text
|
||||
Lighting
|
||||
-1F1 Beleuchtung Flur
|
||||
-1F2 Beleuchtung Außen
|
||||
|
||||
Single-phase circuits
|
||||
-2F1 Arbeitsplatzsteckdosen Büro
|
||||
-2F2 Handtrockner WC
|
||||
|
||||
Three-phase circuits
|
||||
-3F1 Durchlauferhitzer
|
||||
```
|
||||
|
||||
Internally, every circuit belongs to a section. In the UI, the section is shown as a grouping separator.
|
||||
|
||||
## Future Section Configuration
|
||||
|
||||
Sections and numbering prefixes should later be configurable per project.
|
||||
|
||||
Future project configurations may support:
|
||||
|
||||
- one continuous numbering sequence without lighting/single-phase/three-phase separation
|
||||
- numbering grouped by RCD
|
||||
- numbering grouped by functional area
|
||||
- custom prefixes and suffixes
|
||||
- custom section names
|
||||
|
||||
The first implementation may use the default sections, but the structure must not permanently hardcode them.
|
||||
|
||||
## Circuit Numbering / Equipment Identifiers
|
||||
|
||||
Each circuit has an equipment identifier.
|
||||
|
||||
Examples:
|
||||
|
||||
- `-1F1`
|
||||
- `-1F2`
|
||||
- `-2F1`
|
||||
- `-2F2`
|
||||
- `-3F1`
|
||||
|
||||
Default convention:
|
||||
|
||||
- `-1Fx` = lighting circuits
|
||||
- `-2Fx` = single-phase circuits
|
||||
- `-3Fx` = three-phase circuits
|
||||
|
||||
When a new circuit is created, the next identifier is calculated as:
|
||||
|
||||
```text
|
||||
highest existing number in the section + 1
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
Existing identifiers in single-phase section:
|
||||
|
||||
- `-2F1`
|
||||
- `-2F2`
|
||||
- `-2F5`
|
||||
|
||||
New circuit receives:
|
||||
|
||||
- `-2F6`
|
||||
|
||||
Gaps are not filled automatically.
|
||||
|
||||
Gaps may be closed only by:
|
||||
|
||||
- manually editing equipment identifiers
|
||||
- explicitly using a renumbering action
|
||||
|
||||
## Renumbering
|
||||
|
||||
The app must never automatically renumber existing circuits after:
|
||||
|
||||
- inserting a circuit
|
||||
- deleting a circuit
|
||||
- moving a circuit
|
||||
- moving a device
|
||||
- sorting a section
|
||||
- dragging rows
|
||||
- changing a device
|
||||
- synchronizing a linked project device
|
||||
|
||||
Renumbering only happens through an explicit user action.
|
||||
|
||||
Each section has a "Renumber section" action.
|
||||
|
||||
The renumbering action:
|
||||
|
||||
- keeps the current visual order
|
||||
- updates only circuits in that section
|
||||
- ignores device rows for numbering
|
||||
- does not affect other sections
|
||||
- uses the section prefix
|
||||
|
||||
## Reserve / Empty Circuits
|
||||
|
||||
Empty circuits are allowed.
|
||||
|
||||
An empty circuit may be used as a reserve circuit.
|
||||
|
||||
If the last device is removed from a circuit, the user may choose:
|
||||
|
||||
- keep empty circuit as reserve
|
||||
- delete circuit completely
|
||||
- cancel
|
||||
|
||||
Reserve circuits remain visible and keep their equipment identifier unless manually changed or explicitly renumbered.
|
||||
Reference in New Issue
Block a user