Skip to content

Commit 548b9de

Browse files
committed
Enhance Linux Install v1.0.4.5 - Fix PEP 668, add architecture detection, and setup multi-platform build automation
1 parent 0c1f091 commit 548b9de

55 files changed

Lines changed: 2534 additions & 204 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Build and Release Native Binaries
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build:
10+
name: Build for ${{ matrix.os }}
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
include:
15+
- os: ubuntu-latest
16+
artifact_name: tech
17+
asset_name: tech-linux-x64
18+
- os: macos-latest
19+
artifact_name: techscript
20+
asset_name: tech-macos-x64
21+
- os: windows-latest
22+
artifact_name: techscript.exe
23+
asset_name: techscript-windows-x64.exe
24+
25+
steps:
26+
- name: Checkout repository
27+
uses: actions/checkout@v4
28+
29+
- name: Install Rust toolchain
30+
uses: dtolnay/rust-toolchain@stable
31+
32+
- name: Build in Release mode
33+
run: |
34+
cd runtime
35+
cargo build --release
36+
37+
- name: Rename and Prepare Assets
38+
shell: bash
39+
run: |
40+
if [ "${{ matrix.os }}" = "windows-latest" ]; then
41+
mv runtime/target/release/techscript.exe ${{ matrix.asset_name }}
42+
else
43+
# Rename based on actual binary name produced by Cargo
44+
if [ -f "runtime/target/release/techscript" ]; then
45+
mv runtime/target/release/techscript ${{ matrix.asset_name }}
46+
else
47+
mv runtime/target/release/tech ${{ matrix.asset_name }}
48+
fi
49+
chmod +x ${{ matrix.asset_name }}
50+
fi
51+
52+
- name: Upload Release Assets
53+
uses: softprops/action-gh-release@v2
54+
with:
55+
files: ${{ matrix.asset_name }}
56+
env:
57+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

ai_guide.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# TechScript AI Animation Guide (v1.1)
2+
3+
This guide is designed for AI models (LLMs) to understand, generate, and improve TechScript (`.txs`) animation code using the `anime` module.
4+
5+
## 1. Core Syntax Overview
6+
7+
TechScript uses the `use` keyword for modules and `make` for variables. Multi-line strings should use triple quotes `"""`.
8+
9+
```techscript
10+
use anime
11+
12+
# Step 1: Create a workspace
13+
make anim = anime.create()
14+
15+
# Step 2: Add styles (Optional but Recommended)
16+
anim["styles"].append("""
17+
.star { width: 50px; height: 50px; background: cyan; clip-path: polygon(...); }
18+
""")
19+
20+
# Step 3: Add elements
21+
anim["elements"].append("<div class='star'></div>")
22+
23+
# Step 4: Define Animation Logic
24+
# anime.animate(selector, config_map)
25+
make config = {
26+
"scale": 1.5,
27+
"duration": 1000,
28+
"loop": true,
29+
"direction": "alternate",
30+
"easing": "easeInOutSine"
31+
}
32+
anim["animations"].append(anime.animate(".star", config))
33+
34+
# Step 5: Render
35+
anime.render(anim)
36+
```
37+
38+
## 2. API Reference (`anime` module)
39+
40+
| Function | Description |
41+
| :--- | :--- |
42+
| `anime.create()` | Initializes a workspace map with `elements`, `animations`, `styles`, and `scripts`. |
43+
| `anime.target(tag, text, class)` | Returns a string of HTML (e.g., `<div class='...'>...</div>`). |
44+
| `anime.animate(selector, map)` | Generates a JavaScript string for the animation configuration. |
45+
| `anime.stagger(ms)` | Creates a staggered delay for multiple elements. |
46+
| `anime.render(workspace)` | Generates the HTML file and launches the local viewer. |
47+
48+
## 3. Supported Animation Properties
49+
50+
Pass these in the configuration map to `anime.animate`:
51+
52+
- **Transform**: `translateX`, `translateY`, `rotate`, `rotateX`, `rotateY`, `scale`, `scaleX`, `scaleY`, `skew`.
53+
- **Style**: `opacity`, `backgroundColor`, `borderRadius`, `filter` (e.g., `"blur(5px)"`), `boxShadow`.
54+
- **Control**: `duration` (ms), `delay` (ms), `easing`, `loop` (bool/int), `direction` (`"alternate"`, `"reverse"`).
55+
56+
**Easings**: `linear`, `easeInOutSine`, `easeOutExpo`, `easeOutElastic(1, .5)`, `easeInOutBack`.
57+
58+
## 4. Advanced: The Studio Pattern
59+
60+
To make interactive interfaces, append raw JavaScript to `anim["scripts"]`:
61+
62+
```techscript
63+
anim["scripts"].append("""
64+
function customBehavior() {
65+
// Standard JS here, techscript will bundle it
66+
console.log("Animation Interactivity Active");
67+
}
68+
customBehavior();
69+
""")
70+
```
71+
72+
---
73+
74+
## 5. 🚀 AI Prompt Template (Copy & Paste)
75+
76+
**Use the following prompt when asking an AI to improve your TechScript code:**
77+
78+
> "I am working with TechScript (a Rust-based VM for web animations). Below is my current `.txs` file. Please improve it by:
79+
> 1. Adding premium CSS (Glassmorphism, Neon Glows, or Modern Gradients).
80+
> 2. Using more complex `anime.js` properties like staggered delays, elastic easings, or multi-property transitions.
81+
> 3. Ensuring the UI looks high-fidelity and 'premium'.
82+
> 4. output ONLY the full TechScript code.
83+
>
84+
> My Code:
85+
> [PASTE YOUR CODE HERE]"
86+
87+
---
88+
89+
## 6. Pro-Tips for AI
90+
- **Quoting**: Don't quote `anime.stagger()` in the config map; the TechScript runtime handles unquoting for `anime.` prefixed calls.
91+
- **Triple Quotes**: ALWAYS use `"""` for multi-line CSS or scripts to avoid lexing errors.
92+
- **None**: Use `none` instead of `null`.

assets/icons/icon-128.png

-1014 Bytes
Loading

assets/icons/icon-16.png

4 Bytes
Loading

assets/icons/icon-256.png

-17.4 KB
Loading

assets/icons/icon-32.png

212 Bytes
Loading

assets/icons/icon-512.png

-129 KB
Loading

assets/icons/icon-64.png

145 Bytes
Loading

assets/icons/icon.ico

107 KB
Binary file not shown.

assets/icons/icon.png

427 KB
Loading

0 commit comments

Comments
 (0)