pixel-factory 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +33 -0
- package/.github/workflows/validate.yml +75 -0
- package/.vscodeignore +16 -0
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/images/icon.png +0 -0
- package/images/preview-editor.png +0 -0
- package/images/preview-syntax.png +0 -0
- package/images/preview-terminal.png +0 -0
- package/package.json +66 -0
- package/themes/Editor.json +352 -0
- package/themes/PixelFactory-Studio.json +722 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: Publish to Marketplace
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [created]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
name: Publish Release
|
|
11
|
+
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v3
|
|
14
|
+
|
|
15
|
+
- name: Setup Node.js
|
|
16
|
+
uses: actions/setup-node@v3
|
|
17
|
+
with:
|
|
18
|
+
node-version: '20'
|
|
19
|
+
cache: 'npm'
|
|
20
|
+
|
|
21
|
+
- name: Install dependencies
|
|
22
|
+
run: npm ci
|
|
23
|
+
|
|
24
|
+
- name: Run validation
|
|
25
|
+
run: npm run validate
|
|
26
|
+
|
|
27
|
+
- name: Create VSIX package
|
|
28
|
+
run: npx @vscode/vsce package --no-update-package-json
|
|
29
|
+
|
|
30
|
+
- name: Publish to Marketplace
|
|
31
|
+
run: npx @vscode/vsce publish -p ${{ secrets.VSCE_PAT }} --no-update-package-json
|
|
32
|
+
env:
|
|
33
|
+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: Validate Theme
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, develop ]
|
|
6
|
+
paths:
|
|
7
|
+
- 'themes/**'
|
|
8
|
+
- 'scripts/**'
|
|
9
|
+
- 'package.json'
|
|
10
|
+
- '.github/workflows/validate.yml'
|
|
11
|
+
pull_request:
|
|
12
|
+
branches: [ main ]
|
|
13
|
+
paths:
|
|
14
|
+
- 'themes/**'
|
|
15
|
+
- 'scripts/**'
|
|
16
|
+
- 'package.json'
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
validate:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
name: Validate Theme Files
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v3
|
|
25
|
+
with:
|
|
26
|
+
fetch-depth: 0
|
|
27
|
+
|
|
28
|
+
- name: Setup Node.js
|
|
29
|
+
uses: actions/setup-node@v3
|
|
30
|
+
with:
|
|
31
|
+
node-version: '18'
|
|
32
|
+
cache: 'npm'
|
|
33
|
+
|
|
34
|
+
- name: Install dependencies
|
|
35
|
+
run: npm ci
|
|
36
|
+
|
|
37
|
+
- name: Run theme validation
|
|
38
|
+
run: npm run validate
|
|
39
|
+
|
|
40
|
+
- name: Check for JSON syntax errors
|
|
41
|
+
run: |
|
|
42
|
+
for file in themes/*.json; do
|
|
43
|
+
echo "Checking $file..."
|
|
44
|
+
jq empty "$file" || exit 1
|
|
45
|
+
done
|
|
46
|
+
|
|
47
|
+
- name: Validate theme files exist
|
|
48
|
+
run: |
|
|
49
|
+
test -f themes/Editor.json || exit 1
|
|
50
|
+
test -f themes/PixelFactory-Studio.json || exit 1
|
|
51
|
+
echo "✓ All required theme files present"
|
|
52
|
+
|
|
53
|
+
- name: Comment on PR
|
|
54
|
+
if: failure() && github.event_name == 'pull_request'
|
|
55
|
+
uses: actions/github-script@v6
|
|
56
|
+
with:
|
|
57
|
+
script: |
|
|
58
|
+
github.rest.issues.createComment({
|
|
59
|
+
issue_number: context.issue.number,
|
|
60
|
+
owner: context.repo.owner,
|
|
61
|
+
repo: context.repo.repo,
|
|
62
|
+
body: '❌ Theme validation failed. Please check the workflow logs for details.'
|
|
63
|
+
})
|
|
64
|
+
|
|
65
|
+
- name: Comment on PR (success)
|
|
66
|
+
if: success() && github.event_name == 'pull_request'
|
|
67
|
+
uses: actions/github-script@v6
|
|
68
|
+
with:
|
|
69
|
+
script: |
|
|
70
|
+
github.rest.issues.createComment({
|
|
71
|
+
issue_number: context.issue.number,
|
|
72
|
+
owner: context.repo.owner,
|
|
73
|
+
repo: context.repo.repo,
|
|
74
|
+
body: '✅ Theme validation passed!'
|
|
75
|
+
})
|
package/.vscodeignore
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.git
|
|
2
|
+
.gitignore
|
|
3
|
+
node_modules/
|
|
4
|
+
.vscode/
|
|
5
|
+
.github/workflows/test.yml
|
|
6
|
+
scripts/validate-theme.js
|
|
7
|
+
CONTRIBUTING.md
|
|
8
|
+
PUBLISHING.md
|
|
9
|
+
TECHNICAL.md
|
|
10
|
+
QUICKSTART.md
|
|
11
|
+
DEVELOPMENT.md
|
|
12
|
+
PRODUCTION_REVIEW.md
|
|
13
|
+
*.md
|
|
14
|
+
.DS_Store
|
|
15
|
+
.eslintignore
|
|
16
|
+
.prettierignore
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 apassanisi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h2 align="center">🎨 PixelFactory</h2>
|
|
3
|
+
<p align="center"><strong>The Initiate's Lens — Signal Calibration Protocol</strong></p>
|
|
4
|
+
<p align="center"><em>Part of the <a href="https://github.com/apassanisi/signal-archives">Signal Archives</a></em></p>
|
|
5
|
+
<p align="center">A warm, sophisticated color theme for VS Code built around signal frequency principles.
|
|
6
|
+
<br />
|
|
7
|
+
<a href="https://marketplace.visualstudio.com/items?itemName=apassanisi.pixel-factory"><strong>View on Marketplace »</strong></a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
[](https://marketplace.visualstudio.com/items?itemName=apassanisi.pixel-factory)
|
|
11
|
+
[](https://marketplace.visualstudio.com/items?itemName=apassanisi.pixel-factory)
|
|
12
|
+
[](https://marketplace.visualstudio.com/items?itemName=apassanisi.pixel-factory)
|
|
13
|
+
[](https://github.com/apassanisi/PixelFactory/blob/main/LICENSE)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
## About
|
|
18
|
+
|
|
19
|
+
PixelFactory is the Signal Archives' calibration device for perceiving cosmic patterns in code. Every color is precisely positioned to maximize readability and minimize cognitive load during extended archival sessions.
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
✨ **Warm, Sophisticated** — Deep dark backgrounds with warm accent colors engineered for visual comfort
|
|
24
|
+
🎨 **Comprehensive** — 220+ colors across all UI elements, syntax highlighting, and terminal output
|
|
25
|
+
🔤 **Optimized Syntax** — Support for 15+ programming languages with intelligent semantic highlighting
|
|
26
|
+
♿ **Accessible** — WCAG AA compliant contrast ratios ensuring readability for all users
|
|
27
|
+
🔧 **Highly Customizable** — Override any color directly in VS Code settings
|
|
28
|
+
📡 **Signal Frequencies** — Colors mapped to functional intent using archival principles
|
|
29
|
+
|
|
30
|
+
## Installation
|
|
31
|
+
|
|
32
|
+
1. Open Extensions (<kbd>Ctrl+Shift+X</kbd> / <kbd>Cmd+Shift+X</kbd>)
|
|
33
|
+
2. Search for "PixelFactory" and click **Install**
|
|
34
|
+
3. Open Command Palette (<kbd>Ctrl+Shift+P</kbd>) and select a **PixelFactory** theme
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
Once installed, PixelFactory is immediately active. The theme applies to:
|
|
39
|
+
|
|
40
|
+
- **Syntax highlighting** — Code elements colored by type and semantic meaning
|
|
41
|
+
- **UI elements** — Panels, sidebars, and controls use the Foundry Spectrum
|
|
42
|
+
- **Terminal** — ANSI colors calibrated for clarity in terminal output
|
|
43
|
+
- **Debugging** — Special colors for breakpoints, debug console, and variables
|
|
44
|
+
|
|
45
|
+
### Switching Themes
|
|
46
|
+
|
|
47
|
+
Use the Command Palette:
|
|
48
|
+
1. <kbd>Ctrl+Shift+P</kbd> (Windows/Linux) or <kbd>Cmd+Shift+P</kbd> (Mac)
|
|
49
|
+
2. Search "Preferences: Color Theme"
|
|
50
|
+
3. Select "PixelFactory: Initiate's Lens"
|
|
51
|
+
|
|
52
|
+
Or through Settings:
|
|
53
|
+
1. File → Preferences → Color Theme
|
|
54
|
+
2. Select "PixelFactory: Initiate's Lens"
|
|
55
|
+
|
|
56
|
+
## Preview
|
|
57
|
+
|
|
58
|
+
### Editor & Syntax
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+
### Terminal Colors
|
|
62
|
+

|
|
63
|
+
|
|
64
|
+
## The Foundry Spectrum
|
|
65
|
+
|
|
66
|
+
Colors organized as signal frequencies—each serves a distinct purpose in guiding attention and preserving information.
|
|
67
|
+
|
|
68
|
+
**Primary Frequencies:**
|
|
69
|
+
Void Black `#121212` · Ember Orange `#FF8F2E` · Steel Gray `#798283` · Sage Green `#8A9E78`
|
|
70
|
+
|
|
71
|
+
**Accent Signals:**
|
|
72
|
+
Golden Yellow `#FFC62F` · Mauve `#CF7F8F` · Bronze `#7f7b66`
|
|
73
|
+
|
|
74
|
+
**Diagnostic Frequencies:**
|
|
75
|
+
Error `#C71B00` · Warning `#FFC62F` · Success `#A6E22E`
|
|
76
|
+
|
|
77
|
+
## Customization
|
|
78
|
+
|
|
79
|
+
Override any color in `settings.json`:
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"workbench.colorCustomizations": {
|
|
84
|
+
"[PixelFactory Studio]": {
|
|
85
|
+
"editor.background": "#0a0a0a"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## File Structure
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
PixelFactory/
|
|
95
|
+
├── package.json # Extension metadata
|
|
96
|
+
├── README.md # Documentation
|
|
97
|
+
├── CONTRIBUTING.md # Contribution guidelines
|
|
98
|
+
├── LICENSE # MIT License
|
|
99
|
+
├── themes/
|
|
100
|
+
│ ├── Editor.json # Base UI colors
|
|
101
|
+
│ └── PixelFactory-Studio.json # Complete theme with syntax highlighting
|
|
102
|
+
├── scripts/
|
|
103
|
+
│ └── validate-theme.js # Theme validation script
|
|
104
|
+
└── images/
|
|
105
|
+
└── icon.png # Theme icon
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Contributing
|
|
109
|
+
|
|
110
|
+
Contributions welcome! Please fork the repository, create a feature branch, make your changes to the theme files, and run `npm test` before submitting a pull request.
|
|
111
|
+
|
|
112
|
+
## Changelog
|
|
113
|
+
|
|
114
|
+
### 1.2.0 (February 2026)
|
|
115
|
+
- Signal refinement: Enhanced accessibility with improved contrast ratios
|
|
116
|
+
- Transmission clarity: Updated secondary text colors for better visibility
|
|
117
|
+
- Line calibration: Improved line highlight visibility for better pattern tracking
|
|
118
|
+
|
|
119
|
+
### 1.0.0 (Initial Release)
|
|
120
|
+
- PixelFactory Studio theme calibration
|
|
121
|
+
- 220+ colors with comprehensive coverage
|
|
122
|
+
- Full terminal ANSI signal support
|
|
123
|
+
- Debugging and chat UI theming
|
|
124
|
+
|
|
125
|
+
## Support
|
|
126
|
+
|
|
127
|
+
Have questions or feedback?
|
|
128
|
+
|
|
129
|
+
- **Issues:** [GitHub Issues](https://github.com/apassanisi/PixelFactory/issues)
|
|
130
|
+
- **Email:** passanisi.andrew@github.com
|
|
131
|
+
- **GitHub:** [apassanisi](https://github.com/apassanisi)
|
|
132
|
+
|
|
133
|
+
## License
|
|
134
|
+
|
|
135
|
+
MIT © 2026 apassanisi
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
**Made with care by [apassanisi](https://github.com/apassanisi)**
|
|
140
|
+
|
|
141
|
+
**Code reads better in color.** 🎨
|
|
142
|
+
|
|
143
|
+
## Field Notes
|
|
144
|
+
|
|
145
|
+
In the Signal Archives, every tool serves a purpose in the archival network. PixelFactory: The Initiate's Lens is designed as a calibration device—a way to perceive patterns in the cosmic signal as it flows through code.
|
|
146
|
+
|
|
147
|
+
The color palette (the Foundry Spectrum) maps visual frequency to functional intent: Ember Orange for active transmissions you're currently working with, Sage Green for data being preserved, Steel Gray for the neutral ground. Using these calibrated frequencies, archivists can read large codebases with less cognitive friction, maintaining signal integrity over long sessions.
|
|
148
|
+
|
|
149
|
+
Whether you engage with the mythology or not, the theme works—the colors are scientifically optimized for readability, comfort, and visual hierarchy.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
**Signal integrity maintained • Amulet Digital Archive Protocol**
|
package/images/icon.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pixel-factory",
|
|
3
|
+
"displayName": "PixelFactory: Initiate's Lens",
|
|
4
|
+
"description": "The Initiate's Lens — Signal calibration protocol. A warm, sophisticated VS Code theme built on signal frequency principles for reading patterns in code.",
|
|
5
|
+
"version": "1.3.0",
|
|
6
|
+
"publisher": "apassanisi",
|
|
7
|
+
"author": "apassanisi",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/apassanisi/PixelFactory"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/apassanisi/PixelFactory#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/apassanisi/PixelFactory/issues"
|
|
16
|
+
},
|
|
17
|
+
"engines": {
|
|
18
|
+
"vscode": "^1.60.0"
|
|
19
|
+
},
|
|
20
|
+
"categories": [
|
|
21
|
+
"Themes"
|
|
22
|
+
],
|
|
23
|
+
"keywords": [
|
|
24
|
+
"theme",
|
|
25
|
+
"dark",
|
|
26
|
+
"warm",
|
|
27
|
+
"orange",
|
|
28
|
+
"syntax-highlighting",
|
|
29
|
+
"pixel-factory",
|
|
30
|
+
"color-scheme",
|
|
31
|
+
"accessibility",
|
|
32
|
+
"wcag",
|
|
33
|
+
"cosmic",
|
|
34
|
+
"signal",
|
|
35
|
+
"archivist",
|
|
36
|
+
"calibration",
|
|
37
|
+
"cool-tones",
|
|
38
|
+
"comfortable",
|
|
39
|
+
"signal-archives",
|
|
40
|
+
"amulet-digital"
|
|
41
|
+
],
|
|
42
|
+
"contributes": {
|
|
43
|
+
"themes": [
|
|
44
|
+
{
|
|
45
|
+
"label": "PixelFactory: Initiate's Lens",
|
|
46
|
+
"uiTheme": "vs-dark",
|
|
47
|
+
"path": "./themes/PixelFactory-Studio.json"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"icon": "images/icon.png",
|
|
52
|
+
"galleryBanner": {
|
|
53
|
+
"color": "#121212",
|
|
54
|
+
"theme": "dark"
|
|
55
|
+
},
|
|
56
|
+
"scripts": {
|
|
57
|
+
"validate": "node scripts/validate-theme.js",
|
|
58
|
+
"test": "npm run validate",
|
|
59
|
+
"package": "vsce package",
|
|
60
|
+
"publish": "vsce publish",
|
|
61
|
+
"prepublish": "npm run validate"
|
|
62
|
+
},
|
|
63
|
+
"devDependencies": {
|
|
64
|
+
"@vscode/vsce": "^2.22.0"
|
|
65
|
+
}
|
|
66
|
+
}
|