Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit33f4b74

Browse files
committed
chore: deps
1 parentcce720c commit33f4b74

File tree

8 files changed

+1951
-1161
lines changed

8 files changed

+1951
-1161
lines changed

‎.claude/settings.json‎

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
{
2+
"$schema":"https://json.schemastore.org/claude-code-settings.json",
3+
"permissions": {
4+
"allow": [
5+
"WebFetch(domain:github.com)",
6+
"WebFetch(domain:docs.anthropic.com)",
7+
"Bash(grep:*)",
8+
"Bash(sed:*)",
9+
"Bash(find:*)",
10+
"Bash(mkdir:*)",
11+
"Bash(curl:*)",
12+
"Bash(pkill:*)",
13+
"Bash(true)",
14+
"Bash(npx playwright:*)",
15+
"Bash(npx vite:*)",
16+
"Bash(node:*)",
17+
"Bash(ls:*)",
18+
"Bash(cp:*)",
19+
"Bash(lsof:*)",
20+
"Bash(cat:*)",
21+
"Bash(chmod:*)",
22+
"Bash(open:*)",
23+
"Bash(gtimeout:*)",
24+
"Bash(defaults read:*)",
25+
"Bash(system_profiler:*)",
26+
"Bash(npm run:*)",
27+
"Bash(npm run dev:*)",
28+
"Bash(npm run build:*)",
29+
"Bash(npm outdated)",
30+
"Bash(npm update)",
31+
"Bash(npm uninstall:*)",
32+
"Bash(npm test)",
33+
"Bash(npm test:*)",
34+
"Bash(npm create:*)",
35+
"Bash(npm install)",
36+
"Bash(npm install:*)",
37+
"Bash(npm run generate:swift-tokens:*)",
38+
"Bash(npm run typecheck:*)",
39+
"Bash(npx husky init:*)",
40+
"Bash(npx tsx:*)",
41+
"Bash(npx tsc:*)",
42+
"Bash(npx tailwindcss:*)",
43+
"Bash(timeout 5s npm run dev)",
44+
"Bash(timeout 10s npm run dev)",
45+
"mcp__playwright__browser_navigate",
46+
"mcp__playwright__browser_wait_for",
47+
"mcp__playwright__browser_type",
48+
"mcp__playwright__browser_click",
49+
"mcp__playwright__browser_press_key",
50+
"mcp__playwright__browser_console_messages",
51+
"mcp__playwright__browser_install",
52+
"mcp__playwright__browser_close",
53+
"mcp__playwright__browser_evaluate",
54+
"mcp__playwright__browser_network_requests",
55+
"mcp__playwright__browser_snapshot",
56+
"mcp__playwright__browser_take_screenshot",
57+
"mcp__playwright__browser_tab_new",
58+
"mcp__playwright__browser_resize",
59+
"mcp__playwright__browser_hover",
60+
"mcp__serena__onboarding",
61+
"mcp__serena__check_onboarding_performed",
62+
"mcp__serena__activate_project",
63+
"mcp__serena__search_for_pattern",
64+
"mcp__serena__list_dir",
65+
"mcp__serena__get_symbols_overview",
66+
"mcp__serena__find_file",
67+
"mcp__serena__find_symbol",
68+
"mcp__serena__replace_regex",
69+
"mcp__serena__write_memory",
70+
"mcp__serena__insert_after_symbol",
71+
"mcp__serena__replace_symbol_body",
72+
"mcp__serena__think_about_whether_you_are_done",
73+
"mcp__serena__think_about_collected_information"
74+
],
75+
"deny": []
76+
},
77+
"slashCommands": {
78+
"qc": {
79+
"description":"Run typecheck, lint, verify coding guidelines, fix issues, and stage files",
80+
"command":"/Users/arno/scripts/claude-stage-advanced.sh"
81+
},
82+
"prettier": {
83+
"description":"Format code with Prettier, then run lint and typecheck",
84+
"command":"npm run prettier"
85+
}
86+
}
87+
}

‎TODO.md‎

Lines changed: 123 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,126 @@ The documentation sometimes uses `mathfield` and `MathfieldElement` interchangea
3131
* Use`MathfieldElement` when referring to the JavaScript class or its static properties/methods (`MathfieldElement.computeEngine`).
3232
* Use "mathfield" (lowercase) as a general term for an instance of the component on a page.
3333

34-
34+
##Future Expansion
35+
36+
###Interactive Applications Architecture
37+
38+
**Recommended Approach:** Deploy interactive applications as separate React apps on subdomains, keeping them independent from the Docusaurus documentation site.
39+
40+
**Deployment Strategy:**
41+
- Use Cloudflare for subdomain routing and CDN
42+
- Each app deployed to its own subdirectory in the build
43+
- DNS configuration: CNAME records for each subdomain pointing to the main domain
44+
- Cloudflare Workers or Page Rules to route subdomains to appropriate directories
45+
46+
**Implementation Structure:**
47+
```
48+
cortexjs.io/
49+
├── src/
50+
│ ├── pages/ # Docusaurus pages (documentation)
51+
│ ├── components/ # Documentation components
52+
│ └── apps/ # Interactive applications
53+
│ ├── editor/
54+
│ ├── calculator/
55+
│ ├── grapher/
56+
│ └── notebook/
57+
├── build/
58+
│ ├── docs/ # Main documentation site
59+
│ └── apps/ # Built applications
60+
│ ├── editor/ # → editor.mathlive.io
61+
│ ├── calculator/ # → calculator.mathlive.io
62+
│ ├── grapher/ # → grapher.mathlive.io
63+
│ └── notebook/ # → notebook.mathlive.io
64+
```
65+
66+
###Interactive Applications
67+
68+
-**`editor.mathlive.io`** - LaTeX/MathLive Editor
69+
- Split-pane interface: MathLive mathfield on one side, LaTeX editor on the other
70+
- Bidirectional real-time synchronization between panels
71+
- LaTeX side uses CodeMirror or Monaco Editor with LaTeX syntax highlighting
72+
- Configurable layout: horizontal or vertical split (responsive to device/user preference)
73+
- Future: Session saving with left sidebar for saved expressions
74+
- Export options: Copy as LaTeX, MathML, or image
75+
76+
-**`calculator.mathlive.io`** - Scientific Calculator
77+
- MathLive input field at bottom for expression entry
78+
- Scrollable history of calculations above
79+
- Integration with Compute Engine for evaluation
80+
- "ans" variable to reference previous result (with custom virtual keyboard key)
81+
- Session persistence using localStorage
82+
- Export history as text or LaTeX
83+
84+
-**`grapher.mathlive.io`** - Function Graphing Tool
85+
- Desmos-style interface with function list panel and graph canvas
86+
- MathLive input for function definitions
87+
- Automatic detection of function type:
88+
- 2D Cartesian (y = f(x))
89+
- 2D Parametric (x(t), y(t))
90+
- Polar (r = f(θ))
91+
- 3D surfaces (z = f(x,y))
92+
- Interactive pan, zoom, and trace features
93+
- Export graphs as SVG or PNG
94+
95+
-**`notebook.mathlive.io`** - Interactive Math Notebook
96+
- Jupyter-style cell-based interface
97+
- MathLive for mathematical input/output
98+
- Compute Engine for evaluations
99+
- Markdown cells for documentation
100+
- Save/load notebooks as JSON
101+
- Export to LaTeX, PDF, or HTML
102+
103+
###Shared Components Strategy
104+
105+
To ensure consistent header/footer across all applications:
106+
107+
**Shared Component Library** (`src/shared/`)
108+
-**Components**: Reusable Header and Footer components in React
109+
-**Configuration**: Centralized navigation config in JSON format
110+
-**Styles**: Shared CSS variables and brand styles
111+
112+
**Implementation:**
113+
```javascript
114+
// In any React app (Docusaurus or standalone)
115+
import {Header,Footer }from'../shared/components';
116+
117+
functionApp() {
118+
return (
119+
<>
120+
<Header currentApp="editor"/>
121+
{/* App content*/}
122+
<Footer/>
123+
</>
124+
);
125+
}
126+
```
127+
128+
**Benefits:**
129+
- Single source of truth for navigation
130+
- Consistent branding across all apps
131+
- Easy updates propagate to all applications
132+
- Dark mode support built-in
133+
134+
###Implementation Phases
135+
136+
**Phase 1: Infrastructure Setup**
137+
- ✅ Create shared component library structure
138+
- ✅ Extract navigation configuration
139+
- ✅ Build reusable Header/Footer components
140+
- Configure build pipeline for multiple apps
141+
- Set up Cloudflare routing for subdomains
142+
143+
**Phase 2: MVP Development**
144+
- Start with editor.mathlive.io as proof of concept
145+
- Implement core split-pane functionality
146+
- Deploy and test subdomain routing
147+
148+
**Phase 3: Full Rollout**
149+
- Develop remaining applications
150+
- Add persistence and sharing features
151+
- Implement analytics and error tracking
152+
153+
**Phase 4: Enhancement**
154+
- User accounts and cloud storage
155+
- Collaborative features
156+
- API for embedding in other sites

‎docs/compute-engine/02-compute-engine-demo.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ console.info(expr.N());
168168
`,
169169
"eval-async": `$0
170170
const expr = $1;
171-
console.info(await expr.evaluateAsync());
171+
expr.evaluateAsync().then(result => console.info(result));
172172
`
173173

174174
};

‎docs/compute-engine/05-guide-canonical-form.md‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,3 +272,25 @@ ce.parse(latex,
272272
).print();
273273
```
274274

275+
##Custom Transformations
276+
277+
You can also define your own transformations to apply to an expression to
278+
obtain a custom canonical form.
279+
280+
For example, let's say you want to the structural form of two expressions
281+
but ignoring any extra parentheses. You could define a transformation like this:
282+
283+
```js
284+
constdeparenthesize= (expr)=>
285+
expr.map((e)=> (e.operator==='Delimiter'?e.op1: e));
286+
```
287+
You can then apply this transformation to an expression like this:
288+
289+
```js
290+
constexpr1=ce.parse('3+4\\times2', { canonical:false });
291+
constexpr2=ce.parse('3+(4\\times(2))', { canonical:false });
292+
consttransformedExpr1=deparenthesize(expr1);
293+
consttransformedExpr2=deparenthesize(expr2);
294+
console.log(transformedExpr1.isSame(transformedExpr2));
295+
// ➔ true
296+
```

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp