| // 3D Dom viewer, copy-paste this into your console to visualise the DOM as a stack of solid blocks. | |
| // You can also minify and save it as a bookmarklet (https://www.freecodecamp.org/news/what-are-bookmarklets/) | |
| (() => { | |
| const SHOW_SIDES = false; // color sides of DOM nodes? | |
| const COLOR_SURFACE = true; // color tops of DOM nodes? | |
| const COLOR_RANDOM = false; // randomise color? | |
| const COLOR_HUE = 190; // hue in HSL (https://hslpicker.com) | |
| const MAX_ROTATION = 180; // set to 360 to rotate all the way round | |
| const THICKNESS = 20; // thickness of layers | |
| const DISTANCE = 10000; // ¯\\_(ツ)_/¯ |
| import { useWindowDimensions } from 'react-native' | |
| import { Gesture } from 'react-native-gesture-handler' | |
| import Animated, { | |
| Extrapolation, | |
| WithSpringConfig, | |
| interpolate, | |
| scrollTo, | |
| useAnimatedRef, | |
| useAnimatedScrollHandler, | |
| useAnimatedStyle, |
12th July, 2023. I'm going to try creating an iOS app called Paranovel, using Expo. My environment for mobile app dev (Xcode, Ruby, etc.) should be in reasonably good shape already as I frequently develop with React Native and NativeScript.
Go to https://docs.expo.dev, and see the Quick Start: npx create-expo-app paranovel
This runs with no problem, then I get this macOS system popup:
| type Props = { | |
| targetSize: [number, number]; | |
| color?: string; | |
| angle?: number; | |
| style?: ViewStyle; | |
| }; | |
| const SkewedBackground: React.FC<Props> = ({ | |
| targetSize, | |
| color: _color, |
The prerequisites you will need are having Xcode, the Xcode command line tools, Homebrew, and CMake. The command line tools can be installed by running xcode-select --install after installing Xcode itself, and CMake
can be installed through Homebrew by running brew install cmake.
Previously I had you clone Sappharad's fork of the Mania decompilation for you to do this. However, that hasn't been updated in a while, and I don't feel like bothering him enough to update it. Therefore, you can use my fork instead!
git clone --recursive https://github.com/MarioMastr/Sonic-Mania-Decompilation
| // Expo SDK40 | |
| // expo-blur: ~8.2.2 | |
| // expo-haptics: ~8.4.0 | |
| // react-native-gesture-handler: ~1.8.0 | |
| // react-native-reanimated: ^2.0.0-rc.0 | |
| // react-native-safe-area-context: 3.1.9 | |
| import React, { useState } from 'react'; | |
| import { | |
| Image, |
| import { DependencyList, useMemo } from "react"; | |
| import { | |
| ImageStyle, | |
| RegisteredStyle, | |
| StyleProp, | |
| StyleSheet, | |
| TextStyle, | |
| ViewStyle, | |
| } from "react-native"; |
In computing, memoization or memoisation
is an optimization technique used primarily
to speed up computer programs by storing
the results of expensive function calls and
returning the cached result when the same
inputs occur again.
— wikipedia