├── .eslintrc.cjs ├── .gitattributes ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .npmignore ├── .prettierrc ├── .vscode ├── launch.json └── settings.json ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── MAINTAINERS.md ├── README.md ├── assets └── interTTF.json ├── bun.lockb ├── docs ├── .eslintrc.cjs ├── .gitignore ├── .prettierrc ├── app │ ├── blog │ │ ├── (posts) │ │ │ ├── 0-1-0-the-big-reset │ │ │ │ └── page.mdx │ │ │ └── layout.tsx │ │ └── page.tsx │ ├── code-theme.css │ ├── components │ │ ├── ApiBlocks.tsx │ │ ├── BaseEditor.client.tsx │ │ ├── BaseEditor.tsx │ │ ├── Blogpost.tsx │ │ ├── Body.tsx │ │ ├── CodeBlock.tsx │ │ ├── CopyCode.tsx │ │ ├── Enums.tsx │ │ ├── HighlightMatches.tsx │ │ ├── Markdown.tsx │ │ ├── Outline.tsx │ │ ├── PackageJson.tsx │ │ ├── Search.tsx │ │ ├── Sidebar.tsx │ │ ├── Table.tsx │ │ ├── Tabs.client.tsx │ │ ├── Tabs.tsx │ │ ├── TypeTooltip.tsx │ │ ├── tags.tsx │ │ └── withClient.tsx │ ├── examples │ │ ├── editors │ │ │ ├── Basic.tsx │ │ │ ├── Picker.tsx │ │ │ └── Scrollbars.tsx │ │ └── page.mdx │ ├── getMetadata.ts │ ├── getting-started │ │ └── page.mdx │ ├── globals.css │ ├── interactivity │ │ ├── Api.tsx │ │ └── page.mdx │ ├── layout-engine │ │ ├── Api.tsx │ │ └── page.mdx │ ├── layout.tsx │ ├── math-library │ │ ├── Api.tsx │ │ └── page.mdx │ ├── og │ │ └── route.tsx │ ├── page.mdx │ ├── renderer │ │ ├── Api.tsx │ │ └── page.mdx │ ├── roadmap │ │ └── page.mdx │ ├── search │ │ └── route.tsx │ ├── styling │ │ ├── Api.tsx │ │ └── page.mdx │ └── text-rendering │ │ ├── Api.tsx │ │ └── page.mdx ├── bun.lockb ├── index.d.ts ├── mdx-components.tsx ├── next-env.d.ts ├── next.config.mjs ├── package.json ├── postcss.config.js ├── public │ ├── Inter-Regular.otf │ ├── Inter-SemiBold.otf │ ├── Inter.ttf │ ├── avatar.jpeg │ ├── blog │ │ └── 0.1.0.png │ ├── favicon.ico │ └── logo.svg ├── remarkTypography.mjs ├── remarkUniqueIds.mjs ├── scripts │ └── extractTypeScript.ts ├── tailwind.config.js ├── tsconfig.json └── yarn.lock ├── examples ├── gamePicker.ts ├── index.html ├── main.ts ├── measure.ts ├── public │ ├── ComicNeue-Bold.ttf │ ├── Inter-Bold.ttf │ ├── Inter-SemiBold.ttf │ ├── Inter.ttf │ ├── JetBrainsMono-Regular.ttf │ ├── Lora-Regular.ttf │ └── Rubik-Regular.ttf └── ui.ts ├── package.json ├── src ├── EventManager.ts ├── UIRenderer.ts ├── consts.ts ├── fixtures.ts ├── font │ ├── BinaryReader.ts │ ├── calculateGlyphQuads.ts │ ├── generateGlyphToClassMap.ts │ ├── generateKerningFunction.ts │ ├── parseTTF.ts │ ├── prepareLookups.ts │ ├── renderFontAtlas.ts │ ├── shapeText.test.ts │ ├── shapeText.ts │ ├── toSDF.ts │ └── types.ts ├── hitTest.ts ├── index.ts ├── layout │ ├── BaseView.ts │ ├── Node.ts │ ├── Text.ts │ ├── View.ts │ ├── compose.ts │ ├── eventTypes.ts │ ├── layout.test.ts │ ├── layout.ts │ ├── paint.test.ts │ ├── paint.ts │ └── styling.ts ├── math │ ├── Mat4.test.ts │ ├── Mat4.ts │ ├── Vec2.ts │ ├── Vec3.ts │ ├── Vec4.ts │ ├── packShelves.test.ts │ ├── packShelves.ts │ ├── triangulateLine.ts │ ├── triangulatePolygon.test.ts │ ├── triangulatePolygon.ts │ └── utils.ts ├── renderer │ ├── CanvasRenderer.ts │ ├── Renderer.ts │ ├── WebGLRenderer.ts │ └── WebGPURenderer.ts ├── utils │ ├── LRUCache.ts │ ├── Queue.test.ts │ ├── Queue.ts │ ├── Tree.test.ts │ ├── Tree.ts │ ├── createTextureFromBitmap.ts │ ├── getByTestId.ts │ ├── invariant.ts │ ├── parseColor.test.ts │ └── parseColor.ts └── widgets │ ├── Button.ts │ ├── Input.ts │ ├── colors.ts │ ├── updateSelection.ts │ └── updateText.ts ├── test.html ├── tsconfig.build.json ├── tsconfig.json ├── vercel.json ├── vite.config.ts └── vitest.config.ts /.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.eslintrc.cjs -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.npmignore -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 100 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/LICENSE -------------------------------------------------------------------------------- /MAINTAINERS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/MAINTAINERS.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/README.md -------------------------------------------------------------------------------- /assets/interTTF.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/assets/interTTF.json -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/bun.lockb -------------------------------------------------------------------------------- /docs/.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/.eslintrc.cjs -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | .next 2 | app/types.json 3 | node_modules/ 4 | tsconfig.tsbuildinfo 5 | -------------------------------------------------------------------------------- /docs/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/.prettierrc -------------------------------------------------------------------------------- /docs/app/blog/(posts)/0-1-0-the-big-reset/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/blog/(posts)/0-1-0-the-big-reset/page.mdx -------------------------------------------------------------------------------- /docs/app/blog/(posts)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/blog/(posts)/layout.tsx -------------------------------------------------------------------------------- /docs/app/blog/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/blog/page.tsx -------------------------------------------------------------------------------- /docs/app/code-theme.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/code-theme.css -------------------------------------------------------------------------------- /docs/app/components/ApiBlocks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/ApiBlocks.tsx -------------------------------------------------------------------------------- /docs/app/components/BaseEditor.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/BaseEditor.client.tsx -------------------------------------------------------------------------------- /docs/app/components/BaseEditor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/BaseEditor.tsx -------------------------------------------------------------------------------- /docs/app/components/Blogpost.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Blogpost.tsx -------------------------------------------------------------------------------- /docs/app/components/Body.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Body.tsx -------------------------------------------------------------------------------- /docs/app/components/CodeBlock.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/CodeBlock.tsx -------------------------------------------------------------------------------- /docs/app/components/CopyCode.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/CopyCode.tsx -------------------------------------------------------------------------------- /docs/app/components/Enums.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Enums.tsx -------------------------------------------------------------------------------- /docs/app/components/HighlightMatches.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/HighlightMatches.tsx -------------------------------------------------------------------------------- /docs/app/components/Markdown.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Markdown.tsx -------------------------------------------------------------------------------- /docs/app/components/Outline.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Outline.tsx -------------------------------------------------------------------------------- /docs/app/components/PackageJson.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/PackageJson.tsx -------------------------------------------------------------------------------- /docs/app/components/Search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Search.tsx -------------------------------------------------------------------------------- /docs/app/components/Sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Sidebar.tsx -------------------------------------------------------------------------------- /docs/app/components/Table.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Table.tsx -------------------------------------------------------------------------------- /docs/app/components/Tabs.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Tabs.client.tsx -------------------------------------------------------------------------------- /docs/app/components/Tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/Tabs.tsx -------------------------------------------------------------------------------- /docs/app/components/TypeTooltip.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/TypeTooltip.tsx -------------------------------------------------------------------------------- /docs/app/components/tags.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/tags.tsx -------------------------------------------------------------------------------- /docs/app/components/withClient.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/components/withClient.tsx -------------------------------------------------------------------------------- /docs/app/examples/editors/Basic.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/examples/editors/Basic.tsx -------------------------------------------------------------------------------- /docs/app/examples/editors/Picker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/examples/editors/Picker.tsx -------------------------------------------------------------------------------- /docs/app/examples/editors/Scrollbars.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/examples/editors/Scrollbars.tsx -------------------------------------------------------------------------------- /docs/app/examples/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/examples/page.mdx -------------------------------------------------------------------------------- /docs/app/getMetadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/getMetadata.ts -------------------------------------------------------------------------------- /docs/app/getting-started/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/getting-started/page.mdx -------------------------------------------------------------------------------- /docs/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/globals.css -------------------------------------------------------------------------------- /docs/app/interactivity/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/interactivity/Api.tsx -------------------------------------------------------------------------------- /docs/app/interactivity/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/interactivity/page.mdx -------------------------------------------------------------------------------- /docs/app/layout-engine/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/layout-engine/Api.tsx -------------------------------------------------------------------------------- /docs/app/layout-engine/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/layout-engine/page.mdx -------------------------------------------------------------------------------- /docs/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/layout.tsx -------------------------------------------------------------------------------- /docs/app/math-library/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/math-library/Api.tsx -------------------------------------------------------------------------------- /docs/app/math-library/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/math-library/page.mdx -------------------------------------------------------------------------------- /docs/app/og/route.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/og/route.tsx -------------------------------------------------------------------------------- /docs/app/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/page.mdx -------------------------------------------------------------------------------- /docs/app/renderer/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/renderer/Api.tsx -------------------------------------------------------------------------------- /docs/app/renderer/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/renderer/page.mdx -------------------------------------------------------------------------------- /docs/app/roadmap/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/roadmap/page.mdx -------------------------------------------------------------------------------- /docs/app/search/route.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/search/route.tsx -------------------------------------------------------------------------------- /docs/app/styling/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/styling/Api.tsx -------------------------------------------------------------------------------- /docs/app/styling/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/styling/page.mdx -------------------------------------------------------------------------------- /docs/app/text-rendering/Api.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/text-rendering/Api.tsx -------------------------------------------------------------------------------- /docs/app/text-rendering/page.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/app/text-rendering/page.mdx -------------------------------------------------------------------------------- /docs/bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/bun.lockb -------------------------------------------------------------------------------- /docs/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/index.d.ts -------------------------------------------------------------------------------- /docs/mdx-components.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/mdx-components.tsx -------------------------------------------------------------------------------- /docs/next-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/next-env.d.ts -------------------------------------------------------------------------------- /docs/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/next.config.mjs -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/postcss.config.js -------------------------------------------------------------------------------- /docs/public/Inter-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/Inter-Regular.otf -------------------------------------------------------------------------------- /docs/public/Inter-SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/Inter-SemiBold.otf -------------------------------------------------------------------------------- /docs/public/Inter.ttf: -------------------------------------------------------------------------------- 1 | ../../public/Inter.ttf -------------------------------------------------------------------------------- /docs/public/avatar.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/avatar.jpeg -------------------------------------------------------------------------------- /docs/public/blog/0.1.0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/blog/0.1.0.png -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/public/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/public/logo.svg -------------------------------------------------------------------------------- /docs/remarkTypography.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/remarkTypography.mjs -------------------------------------------------------------------------------- /docs/remarkUniqueIds.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/remarkUniqueIds.mjs -------------------------------------------------------------------------------- /docs/scripts/extractTypeScript.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/scripts/extractTypeScript.ts -------------------------------------------------------------------------------- /docs/tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/tailwind.config.js -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /docs/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/docs/yarn.lock -------------------------------------------------------------------------------- /examples/gamePicker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/gamePicker.ts -------------------------------------------------------------------------------- /examples/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/index.html -------------------------------------------------------------------------------- /examples/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/main.ts -------------------------------------------------------------------------------- /examples/measure.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/measure.ts -------------------------------------------------------------------------------- /examples/public/ComicNeue-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/ComicNeue-Bold.ttf -------------------------------------------------------------------------------- /examples/public/Inter-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/Inter-Bold.ttf -------------------------------------------------------------------------------- /examples/public/Inter-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/Inter-SemiBold.ttf -------------------------------------------------------------------------------- /examples/public/Inter.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/Inter.ttf -------------------------------------------------------------------------------- /examples/public/JetBrainsMono-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/JetBrainsMono-Regular.ttf -------------------------------------------------------------------------------- /examples/public/Lora-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/Lora-Regular.ttf -------------------------------------------------------------------------------- /examples/public/Rubik-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/public/Rubik-Regular.ttf -------------------------------------------------------------------------------- /examples/ui.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/examples/ui.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/package.json -------------------------------------------------------------------------------- /src/EventManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/EventManager.ts -------------------------------------------------------------------------------- /src/UIRenderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/UIRenderer.ts -------------------------------------------------------------------------------- /src/consts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/consts.ts -------------------------------------------------------------------------------- /src/fixtures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/fixtures.ts -------------------------------------------------------------------------------- /src/font/BinaryReader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/BinaryReader.ts -------------------------------------------------------------------------------- /src/font/calculateGlyphQuads.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/calculateGlyphQuads.ts -------------------------------------------------------------------------------- /src/font/generateGlyphToClassMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/generateGlyphToClassMap.ts -------------------------------------------------------------------------------- /src/font/generateKerningFunction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/generateKerningFunction.ts -------------------------------------------------------------------------------- /src/font/parseTTF.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/parseTTF.ts -------------------------------------------------------------------------------- /src/font/prepareLookups.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/prepareLookups.ts -------------------------------------------------------------------------------- /src/font/renderFontAtlas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/renderFontAtlas.ts -------------------------------------------------------------------------------- /src/font/shapeText.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/shapeText.test.ts -------------------------------------------------------------------------------- /src/font/shapeText.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/shapeText.ts -------------------------------------------------------------------------------- /src/font/toSDF.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/toSDF.ts -------------------------------------------------------------------------------- /src/font/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/font/types.ts -------------------------------------------------------------------------------- /src/hitTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/hitTest.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/layout/BaseView.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/BaseView.ts -------------------------------------------------------------------------------- /src/layout/Node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/Node.ts -------------------------------------------------------------------------------- /src/layout/Text.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/Text.ts -------------------------------------------------------------------------------- /src/layout/View.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/View.ts -------------------------------------------------------------------------------- /src/layout/compose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/compose.ts -------------------------------------------------------------------------------- /src/layout/eventTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/eventTypes.ts -------------------------------------------------------------------------------- /src/layout/layout.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/layout.test.ts -------------------------------------------------------------------------------- /src/layout/layout.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/layout.ts -------------------------------------------------------------------------------- /src/layout/paint.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/paint.test.ts -------------------------------------------------------------------------------- /src/layout/paint.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/paint.ts -------------------------------------------------------------------------------- /src/layout/styling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/layout/styling.ts -------------------------------------------------------------------------------- /src/math/Mat4.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/Mat4.test.ts -------------------------------------------------------------------------------- /src/math/Mat4.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/Mat4.ts -------------------------------------------------------------------------------- /src/math/Vec2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/Vec2.ts -------------------------------------------------------------------------------- /src/math/Vec3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/Vec3.ts -------------------------------------------------------------------------------- /src/math/Vec4.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/Vec4.ts -------------------------------------------------------------------------------- /src/math/packShelves.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/packShelves.test.ts -------------------------------------------------------------------------------- /src/math/packShelves.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/packShelves.ts -------------------------------------------------------------------------------- /src/math/triangulateLine.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/triangulateLine.ts -------------------------------------------------------------------------------- /src/math/triangulatePolygon.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/triangulatePolygon.test.ts -------------------------------------------------------------------------------- /src/math/triangulatePolygon.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/triangulatePolygon.ts -------------------------------------------------------------------------------- /src/math/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/math/utils.ts -------------------------------------------------------------------------------- /src/renderer/CanvasRenderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/renderer/CanvasRenderer.ts -------------------------------------------------------------------------------- /src/renderer/Renderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/renderer/Renderer.ts -------------------------------------------------------------------------------- /src/renderer/WebGLRenderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/renderer/WebGLRenderer.ts -------------------------------------------------------------------------------- /src/renderer/WebGPURenderer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/renderer/WebGPURenderer.ts -------------------------------------------------------------------------------- /src/utils/LRUCache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/LRUCache.ts -------------------------------------------------------------------------------- /src/utils/Queue.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/Queue.test.ts -------------------------------------------------------------------------------- /src/utils/Queue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/Queue.ts -------------------------------------------------------------------------------- /src/utils/Tree.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/Tree.test.ts -------------------------------------------------------------------------------- /src/utils/Tree.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/Tree.ts -------------------------------------------------------------------------------- /src/utils/createTextureFromBitmap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/createTextureFromBitmap.ts -------------------------------------------------------------------------------- /src/utils/getByTestId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/getByTestId.ts -------------------------------------------------------------------------------- /src/utils/invariant.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/invariant.ts -------------------------------------------------------------------------------- /src/utils/parseColor.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/parseColor.test.ts -------------------------------------------------------------------------------- /src/utils/parseColor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/utils/parseColor.ts -------------------------------------------------------------------------------- /src/widgets/Button.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/widgets/Button.ts -------------------------------------------------------------------------------- /src/widgets/Input.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/widgets/Input.ts -------------------------------------------------------------------------------- /src/widgets/colors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/widgets/colors.ts -------------------------------------------------------------------------------- /src/widgets/updateSelection.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/widgets/updateSelection.ts -------------------------------------------------------------------------------- /src/widgets/updateText.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/src/widgets/updateText.ts -------------------------------------------------------------------------------- /test.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/test.html -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/vercel.json -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/vite.config.ts -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tchayen/red-otter/HEAD/vitest.config.ts --------------------------------------------------------------------------------