Skip to content

Add EVA cell for circuit designers, add annotation cell #404

Open

Description

@animagr

Hey, love the app! also see you are in MN as well :)

I saw you starred my fork of your app, https://github.com/animagr/EngineeringPaperStandalone. I had included some additions for my personal use as a circuit designer (and tried to remove any networking dependencies).

Figured I would suggest the improvements I made to your official version in case you want to implement it for users! Also let me know if i can help in any way or i need to make any changes in the way i referenced your repository, i am not a software engineer by trade.

i have an Example.docx of the changes i made in my repo.


Annotation Column for Math Cells
Math cells have an optional annotation column to the right for units descriptions, notes, or labels (e.g., "velocity", "kg/m^3"). It is for reference only, so doesn't impact calculations. I did this as I had a hard time using the built-in units function, and wanted this as clean unit documentation especially when exporting to docx.

Circuit Analysis feature for Electrical Engineers:

Extreme Value Analysis (EVA) Cell
A new cell type that finds worst-case min/max of an output expression by evaluating all 2^n combinations of input parameter bounds, plus sensitivity analysis.

Usage:

Define parameters on the sheet (e.g., V = 10 [V], R = 1000 [Ω], I = V / R =)
Insert an EVA cell (button 0 in the insert menu, or the Analytics icon)
Set the Query field to the expression to evaluate (e.g., I=)
Add parameter rows with Parameter name, Min, and Max values
How it works:

Evaluates all 2^n combinations of min/max bounds (max 20 parameters)
Shows nominal value plus extreme min and max
Sensitivity analysis: varies each parameter while holding others at midpoint, reports percentage contribution (sorted highest to lowest)

new cell types:

src/cells/ExtremeValueCell.svelte.ts (new) | EVA cell model
src/ExtremeValueCell.svelte (new) | EVA cell UI
public/dimensional_analysis.py | EVA evaluation and sensitivity analysis

Activity

  1. mgreminger commented on Apr 27, 2026

    @mgreminger
    Owner

    Thanks for sharing what you're building on top of EP. Part of the intent of releasing EP as open source is to enable others to adapt it to their needs and prove out new features.

    For the annotation feature, it's already possible to add comments to any math field by hitting the parenthesis key and typing descriptive text and then the parenthesis key again to exit comment mode (also accessible using the Comment button on the virtual keyboard). These comments will also appear in the exported document, though there's currently a bug where square brackets are not working properly in comments for document export (#311).

    I'd be interested to know where you ran into issues with the built in units support just to make sure they're aren't any unreported issues. In general, the units support is fairly mature and one of the main advantages of EP over using standalone Python.

    I eventually want to implement design for experiments (DOE) support, which would be a superset of extreme value analysis. However, I'm hesitant to add a new cell type for this. Ideally, I think it would be best included as part of data tables cell. Still thinking about the best way to implement this.

  2. animagr commented on Apr 29, 2026

    @animagr
    Author

    i am EE, so the Units under Elec were a bit limiting. for example, i need uF, mH, uH, mOhm as there are common standard values. so instead i just did the conversions and used the comment/note field to keep track

    did not know about the paranthesis feature and the virtual keyboard but i see it now. i kind of like having something i can click on that is to the right of the sheet and completely independent to the match cell. thats what i implemented in my forked version.

    the EVA/RSS analysis could probably be implemented as a python code cell, to be honest. but, i use it so often, that its nice to have as just a incorporated feature.

  3. mgreminger commented on Apr 29, 2026

    @mgreminger
    Owner

    Thanks for clarify the units issues you're seeing. Yes, it's true that there are limited units available in the virtual keyboard. However, more units are supported than are listed in the virtual keyboard. For example, all of the units you listed are supported (with the exception that ohm needs to be lowercase), they just need to be typed in manually:

    Image

    You click the ruler button on the top menu (Image) to see the full listed of supported units and prefixes. The mathjs library is used for units support, so all mathjs units are supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions