add-curve-format
FreeAdd support for a new curve data format in the Curves package converter system
The English summary is being prepared. Showing the original description.
Create a Diff Studio demo model TS file and register it in the package, using equations from an IVP file
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Create a Diff Studio demo model using equations extracted from the IVP file, and register it in the package.
Throughout this skill, the model name extracted from the IVP file is transformed into three forms:
| Form | Example | Usage |
|---|---|---|
| Original (as in IVP) | Acid Base | Decorator name |
kebab-case | acid-base | File name, import path |
camelCase | acidBase | Method name, decorator name |
UPPER_SNAKE_CASE | ACID_BASE | Constant prefixes |
Parse input: extract:
.ivp extension..png extension if provided.Read the IVP file:
#name: block (e.g., #name: Acid Base → Acid Base).#description: block, if present.Generate TS file: create src/demos/<kebab-case>.ts with the following content:
import {LINK} from '../ui-constants';
import {ModelInfo} from '../model';
export const <UPPER_SNAKE_CASE>_MODEL = `<entire IVP file content>`;
const UI_OPTS = {
inputsTabDockRatio: 0.17,
graphsDockRatio: 0.85,
};
const INFO = `# Model
<model-description or remove this line if not available>
# Try
Interactive results based on input changes.
# Performance
Nonlinear systems of differential equations are solved within milliseconds.
# No-code
[Diff Studio](${LINK.DIF_STUDIO})
enables the creation of complex models without writing code.
# Learn more
* [Sensitivity analysis](${LINK.SENS_AN})
* [Parameter optimization](${LINK.FITTING})`;
export const <UPPER_SNAKE_CASE>_MODEL_INFO: ModelInfo = {
equations: <UPPER_SNAKE_CASE>_MODEL,
uiOptions: UI_OPTS,
info: INFO,
};
Note: when embedding the IVP file content inside a template literal, escape any backticks (
`) and${sequences found in the file.
Update the package file src/package.ts:
a. Add import for use in the class method:
import {<UPPER_SNAKE_CASE>_MODEL_INFO} from './demo/<kebab-case>';
b. Add method to the PackageFunctions class (in alphabetical order among existing model methods):
@grok.decorators.model({
name: '<Original model name from IVP>',
description: '<model-description>',
icon: '<path-to-png-file>',
})
static async <camelCase>(): Promise<void> {
const model = new Model(<UPPER_SNAKE_CASE>_MODEL_INFO);
await model.run();
}
description from the decorator if no description was found in the IVP file.icon from the decorator if no PNG file was provided.Given: src/ivp/acid-base.ivp with content:
#name: Acid Base
#description: Acid-base equilibrium model
...
And optional PNG: images/acid-base.png
Generated file src/demo/acid-base.ts:
import {LINK} from '../ui-constants';
import {ModelInfo} from '../model';
export const ACID_BASE_MODEL = `#name: Acid Base
#description: Acid-base equilibrium model
...`;
// ... UI_OPTS, INFO, and ACID_BASE_MODEL_INFO as described above
In src/package.ts:
import {ACID_BASE_MODEL_INFO} from './demo/acid-base';
// Inside PackageFunctions:
@grok.decorators.model({
name: 'Acid Base',
description: 'Acid-base equilibrium model',
icon: 'images/acid-base.png',
})
static async acidBase(): Promise<void> {
const model = new Model(ACID_BASE_MODEL_INFO);
await model.run();
}
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Add support for a new curve data format in the Curves package converter system
The English summary is being prepared. Showing the original description.
Create info panels that appear in the context panel based on semantic types
The English summary is being prepared. Showing the original description.
Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).
The English summary is being prepared. Showing the original description.
Add unit tests to a Datagrok package
The English summary is being prepared. Showing the original description.
Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test; the same scenarios, filmed in help mode, are the GIFs of the help pages
The English summary is being prepared. Showing the original description.
Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features
The English summary is being prepared. Showing the original description.