mirror of
https://github.com/jhbruhn/respira.git
synced 2026-01-27 02:13:41 +00:00
Renamed and restructured PEN parsing to match encoder pattern: Changes: - Renamed pen/parser.ts → pen/decoder.ts (consistent with encoder.ts) - Created pen/types.ts for PEN-specific type definitions - Moved types out of machine.ts (they're format-specific, not machine-specific) - Unified decoder with encoder test helpers (encoder.test.ts now uses decoder) New structure: - decodePenStitch() - decode single 4-byte stitch - decodeAllPenStitches() - decode all stitches from bytes - decodePenData() - full decode with color blocks and bounds - getStitchColor() - helper to get color for a stitch index Type definitions: - DecodedPenStitch - individual stitch with coordinates and flags - PenColorBlock - color block (stitch range for one thread) - DecodedPenData - complete decoded pattern data Backward compatibility: - Added compatibility aliases (isJump, flags, startStitch, endStitch) - Maintains API compatibility with existing UI code Also added dist-electron to eslint ignore list. All tests passing (27/27), build successful, lint clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
23 lines
642 B
JavaScript
23 lines
642 B
JavaScript
import js from '@eslint/js'
|
|
import globals from 'globals'
|
|
import reactHooks from 'eslint-plugin-react-hooks'
|
|
import reactRefresh from 'eslint-plugin-react-refresh'
|
|
import tseslint from 'typescript-eslint'
|
|
import { defineConfig, globalIgnores } from 'eslint/config'
|
|
|
|
export default defineConfig([
|
|
globalIgnores(['dist', 'dist-electron', '.vite']),
|
|
{
|
|
files: ['**/*.{ts,tsx}'],
|
|
extends: [
|
|
js.configs.recommended,
|
|
tseslint.configs.recommended,
|
|
reactHooks.configs.flat.recommended,
|
|
reactRefresh.configs.vite,
|
|
],
|
|
languageOptions: {
|
|
ecmaVersion: 2020,
|
|
globals: globals.browser,
|
|
},
|
|
},
|
|
])
|