Skip to content

Commit 4a0fd8e

Browse files
committed
Init with Python WASM support.
1 parent 5289f48 commit 4a0fd8e

9 files changed

Lines changed: 1010 additions & 129 deletions

File tree

.gitignore

Lines changed: 31 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,139 +1,41 @@
1-
# Logs
2-
logs
3-
*.log
4-
npm-debug.log*
5-
yarn-debug.log*
6-
yarn-error.log*
7-
lerna-debug.log*
8-
9-
# Diagnostic reports (https://nodejs.org/api/report.html)
10-
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11-
12-
# Runtime data
13-
pids
14-
*.pid
15-
*.seed
16-
*.pid.lock
17-
18-
# Directory for instrumented libs generated by jscoverage/JSCover
19-
lib-cov
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
202

21-
# Coverage directory used by tools like istanbul
22-
coverage
23-
*.lcov
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.*
7+
.yarn/*
8+
!.yarn/patches
9+
!.yarn/plugins
10+
!.yarn/releases
11+
!.yarn/versions
2412

25-
# nyc test coverage
26-
.nyc_output
13+
# testing
14+
/coverage
2715

28-
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
29-
.grunt
16+
# next.js
17+
/.next/
18+
/out/
3019

31-
# Bower dependency directory (https://bower.io/)
32-
bower_components
20+
# production
21+
/build
3322

34-
# node-waf configuration
35-
.lock-wscript
23+
# misc
24+
.DS_Store
25+
*.pem
3626

37-
# Compiled binary addons (https://nodejs.org/api/addons.html)
38-
build/Release
27+
# debug
28+
npm-debug.log*
29+
yarn-debug.log*
30+
yarn-error.log*
31+
.pnpm-debug.log*
3932

40-
# Dependency directories
41-
node_modules/
42-
jspm_packages/
33+
# env files (can opt-in for committing if needed)
34+
.env*
4335

44-
# Snowpack dependency directory (https://snowpack.dev/)
45-
web_modules/
36+
# vercel
37+
.vercel
4638

47-
# TypeScript cache
39+
# typescript
4840
*.tsbuildinfo
49-
50-
# Optional npm cache directory
51-
.npm
52-
53-
# Optional eslint cache
54-
.eslintcache
55-
56-
# Optional stylelint cache
57-
.stylelintcache
58-
59-
# Optional REPL history
60-
.node_repl_history
61-
62-
# Output of 'npm pack'
63-
*.tgz
64-
65-
# Yarn Integrity file
66-
.yarn-integrity
67-
68-
# dotenv environment variable files
69-
.env
70-
.env.*
71-
!.env.example
72-
73-
# parcel-bundler cache (https://parceljs.org/)
74-
.cache
75-
.parcel-cache
76-
77-
# Next.js build output
78-
.next
79-
out
80-
81-
# Nuxt.js build / generate output
82-
.nuxt
83-
dist
84-
85-
# Gatsby files
86-
.cache/
87-
# Comment in the public line in if your project uses Gatsby and not Next.js
88-
# https://nextjs.org/blog/next-9-1#public-directory-support
89-
# public
90-
91-
# vuepress build output
92-
.vuepress/dist
93-
94-
# vuepress v2.x temp and cache directory
95-
.temp
96-
.cache
97-
98-
# Sveltekit cache directory
99-
.svelte-kit/
100-
101-
# vitepress build output
102-
**/.vitepress/dist
103-
104-
# vitepress cache directory
105-
**/.vitepress/cache
106-
107-
# Docusaurus cache and generated files
108-
.docusaurus
109-
110-
# Serverless directories
111-
.serverless/
112-
113-
# FuseBox cache
114-
.fusebox/
115-
116-
# DynamoDB Local files
117-
.dynamodb/
118-
119-
# Firebase cache directory
120-
.firebase/
121-
122-
# TernJS port file
123-
.tern-port
124-
125-
# Stores VSCode versions used for testing VSCode extensions
126-
.vscode-test
127-
128-
# yarn v3
129-
.pnp.*
130-
.yarn/*
131-
!.yarn/patches
132-
!.yarn/plugins
133-
!.yarn/releases
134-
!.yarn/sdks
135-
!.yarn/versions
136-
137-
# Vite logs files
138-
vite.config.js.timestamp-*
139-
vite.config.ts.timestamp-*
41+
next-env.d.ts

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Language Playground
2+
3+
A bunch of WASM fun.

css/styles.css

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
/* Base Font */
2+
body {
3+
font-family: "Inter", system-ui, -apple-system, sans-serif;
4+
}
5+
6+
/* Monospace Font */
7+
.font-mono,
8+
code,
9+
pre,
10+
.terminal {
11+
font-family: "Google Sans Code", monospace !important;
12+
}
13+
14+
/* Window Styles */
15+
.window {
16+
position: absolute;
17+
background: #ffffff;
18+
border: 1px solid #000000;
19+
border-radius: 6px;
20+
overflow: hidden;
21+
display: flex;
22+
flex-direction: column;
23+
}
24+
25+
.window-titlebar {
26+
background: #f5f5f5;
27+
border-bottom: 1px solid #e0e0e0;
28+
padding: 10px 14px;
29+
user-select: none;
30+
cursor: grab;
31+
display: flex;
32+
align-items: center;
33+
gap: 12px;
34+
}
35+
36+
.window-titlebar:active {
37+
cursor: grabbing;
38+
}
39+
40+
.window-controls {
41+
display: flex;
42+
gap: 8px;
43+
flex-shrink: 0;
44+
}
45+
46+
.window-title {
47+
color: #000;
48+
font-size: 13px;
49+
font-family: "Inter", system-ui, -apple-system, sans-serif;
50+
font-weight: 500;
51+
flex: 1;
52+
margin: 0;
53+
}
54+
55+
.window-content {
56+
flex: 1;
57+
overflow: hidden;
58+
position: relative;
59+
background: #1e1e1e;
60+
}
61+
62+
/* Resize Handles */
63+
.resize-handle {
64+
position: absolute;
65+
background: transparent;
66+
}
67+
68+
.resize-handle-e {
69+
right: 0;
70+
top: 0;
71+
width: 6px;
72+
height: 100%;
73+
cursor: ew-resize;
74+
}
75+
76+
.resize-handle-s {
77+
bottom: 0;
78+
left: 0;
79+
width: 100%;
80+
height: 6px;
81+
cursor: ns-resize;
82+
}
83+
84+
.resize-handle-se {
85+
right: 0;
86+
bottom: 0;
87+
width: 12px;
88+
height: 12px;
89+
cursor: nwse-resize;
90+
}
91+
92+
/* Terminal Styles */
93+
.window-content .terminal {
94+
height: 100%;
95+
--size: 1.1;
96+
--color: rgba(255, 255, 255, 0.8);
97+
cursor: text;
98+
}
99+
100+
.window-content .terminal .terminal-output {
101+
/* padding: 8px; */
102+
cursor: text;
103+
}
104+
105+
/* Loading Spinner */
106+
.terminal-loading {
107+
display: flex;
108+
align-items: center;
109+
justify-content: center;
110+
height: 100%;
111+
color: #ccc;
112+
}
113+
114+
.terminal-loading .spinner {
115+
width: 30px;
116+
height: 30px;
117+
border: 3px solid rgba(172, 237, 255, 0.3);
118+
border-radius: 50%;
119+
border-top-color: #fff;
120+
animation: spin 1s ease-in-out infinite;
121+
margin-right: 12px;
122+
}
123+
124+
@keyframes spin {
125+
to {
126+
transform: rotate(360deg);
127+
}
128+
}

0 commit comments

Comments
 (0)